Font size
WorksheetsBộ câu hỏi trắc nghiệm Android (Worksheet)
Total questions: 50
Worksheet time: 25mins
Android Runtime (ART) thay thế cho thành phần nào trong Android? (2 Points)
Dalvik
JVM
Linux Kernel
ContentProvider
Trong RecyclerView.Adapter, cần override các phương thức sau (chọn nhiều đáp án): (2 Points)
onCreateViewHolder()
getItemId()
onBindViewHolder()
createView()
Để vẽ một tuyến đường giữa hai điểm trên bản đồ, bạn sử dụng lớp nào? (2 Points)
Polyline
Polygon
PolylineOptions
DirectionsRenderer
Để tính khoảng cách giữa hai điểm trên bản đồ, bạn sử dụng lớp nào? (2 Points)
LatLng
Location
DistanceCalculator
GeoDistance
Để hiển thị bản đồ trong Android, bạn sử dụng lớp nào? (2 Points)
MapView
MapFragment
GoogleMap
SupportMapFragment
Từ Android 10, ứng dụng có thể đọc tất cả SMS không? (2 Points)
Không, trừ khi là ứng dụng SMS mặc định
Có, nếu có quyền READ_SMS
Chỉ đọc được SMS do chính ứng dụng gửi
Luôn luôn được phép
Để ẩn một view mà vẫn giữ không gian layout, dùng thuộc tính nào? (2 Points)
android:visibility="invisible"
android:visibility="gone"
android:alpha="0"
android:enabled="false"
Hai API dùng để kết nối HTTP gồm (chọn nhiều đáp án): (2 Points)
Retrofit
HttpURLConnection
Glide
WorkManager
Thành phần nào chịu trách nhiệm quản lý layout của các item trong RecyclerView? (2 Points)
Adapter
LayoutManager
ViewHolder
ItemAnimator
Để tạo khoảng cách giữa các view trong LinearLayout, dùng thuộc tính nào? (2 Points)
android:layout_margin
android:padding
android:spacing
android:divider
ConstraintLayout khác LinearLayout ở điểm nào? (2 Points)
Cho phép ràng buộc view linh hoạt với các view khác hoặc parent
Chỉ hỗ trợ sắp xếp view theo một chiều
Không thể sử dụng trong Android Studio
Yêu cầu API Level 30 trở lên
Để thêm sự kiện click vào một Button, dùng phương thức nào? (2 Points)
button.setOnClickListener { /* Xử lý click */ }
button.setClickAction()
button.addEvent(ClickEvent)
button.bindOnClick()
Để kiểm tra kết nối mạng trước khi tải dữ liệu, dùng lớp nào? (2 Points)
ConnectivityManager
NetworkInfo (deprecated từ API 29)
WifiManager
TelephonyManager
FrameLayout thường dùng để làm gì? (2 Points)
Chồng các view lên nhau (ví dụ: fragment, overlay)
Sắp xếp view theo bảng
Cố định view ở góc màn hình
Tạo layout dạng lưới
Để lấy vị trí hiện tại của người dùng, bạn sử dụng phương thức nào? (2 Points)
getLastKnownLocation()
getCurrentLocation()
getLocation()
getUserLocation()
View là gì trong Android? (2 Points)
Là lớp cơ sở cho tất cả các thành phần giao diện người dùng (UI) như Button, TextView.
Là một loại layout dùng để nhóm các view khác,
Là thành phần chỉ dùng để hiển thị văn bản,
Là một activity.
Thành phần nào trong Android chịu trách nhiệm hiển thị giao diện người dùng? (2 Points)
Service
BroadcastReceiver
Activity
ContentProvider
Để vẽ một vùng đa giác trên bản đồ, bạn sử dụng lớp nào? (2 Points)
Polygon
Polyline
Circle
Rectangle
Thuộc tính android:layout_weight dùng để làm gì? (2 Points)
Chia tỷ lệ không gian giữa các view trong LinearLayout
Đặt kích thước cố định cho view
Xác định thứ tự hiển thị của view
Tạo hiệu ứng trong suốt
Thuộc tính nào cho phép view co dãn tỷ lệ theo kích thước màn hình? (2 Points)
android:layout_weight (trong LinearLayout)
android:scaleType
android:flexGrow
android:stretchMode
Để tải dữ liệu audio từ Internet, có thể dùng lớp nào? (2 Points)
MediaPlayer (setDataSource với URL)
SoundPool (chỉ dành cho file nhỏ trong APK)
AudioTrack
RingtoneManager
ContentProvider dùng để: (2 Points)
Lưu trữ dữ liệu tạm thời
Chia sẻ dữ liệu giữa các app
Chạy nền
Quản lý UI
Lớp nào dùng để kiểm tra kết nối Internet trong Android? (2 Points)
ConnectivityManager
TelephonyManager
WifiManager
LocationManager
Hai callback của View để xử lý sự kiện người dùng (chọn nhiều đáp án): (2 Points)
setOnClickListener()
setOnLongClickListener()
setAnimator()
doOnUpdate()
Thuộc tính nào dùng để căn giữa view trong RelativeLayout? (2 Points)
android:layout_centerInParent="true"
android:gravity="center"
android:layout_gravity="center"
android:alignParentCenter="true"
Thư viện nào phổ biến nhất để tải hình ảnh từ Internet trong Android? (2 Points)
Glide hoặc Picasso
Retrofit
Volley
Firebase Storage
Để xác thực quyền trong lúc chạy (runtime permission), cần phương thức nào? (2 Points)
checkPerm()
requestPermission()
checkSelfPermission()
accessPermission()
Trong cấu trúc dự án Android, thư mục nào chứa các tệp XML định nghĩa chuỗi văn bản? (2 Points)
assets
drawable
layout
values
Để lắng nghe sự thay đổi văn bản trong EditText, dùng interface nào?
TextListener
TextChangedListener
TextWatcher
EditListener
Làm thế nào để gửi SMS bằng Java trong Android?
Sử dụng SmsManager.sendTextMessage()
Dùng Intent.ACTION_SENDTO
Cả hai cách trên đều được
Không thể gửi SMS từ ứng dụng
Để thay đổi văn bản của TextView trong code, dùng phương thức nào?
textView.text = "Nội dung mới" (Kotlin) hoặc textView.setText("Nội dung mới") (Java)
textView.updateText()
textView.setContent()
textView.changeText()
Đơn vị "dp" trong Android đại diện cho gì?
Display Pixels
Density-independent Pixels
Device Pixels
Dimension Pixels
Để hiển thị thông tin chi tiết khi người dùng nhấn vào marker, bạn sử dụng lớp nào?
InfoWindow
PopupWindow
Dialog
Toast
Tài nguyên string được lưu trong file nào?
values.xml
strings.xml
config.xml
manifest.xml
Thành phần nào trong Android được sử dụng để thực hiện các tác vụ nền không có giao diện người dùng?
Activity
Service
BroadcastReceiver
ContentProvider
View nào KHÔNG phải là layout container?
TextView
ConstraintLayout
RelativeLayout
LinearLayout
Để xử lý sự kiện khi người dùng nhấn vào bản đồ, bạn sử dụng phương thức nào?
setOnMapClickListener()
setOnMapLongClickListener()
setOnMarkerClickListener()
setOnMapReadyCallback()
Để view A nằm bên phải view B trong ConstraintLayout, dùng thuộc tính nào?
app:layout_constraintStart_toEndOf="@id/viewB"
android:layout_toRightOf="@id/viewB"
app:layout_constraintRight_toLeftOf="@id/viewB"
android:layout_alignParentRight="true"
Đâu là thư viện phổ biến trong Android để tải và lưu trữ hình ảnh?
Retrofit
Picasso
Glide
OkHttp
GridLayout khác TableLayout ở điểm nào?
GridLayout không cần dùng <TableRow> , hỗ trợ căn chỉnh linh hoạt hơn
TableLayout chỉ dùng được cho dữ liệu dạng bảng
GridLayout không thể chứa nhiều view trong một ô
TableLayout yêu cầu API Level 21+
Hai loại Context trong Android gồm (chọn nhiều đáp án).
Activity Context
Application Context
Runtime Context
Display Context
Làm thế nào để nhận SMS trong Java?
Tạo BroadcastReceiver và đăng ký action "android.provider.Telephony.SMS_RECEIVED"
Dùng ContentObserver để theo dõi SMS database
Cả hai cách trên
Không thể nhận SMS từ ứng dụng
Để sử dụng Google Maps trong Android Studio, bạn cần làm gì đầu tiên?
Tạo một MapFragment trong layout XML
Đăng ký API Key trên Google Cloud Console (b)
Thêm thư viện Google Maps vào build.gradle (c)
Cả (b) và (c) đều đúng
Glide dùng để làm gì?
Tải ảnh và cache
Lưu cơ sở dữ liệu
Gửi request HTTP
Tạo hiệu ứng animation
Làm thế nào để kiểm tra SMS đã được gửi thành công?
Sử dụng PendingIntent trong sendTextMessage()
Dùng BroadcastReceiver để lắng nghe trạng thái gửi
Cả hai cách (a) và (b)
Không thể kiểm tra
Các phương thức liên quan đến lưu trạng thái Activity gồm (chọn nhiều đáp án).
onSaveInstanceState()
onRestoreInstanceState()
onPause()
onStart()
Để phát video từ URL Internet, nên dùng component nào?
VideoView hoặc ExoPlayer
MediaPlayer (chỉ hỗ trợ local file)
SurfaceView
WebView
Sự khác biệt giữa padding và margin là gì?
padding là khoảng cách bên trong view, margin là khoảng cách bên ngoài view.
padding dùng cho LinearLayout, margin dùng cho RelativeLayout.
padding chỉ áp dụng cho văn bản.
Không có sự khác biệt.
ImageView dùng thuộc tính nào để căn chỉnh cách hiển thị ảnh?
android:scaleType="centerCrop"
android:adjustViewBounds
android:imageAlignment
android:fitType
Để chuyển từ Activity A sang Activity B, dùng class nào?
Intent
Action
Message
Bundle
