Câu hỏi: PRM392 - Chương 8: Mạng, Retrofit và Google Maps
28 câu trắc nghiệm kèm lời giải của môn Mobile Programming - Lập trình di động, xếp theo thứ tự nhập vào ngân hàng.
Danh sách câu hỏi
Để thêm một tùy chọn truy vấn vào một cuộc gọi REST web-service bằng Retrofit, bạn cần sử dụng annotation @Query. Annotation này cho phép bạn thêm một hoặc nhiều tham số vào URL của cuộc gọi. Bạn cần thêm tham số vào hàm tạo request và đánh dấu tham số đó với @Query. Ví dụ, nếu bạn muốn thêm tham số 'page' và 'limit' vào URL, bạn có thể sử dụng code như sau: @GET("users")
Call<List<User>> getUsers(@Query("page") int page, @Query("limit") int limit);Trong ví dụ trên, tham số 'page' và 'limit' sẽ được thêm vào URL như sau: https://example.com/users?page=1&limit=10. Ngoài ra, bạn cũng có thể thêm tham số mặc định bằng cách sử dụng tham số thứ hai trong annotation @Query. Ví dụ: @GET("users")
Call<List<User>> getUsers(@Query("page") int page, @Query("limit") int limit = 10);Trong ví dụ trên, tham số 'limit' sẽ có giá trị mặc định là 10 nếu không được cung cấp.
onMapReady(GoogleMap)onMapLoaded(GoogleMap)onMapCreate(GoogleMap)onMapInitialize(GoogleMap)setMarkeraddMarkersetpointaddPointĐể thêm một dấu hiệu (marker) vào bản đồ Google, chúng ta cần sử dụng phương pháp phù hợp. Trong các lựa chọn trên, phương pháp được sử dụng phổ biến nhất là "addMarker". Phương pháp này cho phép chúng ta thêm một dấu hiệu vào vị trí cụ thể trên bản đồ Google. Để sử dụng phương pháp này, chúng ta cần cung cấp thông tin về vị trí và nội dung của dấu hiệu. Ví dụ, chúng ta có thể sử dụng phương pháp "addMarker" như sau:
map.addMarker({
lat: 10.823, lng: 106.629, title:'Dấu hiệu', icon: 'red-dot' });. Phương pháp này rất hữu ích khi chúng ta cần thêm nhiều dấu hiệu vào bản đồ Google.
socket.accept()socket.sendto(address)socket.acceptsocketaccept.socket()Để thêm một bản đồ Google vào một layout Android, bạn cần sử dụng thẻ XML <fragment>. Thẻ này cho phép bạn thêm các yếu tố UI khác nhau vào layout của mình, bao gồm cả bản đồ Google. Khi sử dụng thẻ <fragment>, bạn cần thêm một thẻ <com.google.android.gms.maps.MapFragment> bên trong nó để hiển thị bản đồ Google. Điều này cho phép bạn dễ dàng thêm và quản lý các yếu tố UI khác nhau trong layout của mình.
MapViewGoogleMapMapFragmentLocationManagerĐể tạo một instance của một interface Retrofit API, bạn cần sử dụng một cách cụ thể. Đầu tiên, bạn cần tạo một đối tượng Retrofit Builder bằng cách sử dụng phương thức new. Sau đó, bạn cần thêm baseUrl và converter factory vào đối tượng này. Cuối cùng, bạn có thể tạo instance của interface Retrofit API bằng phương thức create(). Ví dụ, bạn có thể sử dụng đoạn mã sau: Retrofit retrofit =
new Retrofit.Builder().baseUrl(BASE_URL).addConverterFactory(GsonConverterFactory.create()).build();MyApiEndpointInterface api =
retrofit.create(MyApiEndpointInterface.class);ServerSocket.create()new ServerSocket(PORT)SocketServer(PORT)new SocketServer()android.permission.INTERNETandroid.permission.BLUETOOTHandroid.permission.CAMERAandroid.permission.READ_CONTACTSĐể xác định một cơ thể JSON trong một yêu cầu POST bằng Retrofit, bạn cần sử dụng annotation '@Body'. Annotation này cho phép bạn truyền một đối tượng Java sang phương thức API của Retrofit. Khi sử dụng '@Body', bạn cần tạo một lớp Java có phương thức toString() để chuyển đổi đối tượng thành JSON. Ví dụ, nếu bạn muốn gửi một đối tượng User sang API, bạn cần tạo một lớp User với phương thức toString() như sau:
public class User {
private String name;
private int age;@Override
public String toString() {
return "User {name='" + name + "', age=" + age + "}";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}Sau đó, bạn có thể sử dụng '@Body' để gửi đối tượng User sang API như sau: @POST("/users")
Call<User> createUser(@Body User user);Bằng cách sử dụng '@Body', bạn có thể dễ dàng gửi các đối tượng Java sang API của Retrofit.