wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Quiz on Error! Bookmark not defined.

Total questions: 110

Worksheet time: 59mins

Name
Class
Date
1.

Câu nào dưới đây là lợi ích của việc sử dụng Fragments?

a)

Chuyển đổi giữa các fragment cho phép sử dụng các mẫu giao diện người dùng phức tạp hơn, như thanh tab

b)

Sử dụng nhiều fragment trong một activity cho phép có bố cục linh hoạt trên nhiều kích thước màn hình

c)

Các fragment giống nhau có thể được tái sử dụng trên nhiều activities

d)

Fragment nhẹ hơn so với Activitty nên chúng ta nên sử dụng Fragment

2.

Activity hiện tại của ứng dụng đang mở sẽ được tạo lại (phương thức onCreate()  được gọi lại) khi nào?

a)

Người dùng nhấn nút home và mở ứng dụng khác. 

b)

Người dùng xoay màn hình hoặc đổi ngôn ngữ của hệ thống. 

c)

Điện thoại sắp hết pin. 

d)

Điện thoại bị thay đổi cấu hình mạng. 

3.

Bạn có thể tắt một activity bằng cách gọi phương thức nào sau đây? 

a)

finish() 

b)

finishActivity() 

c)

Dispose() 

d)

Destroy() 

4.

Bản chất của AsyncTask trong Android là?

a)

Giống như một thread bình thường của java, nhưng được Android đóng gói lại để dễ cho  người lập trình hơn, người dùng sẽ quản lý việc thread được chạy. 

b)

Tạo ra một task chạy ngầm, người lập trình sẽ quản lý khi nào task này được chạy

c)

Tạo ra một task chạy ngầm, hệ điều hành sẽ quản lý khi nào task này được chạy

d)

Giống như process trong linux 

5.

Bạn sử dụng Intent action nào để mở trang web? 

a)

Intent.ACTION_ACCESS_INTERNET 

b)

Intent.ACTION_MAIN 

c)

Intent.ACTION_VIEW

d)

Intent.ACTION_GET_CONTENT 

6.

Câu nào sau đây là đúng về lớp abstract?

a)

Chúng có thể được mở rộng bởi các lớp con và có thể cung cấp triển khai cho các thành viên trừu tượng của lớp.

b)

Chúng có thể có các thuộc tính trừu tượng hoặc các hàm trừu tượng.

c)

Chúng không được triển khai đầy đủ và không thể được khởi tạo.

d)

Chúng có triển khai cho tất cả các thuộc tính và hàm của mình

e)

Chúng có thể được khởi tạo.

7.

Câu nào sau đây là sai về intents?

a)

Intents được thực hiện bằng cách sử dụng phương thức startActivity().

b)

Một implicit intent luôn dẫn đến việc hệ thống hỏi người dùng muốn mở ứng dụng nào.

c)

Explicit intents yêu cầu bạn phải chỉ định lớp của activity bạn muốn hiển thị.

d)

Cả implicit và explicit intents đều cho phép ứng dụng của bạn khởi chạy một activity khác.

8.

Câu nào sau đây về biểu tượng ứng dụng là đúng?

a)

Đủ để cung cấp một hình ảnh bitmap duy nhất của biểu tượng ứng dụng trong dự án của bạn để làm cho nó xuất hiện chất lượng cao trên nhiều thiết bị Android

b)

mdpi, hdpi, xhdpi, xxhdpi và xxxhdpi là các trình phân biệt mật độ cho các thư mục tài nguyên để chỉ ra rằng đây là tài nguyên sẽ được sử dụng trên các thiết bị có mật độ màn hình cụ thể

c)

Biểu tượng linh hoạt được tạo thành từ lớp trước và lớp nền, và một măt nạ của OEM sẽ được áp dụng lên đầu chúng

d)

Vector drawables chỉ hoạt động cho một mật độ màn hình cụ thể và không nên được thu nhỏ

9.

Breakpoint trong android là gì?

a)

