Qiz HUB Logo
QizHUB
QUESTION LIBRARY

Trang chủ
Môn học
Chủ đề
Đề thi
Câu hỏi
Thẻ

Đăng nhập
Qiz HUB Logo
QizHUB
QUESTION LIBRARY PLATFORM
Trang chủMôn họcChủ đềNhóm họcThẻ
Luyện đề ngayĐăng nhập
PrivacyTermsCookieAdsads.txtrobotssitemap
Trang chủMôn họcMobile Programming - Lập trình di động
Hỗ trợ đào tạo

Mobile Programming - Lập trình di động

9Chủ đề
271Câu hỏi

Ôn luyện PRM392 – Lập trình di động (Mobile Programming) với ngân hàng câu hỏi trắc nghiệm Android có đáp án và giải thích chi tiết, luyện thi cuối kỳ hiệu quả. Nội dung bao quát Activity, Fragment, RecyclerView, Intent, Service, BroadcastReceiver, lưu trữ SharedPreferences/SQLite và gọi API/Retrofit. Môn 3 tín chỉ tại FPT University, tiên quyết PRO192, lập trình bằng Java trên Android Studio.

Chủ đề học tập

Lập trình di động

PRM392 - Chương 1: Nền tảng Android và công cụ phát triển

Trắc nghiệm PRM392 chương 1 - Nền tảng hệ điều hành Android và bộ công cụ phát triển: bốn tầng của Android Platform Architecture, nhân Linux, Hardware Abstraction Layer, Android Runtime; vai trò của Android SDK, Android Studio, emulator và AVD Manager; tệp build.gradle cấp dự án và cấp module, compileSdkVersion; tệp AndroidManifest.xml, tệp R sinh tự động, cửa sổ Logcat; bốn thành phần ứng dụng, luồng chính và lỗi ANR.

0Bộ đề
34+Câu hỏi
Lập trình di động

PRM392 - Chương 2: Activity, Fragment và vòng đời

Trắc nghiệm PRM392 chương 2 - Activity và Fragment: đầy đủ vòng đời onCreate, onStart, onResume, onPause, onStop, onDestroy và thời điểm gọi từng phương thức; lưu trạng thái với onSaveInstanceState khi xoay màn hình; mở màn hình mới và nhận kết quả trả về; kết thúc Activity bằng finish; khác biệt giữa Fragment và Activity, FragmentManager và FragmentTransaction, thêm Fragment động, ListFragment và cách truyền dữ liệu từ Activity sang Fragment.

0Bộ đề
27+Câu hỏi
Lập trình di động

PRM392 - Chương 3: Giao diện, layout và tài nguyên

Trắc nghiệm PRM392 chương 3 - Dựng giao diện Android: LinearLayout với layout_weight và orientation, RelativeLayout, ConstraintLayout và Chains; các View thường dùng TextView, EditText, Button, ImageView, Spinner, CheckBox và RadioGroup; bắt sự kiện bằng setOnClickListener, setOnTouchListener, TextWatcher và thuộc tính android:onClick; quản lý tài nguyên trong thư mục res, chuỗi trong strings.xml, theme và style, menu tuỳ chọn, hộp thoại và Toast.

0Bộ đề
37+Câu hỏi
Lập trình di động

PRM392 - Chương 4: Intent, Broadcast và Notification

Trắc nghiệm PRM392 chương 4 - Giao tiếp giữa các thành phần: Intent tường minh và Intent ngầm định, action, data, extra và cách lấy dữ liệu ở Activity nhận; Intent là cấu trúc dữ liệu thụ động và những rủi ro bảo mật khi phát Intent; BroadcastReceiver, phương thức onReceive, broadcast hệ thống và broadcast tuỳ chỉnh, ordered broadcast, đăng ký và huỷ đăng ký receiver động; Notification, Notification Channel từ Android 8.0 và PendingIntent.

0Bộ đề
43+Câu hỏi
Lập trình di động

PRM392 - Chương 5: Service, luồng và xử lý bất đồng bộ

