Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

BÀI TẬP LẬP TRÌNH ỨNG DỤNG CHO THIẾT

BỊ DI ĐỘNG
Biên soạn: ThS. Trần Hoài Hạnh
  

Chương 1: Tổng quan

Bài 1. Cài đặt JDK, Android studio, máy ảo.

Bài 2. Thao tác trên máy ảo


- Xem phiên bản Android của thiết bị
- Thay đổi hình nền của thiết bị
- Sử dụng trình gọi điện thoại, nhắn tin
- Thay đổi các thiết lập khác trong mục Settings
- Gỡ bỏ ứng dụng bất kỳ
- Xem xét các cài đặt trong mục Developer Options
- Thêm một mục mới vào danh bạ và gọi điện, nhắn tin.
- Chụp vài ảnh màn hình của thiết bị
- Sao chép file giữa thiết bị và máy tính
Bài 3. Kích hoạt chế độ Developer cho smartphone của bạn. Cài đặt driver cho
smartphone.

Bài 4. Tạo một ứng dụng hiển thị dòng chữ “Hello world”, đặt tên project là MyApp1
a. Chạy thử ứng dụng trên trình giả lập
b. Chạy thử ứng dụng trên thiết bị thật
Bài 5. Sử dụng project MyApp1:
a. Tạo mới một color resource tên mycolor với giá trị #00FF00. Sử dụng
mycolor làm giá trị của thuộc tính textColor cho dòng chữ “Hello world”.
b. Tạo mới một dimension resource với giá trị 22pt tên mydim và dùng làm
giá trị cho thuộc tính textSize của dòng chữ “Hello word”
c. Thử thay đổi giá trị của mydim thành 22px, 22dp, 22sp và xem kết quả
trên nhiều thiết bị với độ phân giải màn hình khác nhau.
d. Thêm một hình ảnh vào resource, dùng hình ảnh đó hiển thị trong ứng
dụng với đối tượng ImageView

1
Bài 6: ÔN TẬP LẬP TRÌNH JAVA
1. Nghiên cứu về LogCat trong android. In ra họ tên, năm sinh của bạn trong TAG
“JAVA”.
2. Khai báo và gán cho biến tháng, năm 1 giá trị bất kỳ. In ra trong TAG “JAVA”
ngày tương ứng với tháng đó.
3. Khai báo và gán cho biến n một số bất kỳ. Xây dựng hàm kiểm tra xem số n có phải
là số nguyên tố không.
4. Khai báo và gán cho giá trị cho mảng a với những giá trị bất kỳ kiểu số thực. Xây
dựng hàm sắp xếp mảng a theo thứ tự tăng dần.
5. Khai báo ArrayList danh sách các ngôn ngữ lập trình. Nhập và hiển thị danh sách
các ngôn ngữ đã nhập.

2
Chương 2: Các Activity, Fragment và Intent

Bài 1: Viết chương trình minh họa vòng đời Activity.


Hướng dẫn:
Tạo Project mới. Trong MainActiviy, tiến hành Override các hàm
onStart, onResume, onPause, onStop, onDestroy, onRestart; trong mỗi hàm này
dùng câu lệnh Toast để hiển thị tên hàm được thực thi.
Bài 2. Viết chương trình di chuyển qua lại giữa 2 màn hình như sau:

Bài 3. Viết chương trình thực hiện các chức năng như hình vẽ sau:

Bài 4. Tạo 2 fragment 1, 2 và gọi chúng trong màn hình chính như hình sau:
3
BÀI 5: Chọn Layout là LinearLayout thiết kế như sau:

4
Bài 6: Sử dụng LinearLayout thiết kế giao diện sau:

Bài 7: Chọn layout là FrameLayout, thiết kế như sau

5
Bài 8: Sử dụng TableLayout thiết kế giao diện như sau:

Bài 9: Sử dụng Margin và Padding trong thiết kế:

6
Bài 10: Sử dụng RealativeLayout thiết kế hình như sau:

Hình a Hình b

7
Hình c Hình d

8
Chương 3: Xây dựng giao diện người dùng

Bài 1: Thiết kế giao diện và viết code điều khiển các chức năng như hình sau:

Bài 2: Thiết kế giao diện và viết code điều khiển các chức năng như hình sau:

Hướng dẫn:

Chuyển từ 37°C tới F : 37°C x 9/5 + 32 = 98.6°F


Chuyển từ 98.6°F tới C : (98.6°F - 32) x 5/9 = 37°C