Ngắt chương trình (Breaks the application) 

b)

Ngắt chế độ phát triển (Breaks the development code)

c)

Ngắt các lệnh đang thực thi (Breaks the execution) 

d)

Không có phương án ở trên. 

10.

Broadcast receivers chạy ở thread nào trong Android?

a)

Worker Thread 

b)

Main Thread 

c)

Background Thread

d)

System Thread 

11.

Built-in database trong Android là? 

a)

Oracle 

b)

MySQL 

c)

DB2 

d)

SQLite 

12.

Câu sau là đúng hay sai: Chỉ có thể có 1 activity ở trạng thái đang chạy (running) trong 1 thời điểm?

4 lines
13.

Công việc nào sau đây có thể thực hiện trong onCreate()?

a)

Cấu hình các view, chẳng hạn như thiết lập trình quản lý layout cho recycler view

b)

Xác định các mục sẽ được hiển thị trong menu tùy chọn.

c)

Thiết lập onClickListener cho các mục trong menu tùy chọn.

d)

Lấy các extra từ intent đã khởi chạy activity.

14.

Chọn tất cả các câu trả lời đúng cho bố cục XML này khi được hiển thị trên màn hình.

a)

Đỉnh của TextView A và TextView B được căn chỉnh với đỉnh của view cha.

b)

Cạnh bắt đầu của TextView A được căn chỉnh với cạnh bắt đầu của view cha.

c)

TextView B được căn giữa cả theo chiều ngang và chiều dọc trong view cha.

d)

TextView A xuất hiện xếp chồng lên trên TextView B theo chiều dọc.

e)

Cạnh bắt đầu của TextView B được căn chỉnh với cạnh bắt đầu của view cha.

15.

Đoạn chương trình sau tạo và hiển thị một đối tượng AlertDialog như ảnh minh họa sau: Hãy hoàn thành đoạn chương trình bằng cách kéo thả các phương thức vào chỗ trống [] ?

new AlertDialog.Builder(this) 

 .[[1]]("Thoát khỏi ứng dụng") 

 .[[2]]("Bạn có lưu nội dung đang chỉnh sửa không?") 

.[[3]]("Có", null) 

 .[[4]]("Không", null) 

 .[[5]]("Hủy", null) 

 .[[6]]() 

 .[[7]](); 

(a)  

16.

Italy Capital?

a)

Oslo

b)

Rome

c)

Agra

d)

Paris

17.

Các phương thức của Android activity life cycle?

a)

onCreate(), onStart(), onActivityStarted(), onResume(), onPause(), onStop(), onActivityDestroy(), onDestroy()

b)

onCreate(), onStart(), onResume(), onPause(), onStop(), onRestart(), onDestroy()

c)

onCreate(), onStart(), onPause(), onResume(), onFinish(), onStop(), onDestroy()

d)

onCreate(), onInit(), onStart(), onPause(), onStop(), onDestroy(), onResume()

18.

Các hàm trong Kotlin được tạo bằng từ khoá sau?

a)

fun

b)

func

c)

function

d)

newFunction

e)

main

19.

Đâu là công cụ chính thức để phát triển ứng dụng Android hiện nay?

a)

Android Studio

b)

Eclipse

c)

Visual Studio Code

d)

NetBeans

20.

Chức năng nào để mở hoạt động mới từ hoạt động hiện tại?

a)

newActivity

b)

beginActivity

c)

startActivity

d)

openActivity

21.

Để đặt kích thước hợp lý nhất cho một view nào đó trong Android ta nên dùng đơn vị nào sau đây?

a)

pixel

b)

inch

c)

mm

d)

dp

22.

Để xem logcat với lệnh Log.d() ta cần chọn bộ lọc Log levels là gì?

a)

Debug hoặc Verbose

b)

Info

c)

Warning

d)

Error

23.

Để đặt kích thước font chữ cho các thành phần giao diện trong Android ta nên dùng đơn vị nào sau đây?

a)

pixel

b)

dp

c)

sp