Trắc nghiệm PRM392 chương 5 - Xử lý nền trong Android: Service khởi chạy bằng startService so với Service ràng buộc bằng bindService, phương thức onCreate và onStartCommand cùng các giá trị trả về START_STICKY, IntentService và hàng đợi công việc; AsyncTask với doInBackground, onProgressUpdate và onPostExecute; luồng chính giao diện, rủi ro của lập trình đa luồng và lý do ứng dụng Android phải dùng bất đồng bộ khi truy cập tài nguyên chậm.

0Bộ đề
26+Câu hỏi
Lập trình di động

PRM392 - Chương 6: Lưu trữ dữ liệu và Content Provider

Trắc nghiệm PRM392 chương 6 - Lưu trữ dữ liệu: SharedPreferences cho cặp khoá và giá trị, Editor, commit và clear; SQLite với SQLiteOpenHelper, onCreate và onUpgrade, ContentValues, Cursor, phương thức query và execSQL, giao dịch; thư viện Room với Entity, DAO và Database cùng các annotation tiện lợi; bộ nhớ ngoài và trạng thái MEDIA_MOUNTED; Content Provider, cấu trúc Content URI, lớp Contract và chia sẻ dữ liệu giữa các ứng dụng.

0Bộ đề
36+Câu hỏi
Lập trình di động

PRM392 - Chương 7: RecyclerView và hiển thị danh sách

Trắc nghiệm PRM392 chương 7 - Hiển thị danh sách hiệu quả: RecyclerView và ưu thế tái sử dụng view so với ListView; ba phương thức bắt buộc của RecyclerView.Adapter gồm onCreateViewHolder, onBindViewHolder và getItemCount; vai trò của ViewHolder; các LayoutManager LinearLayoutManager, GridLayoutManager và StaggeredGridLayoutManager; thứ tự gán LayoutManager trước Adapter; hiển thị ảnh trong danh sách; Floating Context Menu và Contextual Action Mode.

0Bộ đề
18+Câu hỏi
Lập trình di động

PRM392 - Chương 8: Mạng, Retrofit và Google Maps

Trắc nghiệm PRM392 chương 8 - Kết nối mạng và bản đồ: lập trình Socket với ServerSocket, phương thức accept và connect, trình tự gọi hàm trong Socket API; gửi yêu cầu HTTP và quyền INTERNET; thư viện Retrofit với Converter và base URL, các annotation GET, POST, Body, Path và Query; Google Maps API với SupportMapFragment, OnMapReadyCallback, addMarker, addPolyline, moveCamera, clear và quyền truy cập vị trí ACCESS_FINE_LOCATION.

0Bộ đề
28+Câu hỏi
Lập trình di động

PRM392 - Chương 9: Quyền truy cập và kiến trúc ứng dụng

Trắc nghiệm PRM392 chương 9 - Quyền và kiến trúc: khai báo quyền trong AndroidManifest, phân biệt normal permission và dangerous permission, quy trình xin quyền lúc chạy từ Android 6.0, shouldShowRequestPermissionRationale; các mẫu kiến trúc MVC, MVP và MVVM, vai trò Activity như Controller, ưu thế của MVP và MVVM về kiểm thử và tách lớp, ViewModel và Data Binding; kiểm thử giao diện bằng Espresso và thư viện hỗ trợ AppCompat.

0Bộ đề
22+Câu hỏi
Học từ ngân hàng câu hỏi

Bắt đầu một phiên học theo môn

Tiến độ của bạn sẽ luôn được tính toán và đồng bộ trực tiếp theo tổng số lượng câu hỏi mới nhất của môn học này.

