wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

TBDĐ chương 4

Total questions: 94

Worksheet time: 47mins

Name
Class
Date
1.
Lập trình giao diện người dùng mức cao trong Android là gì?
a)
Tạo UI bằng XML
b)
Tạo UI bằng mã C++
c)
Lập trình hệ thống
d)
Dùng lệnh shell
2.
Có mấy cách lập trình giao diện trong Android?
a)
1
b)
2
c)
3
d)
4
3.
Cách lập trình giao diện phổ biến nhất trong Android là gì?
a)
Bằng XML
b)
Bằng Java
c)
Bằng Python
d)
Bằng C#
4.
Có thể kết hợp cả XML và Java trong thiết kế giao diện Android không?
a)
b)
Không
c)
Chỉ Java
d)
Chỉ XML
5.
LinearLayout sắp xếp các phần tử con theo hướng nào?
a)
Ngang hoặc dọc
b)
Chéo
c)
Ngẫu nhiên
d)
Lưới
6.
RelativeLayout sắp xếp phần tử dựa trên điều gì?
a)
Quan hệ giữa các View
b)
Tọa độ tuyệt đối
c)
Vị trí con trỏ
d)
Kích thước file
7.
FrameLayout dùng để làm gì?
a)
Chồng nhiều View lên nhau
b)
Hiển thị danh sách
c)
Vẽ bảng
d)
Sắp xếp cột hàng
8.
TableLayout dùng để bố trí theo cấu trúc nào?
a)
Dòng và cột
b)
Hàng ngang
c)
Lưới vuông
d)
Trục tọa độ
9.
AbsoluteLayout có đặc điểm gì?
a)
Định vị theo tọa độ tuyệt đối
b)
Tự động căn chỉnh
c)
Linh hoạt kích thước
d)
Tương thích tốt
10.
ScrollView dùng để làm gì?
a)
Cuộn nội dung vượt quá màn hình
b)
Tự động phóng to
c)
Tạo bảng
d)
Ẩn nội dung
11.
Layout nào được mặc định khi tạo project mới trong Android Studio?
a)
ConstraintLayout
b)
LinearLayout
c)
RelativeLayout
d)
FrameLayout
12.
Tại sao ConstraintLayout được chọn làm mặc định?
a)
Hiển thị linh hoạt trên nhiều màn hình
b)
Dễ vẽ hơn
c)
Đơn giản hơn LinearLayout
d)
Do Google chọn ngẫu nhiên
13.
Có thể lồng nhiều Layout trong cùng giao diện không?
a)
b)
Không
c)
Chỉ 1
d)
Tùy phiên bản
14.
Trong LinearLayout, thuộc tính nào xác định hướng sắp xếp?
a)
android:orientation
b)
android:direction
c)
android:align
d)
android:axis
15.
Layout nào hiển thị ổn định nhất trên nhiều kích thước màn hình?
a)
RelativeLayout
b)
FrameLayout
c)
AbsoluteLayout
d)
TableLayout
16.
Gốc tọa độ (0,0) trong Android nằm ở đâu?
a)
Góc trên bên trái
b)
Góc dưới bên trái
c)
Giữa màn hình
d)
Góc trên bên phải
17.
Trục X trong Android tăng theo hướng nào?
a)
Trái sang phải
b)
Phải sang trái
c)
Trên xuống dưới
d)
Dưới lên trên
18.
Đơn vị đo phổ biến trong thiết kế giao diện Android là gì?
a)
dp và sp
b)
px và in
c)
mm và cm
d)
inch và pixel
19.
Vì sao nên dùng đơn vị dp thay vì px?
a)
Đảm bảo hiển thị đồng đều trên mọi thiết bị
b)
Giảm kích thước file
c)
Nhanh hơn
d)
Do Google yêu cầu
20.
Công thức chuyển đổi giữa dp và px là gì?
a)
px = dp × (dpi / 160)
b)
dp = px × 160
c)
px = dp × dpi
d)
dp = dpi / px
21.
sp được dùng để đo kích thước gì?
a)
Chữ (Text)
b)
Ảnh
c)
Lề
d)
Khoảng cách
22.
Vì sao nên dùng sp cho văn bản?
a)
Tự động thay đổi theo cỡ chữ hệ thống
b)
Dễ căn chỉnh
c)
Tốc độ nhanh
d)
Giảm lỗi
23.
Android chia độ phân giải màn hình thành mấy loại chính?
a)
4
b)
5
c)
6
d)
3
24.
Độ phân giải mdpi tương ứng với bao nhiêu dpi?
a)
160
b)
240
c)
320
d)
480
25.
Thành phần TableRow dùng để làm gì?
a)
Tạo hàng trong TableLayout
b)
Tạo cột
c)
Định dạng font
d)
Chọn màu
26.
Context Menu được kích hoạt bằng thao tác nào?
a)
Nhấn giữ (Long click)
b)
Nhấn đôi
c)
Vuốt
d)
Bấm phím Menu
27.
Context Menu khác Options Menu ở điểm nào?
a)
Chỉ hiện khi nhấn giữ đối tượng
b)
Luôn hiển thị
c)
Dùng cho toàn ứng dụng
d)
Không chứa item
28.
Có mấy loại menu chính trong Android?
a)
3
b)
4
c)
2
d)
5
29.
Loại menu nào hiển thị khi nhấn vào nút ba chấm?
a)
Options Menu
b)
Context Menu
c)
Popup Menu
d)
System Menu
30.
Để nạp menu từ XML, ta dùng phương thức nào?
a)
getMenuInflater().inflate()
b)
addMenu()
c)
createMenu()
d)
showMenu()
31.
Adapter có vai trò gì trong ListView/Spinner?
a)
Cầu nối giữa dữ liệu và View hiển thị
b)
Lưu file
c)
Tạo Activity
d)
Hiển thị Toast
32.
Loại Adapter phổ biến dùng với ListView là gì?
a)
ArrayAdapter
b)
FileAdapter
c)
DataAdapter
d)
ObjectAdapter
33.
ScrollView có thể chứa bao nhiêu phần tử con trực tiếp?
a)
1
b)
2
c)
Không giới hạn
d)
10
34.
RadioGroup có tác dụng gì?
a)
Gom nhóm RadioButton để chỉ chọn 1
b)
Hiển thị danh sách
c)
Tạo checkbox
d)
Tạo menu
35.
Sự kiện nhấn nút trong Android xử lý bằng phương thức nào?
a)
setOnClickListener()
b)
setEventClick()
c)
clickHandler()
d)
addClick()
36.
Phương thức hiển thị giao diện trong Activity là gì?
a)
setContentView()
b)
showUI()
c)
loadXML()
d)
displayView()
37.
File layout giao diện thường đặt ở đâu?
a)
res/layout
b)
src
c)
assets
d)
values
38.
Hệ tọa độ trong Android có trục Y tăng theo hướng nào?
a)
Từ trên xuống
b)
Từ dưới lên
c)
Trái sang phải
d)
Phải sang trái
39.
Đơn vị đo dp được khuyến khích dùng vì lý do gì?
a)
Giúp UI hiển thị đồng đều trên các độ phân giải
b)
Dễ đọc
c)
Dễ code
d)
Dễ chuyển đổi
40.
Công thức tính ppi (mật độ điểm ảnh) là gì?
a)
√(w² + h²) / kích thước màn hình (inch)
b)
(w+h)/inch
c)
w×h×inch
d)
√(w+h)
41.
Để tạo Context Menu, phương thức nào được dùng?
a)
registerForContextMenu()
b)
enableMenu()
c)
setContextMenu()
d)
addMenu()
42.
File menu XML thường được lưu trong thư mục nào?
a)
res/menu
b)
res/layout
c)
src
d)
values
43.
Khi xử lý sự kiện click, cần gọi hàm nào?
a)
onClick()
b)
onTouch()
c)
onMove()
d)
onAction()
44.
Trong XML, thuộc tính nào quy định chiều rộng View?
a)
android:layout_width
b)
android:width
c)
layout_size
d)
width
45.
ViewGroup là gì?
a)
Thành phần chứa các View con
b)
Widget nhập liệu
c)
Thẻ định dạng văn bản
d)
Thành phần đồ họa 2D
46.
View là gì trong Android?
a)
Thành phần giao diện cơ bản (nút, text, ảnh...)
b)
File cấu hình
c)
Thành phần hệ thống
d)
API cấp thấp
47.
Khi người dùng cuộn nội dung vượt chiều cao màn hình, cần dùng Layout nào?
a)
ScrollView
b)
FrameLayout
c)
LinearLayout
d)
TableLayout
48.
Trong XML, thuộc tính nào xác định chiều cao của View?
a)
android:layout_height
b)
android:height
c)
layout_top
d)
view_height
49.
Action Bar trong Android là gì?
a)
Thanh tiêu đề và chứa các hành động chính của ứng dụng
b)
Thanh cuộn
c)
Menu ngữ cảnh
d)
Thanh trạng thái
50.
Action Bar thường nằm ở vị trí nào trên giao diện?
a)
Phía trên cùng của màn hình
b)
Phía dưới
c)
Giữa màn hình
d)
Bên phải
51.
Thành phần nào thay thế Action Bar trong các phiên bản Android mới?
a)
Toolbar
b)
MenuBar
c)
HeaderView
d)
TopLayout
52.
Để thêm nút menu vào Action Bar, cần ghi đè phương thức nào?
a)
onCreateOptionsMenu()
b)
onCreateMenuBar()
c)
onActionMenu()
d)
addAction()
53.
Khi người dùng chọn một mục trong menu, phương thức nào được gọi?
a)
onOptionsItemSelected()
b)
onItemClick()
c)
onMenuClick()
d)
onActionClick()
54.
Popup Menu hiển thị khi nào?
a)
Khi nhấn vào một nút cụ thể
b)
Khi cuộn
c)
Khi giữ lâu
d)
Khi vuốt
55.
Lệnh tạo Popup Menu trong Java là gì?
a)
new PopupMenu(context, view)
b)
createMenu()
c)
setMenuPopup()
d)
startPopup()
56.
ScrollView chỉ cuộn theo hướng nào?
a)
Dọc (vertical)
b)
Ngang
c)
Cả hai
d)
Không cuộn
57.
Để cuộn ngang trong Android, ta sử dụng thành phần nào?
a)
HorizontalScrollView
b)
ScrollView
c)
FrameLayout
d)
LinearScrollView
58.
Khi thay đổi hướng màn hình (ngang/dọc), Android xử lý như thế nào?
a)
Gọi lại onCreate() để vẽ lại giao diện
b)
Không thay đổi
c)
Tự động xoay phần tử
d)
Xóa dữ liệu
59.
File layout riêng cho chế độ ngang được đặt ở đâu?
a)
res/layout-land
b)
res/layout-h
c)
res/landscape
d)
res/layout-wide
60.
File layout cho chế độ dọc được đặt ở đâu?
a)
res/layout-port
b)
res/layout-v
c)
res/portrait
d)
res/layout-long
61.
Gravity trong Android quy định điều gì?
a)
Căn chỉnh nội dung bên trong View
b)
Khoảng cách giữa View
c)
Vị trí trong Layout
d)
Màu sắc
62.
Padding là gì trong Android?
a)
Khoảng cách từ nội dung đến viền View
b)
Khoảng cách giữa hai View
c)
Kích thước font
d)
Viền ngoài
63.
Margin là gì trong Android?
a)
Khoảng cách giữa viền View và phần tử khác
b)
Khoảng cách bên trong
c)
Kích thước text
d)
Viền trong
64.
Sự khác nhau giữa padding và margin là gì?
a)
Padding là bên trong, Margin là bên ngoài
b)
Padding là bên ngoài, Margin là bên trong
c)
Cả hai giống nhau
d)
Margin cố định hơn
65.
Trong LinearLayout, thuộc tính “layout_weight” có tác dụng gì?
a)
Chia tỷ lệ không gian giữa các phần tử con
b)
Đặt độ dày đường viền
c)
Xác định hướng cuộn
d)
Chọn font chữ
66.
Nếu tổng trọng số (weightSum) = 1 và phần tử có weight=0.5, nó chiếm bao nhiêu phần không gian?
a)
0.5
b)
0.25
c)
0.75
d)
1
67.
Khi kết hợp nhiều Layout lồng nhau, điều gì nên tránh?
a)
Lồng quá sâu gây giảm hiệu năng
b)
Dùng nhiều màu sắc
c)
Dùng padding lớn
d)
Thiếu thuộc tính id
68.
Khi thiết bị có nhiều độ phân giải, ta nên tạo giao diện bằng cách nào?
a)
Dùng resource qualifiers (layout-hdpi, layout-xhdpi, …)
b)
Dùng AbsoluteLayout
c)
Cố định kích thước px
d)
Dùng 1 layout duy nhất
69.
Drawable trong Android là gì?
a)
Tài nguyên hình ảnh có thể vẽ được
b)
Tệp âm thanh
c)
Tập tin cấu hình
d)
Widget
70.
Các loại Drawable phổ biến là gì?
a)
Bitmap, Shape, StateList, Layer
b)
Audio, Video
c)
Font, File
d)
Layout, Menu
71.
StateList Drawable dùng để làm gì?
a)
Thay đổi hình ảnh theo trạng thái (bấm, hover…)
b)
Tạo viền cho text
c)
Tạo layout
d)
Lưu dữ liệu
72.
Khi xử lý sự kiện chạm (Touch Event), phương thức nào được sử dụng?
a)
onTouchEvent()
b)
onClick()
c)
onTouchListener()
d)
onHover()
73.
Sự kiện chạm gồm những loại chính nào?
a)
ACTION_DOWN, ACTION_MOVE, ACTION_UP
b)
PRESS, DRAG, SCROLL
c)
TAP, LONGPRESS
d)
HOVER, EXIT
74.
Để nhận sự kiện nhấn nút vật lý Back, cần ghi đè phương thức nào?
a)
onBackPressed()
b)
onExit()
c)
onClose()
d)
onStop()
75.
View nào thường được dùng để nhập văn bản trong Android?
a)
EditText
b)
TextView
c)
Button
d)
CheckBox
76.
View nào hiển thị thông báo ngắn cho người dùng?
a)
Toast
b)
AlertDialog
c)
Snackbar
d)
PopupWindow
77.
Thành phần nào cho phép chọn một tùy chọn trong danh sách thả xuống?
a)
Spinner
b)
ListView
c)
RadioGroup
d)
CheckBox
78.
Thành phần nào dùng để hiển thị danh sách nhiều phần tử cuộn được?
a)
ListView
b)
FrameLayout
c)
TableLayout
d)
LinearLayout
79.
Để thêm một View mới vào Layout bằng code, dùng phương thức nào?
a)
addView()
b)
insertView()
c)
pushView()
d)
attachView()
80.
Để loại bỏ một View khỏi Layout, dùng phương thức nào?
a)
removeView()
b)
deleteView()
c)
clearView()
d)
removeAll()
81.
ViewGroup.LayoutParams có chức năng gì?
a)
Quy định kích thước và vị trí của View trong Layout
b)
Xác định ID
c)
Đặt màu nền
d)
Thiết lập margin
82.
Sự khác nhau giữa wrap_content và match_parent là gì?
a)
wrap_content theo kích thước nội dung, match_parent chiếm toàn bộ không gian cha
b)
Ngược lại
c)
Cả hai giống nhau
d)
Chỉ dùng trong LinearLayout
83.
Để căn giữa một View trong RelativeLayout, dùng thuộc tính nào?
a)
android:layout_centerInParent="true"
b)
android:gravity="center"
c)
android:alignCenter="true"
d)
android:position="middle"
84.
File chứa giá trị text hiển thị trong giao diện là file nào?
a)
res/values/strings.xml
b)
res/layout/main.xml
c)
src/MainActivity.java
d)
manifest.xml
85.
Khi muốn đổi ngôn ngữ ứng dụng, ta cần tạo thư mục nào?
a)
res/values-xx (ví dụ: values-en, values-vi)
b)
res/lang
c)
res/i18n
d)
src/lang
86.
Để thay đổi màu nền View, thuộc tính nào được dùng?
a)
android:background
b)
android:color
c)
android:theme
d)
android:fill
87.
Thành phần nào giúp bố cục giao diện cuộn cả ngang và dọc?
a)
NestedScrollView
b)
ScrollView
c)
FrameLayout
d)
ConstraintLayout
88.
Lợi ích của NestedScrollView là gì?
a)
Hỗ trợ cuộn trong nhiều vùng lồng nhau
b)
Hiển thị danh sách
c)
Tăng hiệu năng
d)
Dễ viết XML
89.
Khi người dùng thay đổi kích thước chữ hệ thống, đơn vị nào tự điều chỉnh theo?
a)
sp
b)
dp
c)
px
d)
mm
90.
Khi xử lý click trên nhiều View cùng lúc, có thể dùng kỹ thuật nào?
a)
implements View.OnClickListener
b)
extends Activity
c)
new Intent()
d)
createEvent()
91.
Trong file XML, thuộc tính nào quy định vị trí phần tử trong RelativeLayout?
a)
layout_below, layout_above, layout_alignParentTop…
b)
layout_x, layout_y
c)
marginLeft, marginTop
d)
orientation
92.
Khi sử dụng layout_weight trong LinearLayout, cần đặt chiều nào là “0dp”?
a)
Chiều được chia tỉ lệ (width hoặc height)
b)
Cả hai chiều
c)
Không cần đặt
d)
Cố định theo pixel
93.
Khi người dùng thay đổi hướng màn hình, phương thức nào được gọi lại đầu tiên?
a)
onPause()
b)
onStop()
c)
onDestroy()
d)
onCreate()
94.
Để tránh khởi tạo lại Activity khi xoay màn hình, cần khai báo gì trong Manifest?
a)
android:configChanges="orientation
b)
screenSize"
c)
android:rotate="false"
d)
android:screen="fixed"
e)
android:displayMode="portrait"