d)

mm

24.

Cấu trúc mặc định của code template Empty Activity không có thành phần nào sau đây?

a)

Thư mục res

b)

Thư mục java

c)

Thư mục config

d)

File AndroidManifest.xml

25.

Các dữ liệu lâu dài (persistent data) không thể được lưu bằng cách nào trong Android?

a)

Shared Preferences

b)

Internal/External storage

c)

SQLite

d)

Network servers.

e)

Lưu trữ trong đối tượng shared data 

26.

Điều nào sau đây là sai về implicit intent?

a)

Để gọi intent ngầm định, bạn phải biết tên lớp của hoạt động đích

b)

Android runtime sẽ mở trình chọn ứng dụng nếu có nhiều hơn một ứng dụng phù hợp cho intent ngầm định

c)

Android runtime nhận các yêu cầu và cố gắng tìm ứng dụng phù hợp

d)

Android runtime giữ danh sách các ứng dụng đã đăng ký để chạy intent ngầm định

27.

Cả Toast và Logcat đều có thể sử dụng với mục đích là để gỡ rối chương trình, phát biểu nào sau đây là sai?

a)

Toast hiển thị trên màn hình thiết bị, Logcat hiển thị trên màn hình máy phát triển

b)

Logcat chỉ hiển thị các thông tin debug do lập trình viên chủ động xuất ra

c)

Logcat sẽ không hiển thị được nếu không có kênh kết nối giữa máy PC và thiết bị

d)

Toast có thể được sử dụng để hiển thị một số hướng dẫn cho người dùng trên thiết bị.

28.

Built-in database trong Android là?

a)

Oracle

b)

MySQL

c)

DB2

d)

SQLite

29.

Đối tượng ScrollView cho phép khai báo nhiều view con bên trong, và khi cuộn thì tất cả các view con sẽ cuộn cùng với nhau?

a)

Đúng

b)

Sai

30.

Đâu là ưu điểm của thiết bị chạy hệ điều hành Android so với hệ điều hành iOS?

a)

Kết nối được với nhiều thiết bị ngoại vi như chuột, bàn phím.

b)

Có thể cài đặt các phần mềm không phải từ chợ ứng dụng.

c)

Sao lưu dữ liệu dễ dàng với các dịch vụ lưu trữ đám mây.

d)

Dữ liệu của người dùng được bảo mật tốt hơn.

31.

Đâu là ưu điểm của việc phát triển ứng dụng trên nền tảng Android so với nền tảng iOS?

a)

Có thể sử dụng các hệ điều hành khác nhau

b)

Thử nghiệm trên thiết bị vật lý dễ dàng

c)

Có thể sử dụng các công cụ IDE khác nhau

d)

Tất cả các đáp án đều đúng

32.

Đáp án nào sau đây là đúng về Fragment trong Android?

a)

Fragment là một phần của giao diện trong Activity và có cùng vòng đời với Activity

b)

Một Activity chỉ có một Fragment

c)

Fragment có thể hoạt động độc lập không gắn với Activity nào

d)

Fragment có vòng đời riêng của mình 

33.

Để thiết lập quan hệ cha - con giữa 2 Activities ta khai báo ở đâu?

a)

Trong file java tương ứng với Activity đó

b)

Trong file AndroidManifest.xml

c)

Thiết lập trong file layout chính

d)

Đặt tên activity cha là MainActivity, activity con là SubActivity

34.

Câu sau là đúng hay sai: Chỉ có thể có 1 activity ở trạng thái đang chạy (running) trong 1 thời điểm?

a)

True

b)

False

c)

May be

d)

Can't say

35.

Đâu là phát biểu không chính xác về kỹ thuật ViewHolder sử dụng cho các đối tượng thuộc kiểu danh sách?

a)

Giảm số lần sử dụng phương thức findViewById

b)

Giảm số lần tạo view từ file XML

c)

Không bắt buộc sử dụng với danh sách kiểu ListView

d)