271Ngân hàng hiện tại
--Tiến độ môn
Số câu hỏi
Dải câu hỏi Độ khó tổng thể: Đang tính
Đăng nhập để theo dõi tiến độ theo môn và tiếp tục phiên học đang dở.
Phiên sắp tạo
271 câu Chế độ học Trộn
Bạn cần đăng nhập để bắt đầu học từ ngân hàng câu hỏi và lưu tiến độ theo môn.
0Dễ · --
0Trung bình · --
0Khó · --
--Đã học
--Đang nắm chắc
Đăng nhập để xemLần hoàn tất gần nhất
Đăng nhập để bắt đầu học từ ngân hàng câu hỏi, lưu tiến độ theo môn, resume phiên đang dở và cập nhật thống kê dài hạn.

Ngân hàng câu hỏi

Xem trước · Cuộn vô hạn
Xem tất cả
Đang hiển thị 8 / 271 câu hỏi
Bấm vào từng câu để xem đáp án
#001
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Aandroid.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGEĐÚNG
Candroid.permission.CAMERA
Dandroid.permission.SEND_SMS
Giải thích

Để một ứng dụng Android có thể ghi vào bộ nhớ ngoài, ứng dụng đó cần có quyền truy cập vào bộ nhớ ngoài. Trong danh sách các quyền được liệt kê, quyền "android.permission.WRITE_EXTERNAL_STORAGE" là quyền cho phép ứng dụng ghi vào bộ nhớ ngoài. Điều này có nghĩa là ứng dụng có thể lưu trữ dữ liệu của mình vào bộ nhớ ngoài, chẳng hạn như bộ nhớ đệm, thẻ nhớ hoặc bộ nhớ USB. Quyền này rất quan trọng vì nó cho phép ứng dụng lưu trữ dữ liệu lớn và truy cập vào bộ nhớ ngoài một cách dễ dàng. Tuy nhiên, quyền này cũng có thể gây ra vấn đề bảo mật nếu không được sử dụng một cách cẩn thận.

#002
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AViewModel
ActivityĐÚNG
CService
DBroadcastReceiver
Giải thích

Trong mô hình MVC (Model-View-Controller), Controller đóng vai trò là lớp trung gian giữa Model và View, chịu trách nhiệm xử lý các yêu cầu từ View và cập nhật Model. Trong Android, lớp tương tự như Controller là Activity. Activity là lớp chính của ứng dụng Android, chịu trách nhiệm quản lý vòng đời của ứng dụng, xử lý các sự kiện và cập nhật giao diện người dùng. Activity cũng có thể tương tác với các lớp khác như Service, BroadcastReceiver và ViewModel để thực hiện các tác vụ phức tạp hơn.

#003
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
shared preferencesĐÚNG
internal storageĐÚNG
Cexternal storage
DSd card
Giải thích

Trong lập trình di động, việc lưu trữ dữ liệu là một phần quan trọng. Có nhiều cách lưu trữ dữ liệu khác nhau, bao gồm Shared Preferences, Internal Storage, External Storage và SD Card. Tuy nhiên, không phải tất cả các cách lưu trữ đều cần có sự cho phép của người dùng. Cụ thể, Shared Preferences và Internal Storage không cần có sự cho phép của người dùng để lưu trữ dữ liệu. Shared Preferences là một cơ sở dữ liệu nhỏ gọn được sử dụng để lưu trữ các giá trị nhỏ như chuỗi, số nguyên, v.v. Internal Storage là bộ nhớ trong của thiết bị di động, nơi mà ứng dụng có thể lưu trữ dữ liệu của mình mà không cần có sự cho phép của người dùng. Điều này giúp ứng dụng có thể lưu trữ dữ liệu một cách nhanh chóng và dễ dàng mà không cần phải hỏi ý kiến của người dùng.

#004
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ViewĐÚNG
BModel
CController
DPresenter
Giải thích