9
Bài 3: Thiết kế giao diện và viết code điều khiển các chức năng như hình sau:

Bài 4: Viết chương trình đổi năm Dương lịch qua năm âm lịch (Năm dương lịch
chỉ được nhập số >= 1900)

Hướng dẫn
Năm Âm = Can + Chi;
Can = Năm dương % 10

Chi = Năm dương % 12

10
String can,chi;
switch(namduong%10){
//lấy can trong này dựa vào bảng số 1
}
switch(namduong%12){
//lấy chi trong này dựa vào bảng số 2
}
Ghép can và chi ta được năm âm lịch
Bài 5: Thiết kế giao diện và viết chương trình như hình bên dưới:

Yêu cầu:
- Khi người dùng bấm nút Đăng nhập:
+ Nếu người dùng checked vào Lưu thông tin thì Toast thông báo “đăng nhập
thành công; thông tin đã được lưu”
+ Nếu người dùng unchecked vào Lưu thông tin thì Toast thông báo “đăng nhập
thành công; thông tin không lưu lại cho lần sau”
- Khi người dùng bấm nút thoát, chương trình sẽ hiển thị Alert Dialog như sau:

11
Khi chọn Yes thì ứng dụng sẽ được đóng.
Bài 6: Thiết kế giao diện và thực hiện các chức năng như hình:

Yêu cầu:
- Tên người không được để trống và phải có ít nhất 3 ký tự
- Chứng minh nhân dân chỉ được nhập kiểu số và phải có đúng 9 chữ số
- Bằng cấp mặc định sẽ chọn là Đại học
- Sở thích phải chọn ít nhất 1 chọn lựa
- Thông tin bổ sung có thể để trống
- Khi bấm gửi thông tin, chương trình sẽ hiển thị toàn bộ thông tin cá nhân cho
người sử dụng biết (dùng Alert Dialog):

12
Bài 7:
Viết chương trình tính tiền bán sách online, thiết kế giao diện như hình bên dưới
và thực hiện các chức năng theo yêu cầu (chú ý dùng Scroll View vì giao diện
có kích thước dài hơn chiều cao của màn hình):

Dùng chức năng ScrollView lên phía trên để thấy thêm được dòng tiêu đề bị che
khuất như bên dưới:

Yêu cầu:
13
- Khi bấm nút Tính Thành Tiền (Tính TT) chương trình sẽ tính thành tiền
biết rằng mỗi cuốn sách có đơn giá là 20000, nếu là khách hàng VIP thì
giảm 10%
- Khi bấm nút Tiếp, chương trình sẽ lưu thông tin hóa đơn vừa tính Thành
Tiền vào danh sách, đồng thời xóa trắng dữ liệu trong hóa đơn và cho
focus tới EditText Tên khách hàng
- Khi bấm nút Thống kê, chương trình sẽ hiển thị thông tin vào mục Thông
tin thống kê: tổng số KH, tổng số KH VIP và tổng doanh thu
- Khi bấm vào nút thoát (dùng ImageButton): hiển thị AlertDialog hỏi xem
người sử dụng có chắc chắn muốn thoát hay không?
Gợi ý:
- Kết hợp ScrollView (để ở ngoài cùng), LinearLayout và TableLayout
- Dùng List hoặc ArrayList để lưu lại thông tin mỗi lần bấm nút Tính
Thành Tiền, mục đích để phục vụ cho chức năng thống kê.

Bài 8: Thiết kế giao diện như hình:

Yêu cầu:
- Khi click chuột vào từng phần tử trên ListView, sẽ hiển thị vị trí và giá trị
phần từ được click vào TextView có màu xanh dương bên trên.

Bài 9: Thiết kế giao diện như hình:

14
Yêu cầu:

- Mỗi lần người sử dụng chọn nút Nhập, chương trình sẽ lưu dữ liệu trong mục
Nhập tên vào ArrayList đồng thời cập nhập danh sách vào ListView

- Khi chọn từng phần tử trong ListView, chương trình sẽ hiển thị vị trí và giá trị
của phần tử đang chọn vào TextView màu xanh

Bài 10: Thiết kế giao diện và thực hiện chức năng như hình:

Bài 11: Viết ứng dụng trình diễn hình ảnh như sau (sử dụng GridView)

15
Khi chọn từng hình ảnh trong GridView thì sẽ mở một màn hình mới để hiển thị
thông tin chi tiết của hình đang chọn (ví dụ chọn hình chú Cừu):