Bắt buộc sử dụng với danh sách thuộc kiểu RecylerView

36.

Đoạn code sau có tác dụng gì? (Ở đây menu_main là file xml khai báo các đối tượng trong menu)

a)

Đọc file menu_main.xml, tạo các đối tượng trong menu và gắn với đối tượng menu để sử dụng về sau.

b)

Không cần thiết có hàm này cũng không sao

c)

Tạo đối tượng menu mới và kết nối thành phần menu_main trong giao diện với đối tượng menu vừa tạo

37.

Đối tượng thuộc lớp nào được sử dụng để ghi dữ liệu vào file?

a)

InputStream

b)

OutputStream

c)

ReadStream

d)

WriteStream

38.

Giả sử ảnh test.jpg được lưu vào thư mục drawable, phương thức nào của đối tượng ImageView được sử dụng để thiết lập nội dung là ảnh này?

a)

setImageResource(R.drawable.test)

b)

setImageDrawable(R.drawable.test)

c)

setImageBitmap(R.drawable.test)

d)

Các đáp án đều chính xác

39.

Đối tượng thuộc lớp nào được sử dụng để đọc dữ liệu từ file?

a)

InputStream

b)

OutputStream

c)

ReadStream

d)

WriteStream

40.

Công cụ chỉnh sửa giao diện trực quan trong Android Studio phù hợp với việc sử dụng kiểu layout nào nhất?

a)

ConstraintLayout

b)

RelativeLayout

c)

LinearLayout

d)

TableLayout

e)

FrameLayout

41.

Giả sử bạn làm app để khảo sát sở thích của người dùng trong một danh sách các sở thích cho trước (10 sở thích), một người có thể chọn nhiều sở thích, điều khiển input nào sau đây là phù hợp nhất?

a)

RadioButton

b)

CheckBox

c)

EditText cho người dùng nhập

d)

Spinner

42.

Đối tượng Spinner có thể được sử dụng thay thế cho đối tượng nào?

a)

CheckBox

b)

EditText

c)

RadioButton

d)

AutoCompleteTextView

43.

Các câu lệnh trong phương thức onCreate() của một lớp service chạy trong luồng nào?

a)

Main thread hoặc UI thread

b)

Background thread

c)

Worker thread

44.

APK là viết tắt của?

a)

Android Package 

b)

Android Proprietary Kit 

c)

Application Program Kit 

d)

Application Package 

45.

Cấu trúc hệ điều hành Android gồm các tầng:

a)

Tầng lõi ARM Linux, tầng thư viện, tầng máy ảo Android.

b)

Tầng lõi ARM Linux, tầng thư viện, tầng máy ảo Andorid, tầng khung ứng dụng Android, tầng ứng dụng lõi Android.

c)

Tầng lõi ARM Linux, tầng thư viện, tầng khung ứng dụng Android

d)

Tầng lõi ARM Linux, tầng thư viện, tầng ứng dụng lõi Android

46.

Adapter không được sử dụng để thiết lập dữ liệu cho đối tượng nào?

a)

Spinner 

b)

ListView 

c)

 GridView 

d)

ScrollView 

47.

Android được phát triển dựa trên hệ điều hành nào?

a)

Linux

b)

Ubuntu

c)

Windows

d)

MacOS

48.

Để Costum lại ListView theo ý của mình. Công việc quan trọng cần làm là:

a)

Thiết kế thêm Layout phụ cho mỗi hàng

b)

Xây dựng lại Adapter

c)

Tất cả đều đúng

49.

Câu lệnh 'when' trong Kotlin tương tự như câu lệnh nào trong các ngôn ngữ lập trình khác?

a)

continue

b)

break

c)

switch

50.

Đối tượng nào có thể được sử dụng để tạo một nút bấm với nội dung là ảnh?

a)

Button

b)

ImageButon

c)

ImageView

d)

Các đáp án đều chính xác

51.

Đoạn chương trình sau được sử dụng để mở một trang web, hãy điền từ còn thiếu vào ô trống []

