PRM392Chưa đoKỳ 7Chuyên ngành Cập nhật 24/07/2026

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

Ô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ó 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.

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

Câu hỏi của môn

271/271 câuHết danh sách
AsetCameraPosition()
BsetCameraTarget()
CCameraUpdateFactory.newCameraPosition()
Dmap:cameraZoom
Lời giải
Để đặt vị trí ban đầu của camera trên bản đồ trong layout XML, bạn cần sử dụng phương thức Google Maps API phù hợp. Phương thức này được sử dụng để xác định vị trí ban đầu của camera trên bản đồ. Trong các lựa chọn trên, phương thức "CameraUpdateFactory.newCameraPosition()" là phương thức chính xác được sử dụng để đặt vị trí ban đầu của camera trên bản đồ trong layout XML. Phương thức này cho phép bạn tạo một đối tượng CameraUpdate mới và đặt vị trí ban đầu của camera trên bản đồ dựa trên các tham số như vị trí, zoom và hướng. Điều này giúp bạn có thể dễ dàng điều chỉnh vị trí ban đầu của camera trên bản đồ để phù hợp với nhu cầu của ứng dụng.
Mở trang câu hỏi này →
ASQLiteDatabase.openDatabase()
BSQLiteDatabase.createDatabase()
CSQLiteDatabase.openOrCreateDatabase()
DSQLiteOpenHelper.getDatabase()
Lời giải
Trong Android, SQLite là một cơ sở dữ liệu quan hệ được sử dụng rộng rãi. Để mở hoặc tạo một cơ sở dữ liệu SQLite, chúng ta cần sử dụng phương thức thích hợp. Trong các lựa chọn trên, phương thức chính được sử dụng để mở hoặc tạo một cơ sở dữ liệu SQLite là SQLiteDatabase.openOrCreateDatabase(). Phương thức này cho phép chúng ta mở một cơ sở dữ liệu SQLite nếu nó đã tồn tại, hoặc tạo một cơ sở dữ liệu mới nếu nó chưa tồn tại. Điều này làm cho nó trở thành phương thức chính được sử dụng trong các ứng dụng Android.
Mở trang câu hỏi này →
ABy its column name.
BBy a unique ID.
CBy the name of the table.
DBy the name of the database.
Lời giải
Khi sử dụng cơ sở dữ liệu SQLite, một hàng được xác định bằng cách sử dụng một ID duy nhất. Mỗi hàng trong cơ sở dữ liệu SQLite đều có một ID duy nhất, được gọi là ROWID. ROWID là một số nguyên không âm và được tự động tạo ra khi hàng được thêm vào cơ sở dữ liệu. Điều này cho phép bạn truy cập và cập nhật hàng một cách dễ dàng và hiệu quả. Ví dụ, bạn có thể sử dụng câu lệnh SELECT * FROM bảng WHERE ROWID = ID_hàng để lấy thông tin của hàng có ID_hàng cụ thể.
Mở trang câu hỏi này →
ABy annotating Java classes with @Entity for entities and @Dao for DAOs.
BBy creating XML layout files for entities and DAOs.
CBy using predefined classes for entities and DAOs provided by Room database.
DEntities and DAOs are not used in Room database.
Lời giải
Trong khi làm việc với Room database, bạn cần hiểu rõ về khái niệm entity và data access object (DAO). Entity là một đối tượng trong cơ sở dữ liệu, đại diện cho một dòng dữ liệu trong bảng. DAO là một lớp giúp bạn tương tác với cơ sở dữ liệu, thực hiện các hành động như thêm, sửa, xóa dữ liệu. Để định nghĩa entity và DAO trong Room database, bạn cần sử dụng annotations @Entity và @Dao. Annotations @Entity giúp Room database nhận biết class Java của bạn là một entity, trong khi annotations @Dao giúp Room database nhận biết class Java của bạn là một DAO. Sau đó, bạn có thể sử dụng các phương thức của DAO để tương tác với cơ sở dữ liệu.
Mở trang câu hỏi này →
AIt reduces boilerplate code by automatically updating the view when the data changes.
BIt encrypts data to enhance security.
CIt increases data storage capacity.
DIt simplifies network operations.
Lời giải
Data binding trong kiến trúc MVVM giúp tự động cập nhật giao diện khi dữ liệu thay đổi. Điều này giúp giảm thiểu mã lặp (boilerplate code) và tăng hiệu suất phát triển. Khi dữ liệu thay đổi, data binding sẽ tự động cập nhật giao diện, giúp đảm bảo dữ liệu luôn được hiển thị chính xác. Điều này đặc biệt hữu ích khi phát triển ứng dụng phức tạp, nơi dữ liệu thường xuyên thay đổi. Ngoài ra, data binding cũng giúp giảm thiểu lỗi do con người gây ra, vì nó tự động cập nhật giao diện dựa trên dữ liệu thực tế.
Mở trang câu hỏi này →
A@Query("sort") String sort
B@Path("sort") String sort
C@Field("sort") String sort
D@Url("sort") String sort
Lời giải
Khi bạn tạo một yêu cầu đến /group/5/users?sort=name, bạn cần định nghĩa tham số sort trong phương thức Retrofit bằng cách sử dụng tham số truy vấn. Điều này có nghĩa là bạn cần sử dụng @Query để chỉ định tham số sort. Ví dụ, nếu bạn muốn sắp xếp danh sách người dùng theo tên, bạn sẽ sử dụng @Query("sort") String sort. Điều này cho phép bạn dễ dàng thay đổi tham số sort mà không cần phải thay đổi phương thức Retrofit.
Mở trang câu hỏi này →
AUse libraries like Retrofit or Volley for asynchronous HTTP requests.
BEmbed the URL directly within the XML layout file.
CCall execute() method on an AsyncTask with the URL.
DUtilize HttpURLConnection for opening connections and reading responses.
Lời giải
Để gửi một yêu cầu GET đến một URL dịch vụ web trên Android, bạn có thể sử dụng các thư viện như Retrofit hoặc Volley để thực hiện các yêu cầu HTTP bất đồng bộ. Những thư viện này cung cấp các phương thức dễ sử dụng để gửi yêu cầu và xử lý phản hồi từ server. Ví dụ, bạn có thể sử dụng Retrofit để tạo một đối tượng Client và gọi phương thức GET để gửi yêu cầu đến URL. Ngoài ra, bạn cũng có thể sử dụng HttpURLConnection để mở kết nối và đọc phản hồi từ server, nhưng phương pháp này có thể phức tạp hơn và không được khuyến khích sử dụng.
Mở trang câu hỏi này →