Chọn nút Back để trở về màn hình chính

16
Chương 4: Lưu trữ dữ liệu

Bài 1: Viết chương trình cho phép đọc / ghi một TextFile bất kỳ từ ứng dụng:

- Khi bấm Write Data, chương trình sẽ lưu toàn bộ thông tin trong EditText
xuống tập tin

- Khi bấm Read Data, chương trình sẽ đọc thông tin từ tập tin và hiển thị lên
EditText

Bài 2:

Viết ứng dụng với giao diện giống hình dưới đây:

Yêu cầu thực hiện:


17
- Khi người sử dụng chọn Đăng nhập thì đóng ứng dụng này lại. Chú ý nếu
checkbox Lưu thông tin được checked thì chương trình sẽ lưu toàn bộ
thông tin (user, password). Nếu checked =false thì xóa toàn bộ thông tin
lưu trước đó.
- Khi khởi động lại ứng dụng, chương trình sẽ tìm xem thông tin có được
lưu hay không, nếu có lưu thì hiển thị lại lên màn hình cho người sử dụng

Bài 3: Viết ứng dụng dạng PreferenceActivity có giao diện như bên dưới:

Khi bấm Start my Setting sẽ hiển thị màn hình Setting:

- Nếu checked màn hình chính sẽ có màu đỏ


- Nếu unchecked màn hình chính sẽ có màu xanh

18
Chú ý là màn hình chính phải đăng ký Share Preferences Listener thì mới tự
động bắt được những sự thay đổi trong Setting Activity

Bài 4:

Viết chương trình quản lý sách được mô tả như sau:

- Một tác giả sẽ có nhiều cuốn sách, thông tin tác giả gồm: mã , tên
- Mỗi cuốn sách thuộc về một nhà tác giả nào đó, thông tin mỗi cuốn sách
gồm: mã sách, tên sách, ngày xuất bản
- Hãy chọn kiểu dữ liệu hợp lý để tạo cơ sở dữ liệu (sử dụng SQLite) cho
đúng với mô tả trên

Thiết kế giao diện như hình bên dưới:

- Phải tạo Tác giả trước khi vào chức năng quản lý Sách

- Khi chọn chức năng thêm Tác giả, chương trình sẽ xuất hiện màn hình dưới
đây (chú ý mở dưới dạng Dialog):

19
o Chọn “Lưu tác giả” để lưu, chọn xóa trắng để xóa dữ liệu vừa nhập, focus tới
mã.

- Khi chọn “xem danh sách Tác giả”, chương trình sẽ mở một màn hình mới để
hiển thị danh sách Tác giả đã tạo – chú ý dùng CustomLayout cho ListView:

- Khi chọn từng tác giả trong danh sách, sẽ hiển thị màn hình cho phép chỉnh
sửa tác giả:

Chọn Update để cập nhật lại Tác giả

- Khi nhấn Thật Lâu (Long time) vào từng tác giả trong danh sách, chương
trình sẽ hiển thị Alert Dialog hỏi xem có muốn xóa Tác giả này hay không?

20
o Chọn Có để xóa tác giả hiện tại,

o Chọn Không để trở về màn hình xem danh sách

- Khi chọn chức năng “quản lý sách” ở màn hình chính chương trình sẽ hiển
thị:

o Load danh sách Tác giả vào Spinner

o Sử dụng DatePickerDialog để chọ ngày xuất bản

o Chọn “Thêm sách” lưu vào CSDL đúng với tác giả chọn trong Spinner,
đồng thời cập nhập vào ListView bên dưới.

Chương 5: Lập trình mạng


21
Bài 1:

Viết ứng dụng cho phép hiển thị một hình ảnh bất kỳ từ internet như sau:

Yêu cầu:

- Dùng AsyncTask để load hình ảnh về điện thoại

- Bổ sung thêm 1 Progressbar để load hình ảnh về.

Bài 2:

Viết chương trình cho phép kiểm tra tình trạng mạng của thiết bị di động
Android, giao diện như hình bên dưới: (Dùng AsyncTask)

Bài 3:

22
Viết chương trình cho phép kích hoạt Camera và chụp một hình ảnh từ Camera
rồi lưu vào SD Card, xem giao diện minh họa:

- Khi chọn View Camera, sẽ cho phép kích hoạt Camera

- Khi chọn take Photo sẽ cho phép chụp hình ảnh hiện tại trong Camera và lưu
vào thẻ.

23

You might also like