a)

Uri

b)

Url

c)

HttpAddress

d)

String

52.

Ngôn ngữ lập trình nào có thể được sử dụng để lập trình ứng dụng Android dạng native?

a)

Java

b)

Kotlin

c)

C/C++

d)

Tất cả các đáp án đều chính xác

53.

Đoạn chương trình sau được sử dụng để gửi tin nhắn đến một số điện thoại, hãy điền phần còn thiếu vào ô trống []

a)

Intent.ACTION_SENDTO

b)

Intent.ACTION_SEND_SMS

c)

Intent.ACTION_SEND

d)

Intent.ACTION_SEND_MULTIPLE

54.

Bạn cần implement interface nào để lắng nghe và phản hồi các user clicks trong  RecyclerView? 

a)

RecyclerView.onClickListener 

b)

ViewHolder.onClickListener

c)

View.onClickListener 

d)

View.OnKeyListener 

55.

Để làm cho EditText cho phép ký tự mật khẩu( ví dụ hiển thị * thay vì ký tự thực), bạn phải đặt giá trị của thuộc tính inputType là :

(a)  

56.

Để thiết lập đối tượng EditText cho phép nhập dữ liệu mật khẩu (không hiển thị ký  tự lên) giá trị thuộc tính inputType được chọn là gì? 

a)

textPassword

b)

password

c)

hidden

d)

invisible

57.

Câu lệnh db.execSQL("insert into tblAMIGO(name, phone) values ('AAA', '555-1111');"); trả về thông tin gì?

a)

Số bản ghi bị ảnh hưởng

b)

ID của bản ghi vừa được thêm

c)

Phương thức execSQL() không có giá trị trả về

58.

Cách thiết kế giao diện cho màn hình ngang cho Android như thế nào?

a)

Trong thư mục res, tạo thư mục layout-land

b)

Thiết kế đè vào file layout mặc định

c)

Bổ sung thuộc tính layout-land vào khai báo cho Activity trong file AndroidManifest.xml

59.

Giả sử cần làm ứng dụng để khảo sát sở thích của người dùng trong một danh sách các sở thích cho trước (10 sở thích), một người có thể chọn nhiều sở thích, điều khiển input nào sau đây là phù hợp nhất?

a)

RadioButton

b)

CheckBox

c)

EditText cho người dùng nhập

d)

Spinner

60.

Giả sử db là một đối tượng thuộc lớp SQLiteDatabase đã được khởi tạo trước đó, dòng lệnh sau sẽ trả về kết quả như thế nào?

long res = db.insert("tblUsers", null, new ContentValues()); 

a)

Lệnh insert thực hiện thành công, trả về id của bản ghi mới

b)

Lệnh insert thực hiện không thành công, trả về giá trị -1

c)

Dòng lệnh bị lỗi, không thực hiện được

61.

Đáp án nào sau đây là đúng về Fragment trong Android?

a)

Fragment là một phần của giao diện trong Activity và có cùng vòng đời với Activity

b)

Một Activity chỉ có một Fragment

c)

Fragment có thể hoạt động độc lập không gắn với Activity nào

d)

Fragment có vòng đời riêng của mình

62.

Intent action nào được sử dụng để mở một trang web?

a)

Intent.ACTION_ACCESS_INTERNET

b)

Intent.ACTION_MAIN

c)

Intent.ACTION_VIEW

d)

Intent.ACTION_GET_CONTENT

63.

Các dữ liệu của ứng dụng yêu cầu tính bảo mật, riêng tư thì không nên lưu theo cách nào?

a)

Shared Preferences

b)

External Storage

c)

Nhúng vào tài nguyên của ứng dụng

d)

Internal Storage

64.

Cho đoạn mã sau:

val intent = Intent([ ], Uri.parse("123456789"))

intent.putExtra("sms_body", "hello") startActivity(intent)

điều gì có thể được điền vào [ ]?

a)

Intent.ACTION_SEND_SMS

b)