Trong kiến trúc MVC, logic kinh doanh nên được xử lý ở đâu? Để trả lời câu hỏi này, chúng ta cần hiểu rõ chức năng của từng thành phần trong kiến trúc MVC. View (Trình bày) chịu trách nhiệm hiển thị dữ liệu, Model (Mô hình) chịu trách nhiệm lưu trữ và xử lý dữ liệu, Controller (Quản lý) chịu trách nhiệm điều hướng và xử lý logic kinh doanh, còn Presenter (Trình bày viên) là một thành phần bổ sung trong kiến trúc MVP (Model-View-Presenter), có chức năng tương tự như Controller trong kiến trúc MVC. Tuy nhiên, trong kiến trúc MVC, logic kinh doanh nên được xử lý ở Controller, vì Controller là thành phần chịu trách nhiệm điều hướng và xử lý logic kinh doanh. Vì vậy, phương pháp nên tránh khi xử lý logic kinh doanh trong kiến trúc MVC là View.

#005
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AStorage
PermissionĐÚNG
CDatabase
DBroadcastReceiver
Giải thích

Từ Android 6.0 trở lên, hệ điều hành đã thay đổi cách quản lý quyền truy cập (permission) của ứng dụng. Trước đây, ứng dụng có thể yêu cầu quyền truy cập mà không cần sự cho phép của người dùng. Tuy nhiên, từ Android 6.0, người dùng phải cho phép ứng dụng truy cập vào các quyền cụ thể. Điều này giúp tăng cường bảo mật và quyền riêng tư cho người dùng. Ngoài ra, ứng dụng cũng phải khai báo rõ ràng các quyền mà nó cần để hoạt động. Vì vậy, từ Android 6.0, component quản lý quyền truy cập (Permission) đã thay đổi đáng kể.

#006
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
RoomĐÚNG
BViewModel
CData
DNavigation
Giải thích

Các thư viện Jetpack có thể được sử dụng trong lớp dữ liệu là những thư viện giúp chúng ta quản lý dữ liệu một cách hiệu quả. Trong số các lựa chọn trên, Room là một thư viện quan trọng trong lớp dữ liệu. Room giúp chúng ta tạo ra cơ sở dữ liệu địa phương trên thiết bị di động và thực hiện các truy vấn cơ sở dữ liệu một cách hiệu quả. Ngoài ra, Room cũng hỗ trợ các tính năng như lưu trữ dữ liệu, truy vấn dữ liệu và cập nhật dữ liệu một cách tự động. Vì vậy, Room là một lựa chọn tốt cho lớp dữ liệu.

#007
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ARequest the permission.
BDesign your app UX to be self-explanatory.
Declare the permission in your app's manifest file.ĐÚNG
DWait for the user to request a specific action.
Giải thích

Bước đầu tiên trong quy trình xử lý quyền cho ứng dụng Android là gì? Để bắt đầu, bạn cần khai báo quyền trong tệp manifest.xml của ứng dụng. Tệp này chứa thông tin cơ bản về ứng dụng, bao gồm quyền cần thiết. Khi khai báo quyền, bạn cần chỉ định quyền đó có thể được sử dụng ở cấp độ nào: cấp độ ứng dụng (app), cấp độ hoạt động (activity) hoặc cấp độ dịch vụ (service). Sau khi khai báo quyền, bạn có thể yêu cầu quyền này khi ứng dụng được chạy.

#008
—
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATo allow the app to access the device's camera.
To enable the app to make network calls.ĐÚNG
CTo permit the app to read user contacts.
DTo allow the app to access the device's location.
Giải thích

Mục đích của việc thêm android.permission.INTERNET vào file AndroidManifest.xml là để cho phép ứng dụng của bạn truy cập internet và thực hiện các yêu cầu mạng. Điều này cho phép ứng dụng của bạn gửi yêu cầu đến các dịch vụ mạng, tải dữ liệu từ internet và thực hiện các hoạt động mạng khác. Nếu bạn không thêm quyền truy cập internet vào file AndroidManifest.xml, ứng dụng của bạn sẽ không thể thực hiện các yêu cầu mạng và sẽ không thể hoạt động đúng cách. Vì vậy, việc thêm android.permission.INTERNET vào file AndroidManifest.xml là rất quan trọng để đảm bảo ứng dụng của bạn có thể truy cập internet và thực hiện các yêu cầu mạng một cách hiệu quả.

Cuộn để tải thêm…