Intent.ACTION_SEND

c)

Intent.ACTION_SEND_MULTIPLE

d)

Intent.ACTION_SENDTO

65.

Câu nào sau đây về intents là đúng?

a)

Intents được thực hiện bằng cách sử dụng phương thức startActivity().

b)

Một implicit intent luôn dẫn đến việc hệ thống hỏi người dùng muốn mở ứng dụng nào.

c)

Explicit intents yêu cầu bạn phải chỉ định lớp của activity bạn muốn hiển thị.

d)

Cả implicit và explicit intents đều cho phép ứng dụng của bạn khởi chạy một activity khác.

66.

Hệ điều hành được sử dụng cho Android Stack là?

a)

XML

b)

Java

c)

Windows

d)

Linux

67.

Kiểu menu nào được kích hoạt khi nhấn và giữ widget trong 1 khoảng thời gian?

a)

Popup Menu

b)

Context Menu

c)

Option Menu

68.

Implicit intent trong Android được sử dụng với mục đích gì?

a)

Mở một activity của ứng dụng khác

b)

Mở một activity của ứng dụng hiện tại

c)

Mở một service của ứng dụng hiện tại

69.

Các bảng dữ liệu SQLite của ứng dụng có thể được lưu trữ như thế nào?

a)

Có thể lưu trữ vào file ở thư mục cài đặt của ứng dụng hoặc thư mục dùng chung

b)

Chỉ có thể lưu trữ vào file ở thư mục cài đặt của ứng dụng

c)

Chỉ có thể lưu trữ vào file ở thư mục dùng chung giữa các ứng dụng

d)

Thư viện SQLite không lưu trữ dữ liệu vào file

70.

Interface nào được sử dụng để lắng nghe và phản hồi các user clicks trong RecyclerView?

a)

RecyclerView.OnClickListener

b)

ViewHolder.OnClickListener

c)

View.OnClickListener

d)

View.OnKeyListener

71.

Interface nào được sử dụng để xử lý sự kiện khi người dùng thay đổi nội dung của đối tượng  EditText? 

a)

TextWatcher 

b)

TextChangedListener 

c)

TextUpdatedListener 

d)

TextEditedListener 

72.

Khi khai báo 1 lớp mới kế thừa từ lớp BaseAdapter, phương thức nào không bắt buộc phải viết chồng?

a)

getCount()

b)

getItemId()

c)

getItemViewType()

d)

getView()

73.

Làm thế nào để cho phép TextView hiển thị được nội dung dài quá kích thước màn hình ngang?

a)

Thiết lập thuộc tính android:layout_height="wrap_content"

b)

Thiết lập thuộc tính android:textContent ="wrap_content"

c)

Thiết lập thuộc tính android:inputType="textMultiLine"

d)

Thiết lập thuộc tính android:scroll="auto"

74.

Khi ứng dụng đang chạy, người dùng bấm nút Home thì hàm callback sẽ được gọi đầu tiên là?

a)

onPause

b)

onStop

c)

onDestroy

d)

onRestart

75.

Khi phương thức startService() được gọi lại với cùng 1 lớp service thì phương thức onCreate() của service đó có được gọi lại hay không?

a)

b)

Không

76.

Kiểu dữ liệu trả về của hàm startActivityForResult() trong android là gì?

a)

RESULT_CANCEL

b)

RESULT_OK

c)

RESULT_CRASH

d)

RESULT_OK hoặc RESULT_CANCEL

77.

Làm thế nào để xử lý sự kiện người dùng nhấn và giữ nút trong một thời gian?

a)

setLongClickListener

b)

setOnLongClickListener

c)

setOnClickListener

78.

Khi ứng dụng cần kết nối Internet thì quyền truy nhập Internet sẽ được khai báo trong file nào?

a)

File AndroidManifest.xml

b)

File build.gradle

c)

File MainActivity.java

d)

Không cần khai báo quyền truy nhập Internet

79.

Layout nào dưới đây cho phép view này nằm chồng lên view khác trong android?

a)

LinearLayout

b)

RelativeLayout

c)

FrameLayout

d)

GridLayout

80.

Để truyền tham số kiểu String cho phương thức doInBackground() thì cách nào sau đây được sử dụng? Giả sử lớp mới được tạo ra có tên là SlowTask.

a)

new SlowTask().execute("param1", "param2")

b)

new SlowTask("param1", "param2").execute()

c)

new SlowTask().run("param1", "param2")

d)

new SlowTask("param1", "param2").run()

81.

Loại menu nào sẽ được mở nếu người dùng nhấn và giữ trong một thời gian?

a)

Instant Menu

b)

Context Menu

c)

Drawer Menu

d)

Option Menu

82.

Khi nào hoạt động hiện tại được đặt lại, tức là gọi lại callback onCreate?

a)

người dùng xoay điện thoại

b)

người dùng thay đổi ngôn ngữ của điện thoại

c)

người dùng nhấn nút home và mở một ứng dụng khác

d)

điện thoại sắp hết pin

83.

Làm thế nào để xử lý sự kiện người dùng nhấn và giữ nút trong một thời gian?

a)

setLongClickListener

b)

setOnLongClickListener

c)

setOnClickListener

d)

setOnLongTouchListener

84.

Khái niệm descendant navigation là gì?

a)

Điều hướng từ màn hình con sang màn hình cha

b)

Điều hướng từ màn hình cha sang màn hình con

c)

Điều hướng giữa các màn hình ngang cấp nhau

85.

Hoàn thành đoạn chương trình sau để lấy ra thông tin về tên và tuổi được lưu trữ trong chuỗi JSON:

a)

new JSONObject

b)

String

c)

getInt

d)

getString

e)

int

86.

Kiểu trả về mặc định của bất kỳ hàm nào được định nghĩa trong Kotlin là gì?

a)

Unit

b)

Double

c)

void

d)

Int

87.

Khi ứng dụng đang chạy, người dùng bấm nút Home thì hàm callback sẽ được gọi đầu tiên là?

a)

onPause

b)

onStop

c)

onDestroy

d)

onRestart

88.

File xml nào chứa tất cả text mà ứng dụng của bạn sử dụng?

a)

string.xml

b)

texts.xml

c)

strings.xml

d)

array.xml

89.

Kỹ thuật debug chương trình nào sau đây phù hợp nhất với việc debug một chương trình có nhiều tiến trình chạy song song trong Android?

a)

Đặt breakpoint và chạy từng dòng lệnh

b)

Ghi thông tin cần debug ra cửa sổ logcat và quan sát cửa sổ logcat

c)

Toast thông tin cần debug lên màn hình thiết bị và quan sát

d)

Log thông tin cần debug ra file lưu trên thiết bị

90.

Khi dùng các đối tượng nào sau đây, ta không nhất thiết phải khai báo trong file AndroidManifest.xml?

a)

Service

b)

Broadcast Receiver

c)

Activity

91.

Lớp cha trực tiếp của lớp Button là lớp nào?

a)

android.widget.View

b)

android.view.TextView

c)

android.view.View

d)

android.widget.TextView

92.

Lớp Button là lớp con trực tiếp của lớp nào?

a)

android.widget.TextView

b)

android.view.View

c)

java.lang.Object

d)

android.view.TextView

93.

Hoàn thành đoạn chương trình sau để in ra màn hình logcat tất cả các bản ghi của bảng tblUsers:

a)

moveToNext

b)

moveToPosition

c)

getInt

d)

getString

e)

getColumnIndex

94.

Khi nào thì ứng dụng phát hiện có sự thay đổi cấu hình?

a)

Người dùng thu app xuống và chạy app khác

b)

Người dùng xoay màn hình hoặc đổi ngôn ngữ

c)

Điện thoại sắp hết pin

d)

Điện thoại bị thay đổi cấu hình mạng

95.

Khi dùng các đối tượng nào sau đây, ta không nhất thiết phải khai báo trong file AndroidManifest.xml?

a)

Service

b)

Broadcast Receiver

c)

Activity

96.

Layout nào sau đây phù hợp nhất cho việc sắp xếp các đối tượng con của nó cạnh nhau theo chiều dọc và theo chiều ngang?

a)

Linear layout

b)

Relative layout

c)

Frame Layout

d)

Constraint Layout

97.

Hoàn thành đoạn chương trình sau để cập nhật password của user trong bảng tblUsers với username và pasword được lấy từ 2 đối tượng editUsername và editPassword:

a)

update

b)

execSQL

c)

insert

98.

Để thiết lập đối tượng EditText cho phép nhập dữ liệu mật khẩu (không hiển thị ký tự lên) giá trị thuộc tính inputType được chọn là gì?

a)

android:inputType =”textPassword”

b)

android:inputType =”Password”

c)

android:inputType =”******”

d)

android:inputControl =”Password”

99.

Lambdas trong Kotlin là gì?

a)

Lambda là một biểu thức mô tả một hàm. Nhưng thay vì khai báo một hàm có tên, bạn khai báo một hàm không có tên

b)

Lambda là một kiểu Class trong Kotlin

c)

Lambda là một Interface trong Kotlin

d)

Lambda là một kiểu Dữ liệu trong Kotlin

100.

Layout nào sau đây có thể được sử dụng để chứa fragment?

a)

FragmentContainerView

b)

LinearLayout

c)

FrameLayout

d)

Tất cả các đáp án đều đúng

101.

Lớp nào có thể được sử dụng để tạo một danh sách của danh sách, trong đó danh sách bên ngoài cuộn dọc và các danh sách con cuộn ngang (giống ứng dụng Google Play)?

a)

RecyclerView

b)

ListView

c)

GridView

d)

ScrollView

102.

Câu lệnh db.execSQL("insert into tblAMIGO(name, phone) values ('AAA', '555-1111');"); trả về thông tin gì?

a)

Số bản ghi bị ảnh hưởng

b)

ID của bản gh

103.

Khi sử dụng lớp AsyncTask, phương thức nào không được sử dụng để cập nhật giao diện?

a)

onPostExecute()

b)

onProgressUpdate()

c)

doInBackground()

d)

onPreExecute()

104.

Lớp nào có thể được sử dụng để cung cấp dữ liệu khi khai báo một lớp con kế thừa lớp BaseAdapter?

a)

List

b)

Cursor

c)

JSONArray

d)

Các đáp án đều chính xác

105.

Đối tượng thuộc lớp nào được sử dụng để đọc dữ liệu tải về từ Internet?

a)

InputStream

b)

OutputStream

c)

UploadStream

d)

DownloadStream

106.

Giá trị của port là bao nhiêu nếu cấu hình của thiết bị được thiết lập mặc định không thay đổi gì trong câu lệnh sau? adb connect 192.168.0.10:port

a)

80

b)

443

c)

5555

d)

8080

107.

Lợi ích của việc sử dụng Room database?

a)

Tự động cập nhật UI khi room database thay đổi.

b)

Giúp app của bạn không bị mất dữ liệu khi app bị crash

c)

Giúp quản lý nhiều trình backends

d)

Sử dụng mô hình DAO, cung cấp cơ chế cho phép ánh xạ các phương thức Java với các câu truy vấn database.

108.

Giá trị nào của thuộc tính scaleType của đối tượng ImageView cho phép giữ nguyên tỷ lệ và nội dung của ảnh (ảnh không bị crop)?

a)

centerInside

b)

center

c)

centerCrop

d)

fitXY

109.

Làm cách nào để tắt/kết thúc một hoạt động?

a)

destroy()

b)

finish()

c)

dispose()

d)

finishActivity()

110.

Giả sử listUsernames là đối tượng kiểu List chứa danh sách username. Hãy hoàn thành đoạn chương trình sau để xóa các user có username thuộc danh sách trên:

(a)