Thứ Ba , Tháng Tám 22 2017
Lập trình android / VIDEO BÀI GIẢNG / Lập trình Android / [Android Cơ Bản] 19d. Các service dựa trên vị trí (tiếp)

[Android Cơ Bản] 19d. Các service dựa trên vị trí (tiếp)

Hiển thị một địa chỉ vị trí

Một khi bạn đã có đối tượng Location, bạn có thể sử dụng phương thức Geocoder.getFromLocation() để lấy một địa chỉ cho một kinh độ và vĩ độ cho trước. Phương thức này được đồng bộ và có thể mất nhiều thời gian để có thể hoạt động, vì thế bạn nên gọi phương thức từ phương thức doInBackground() của một lớp AsyncTask.

AsyncTask phải được đặt là một lớp phụ để được sử dụng và lớp phụ này sẽ ghi đè phương thức doInBackground(Params…) để thực hiện một tác vụ chạy nền và phương thức onPostExecute(Result) được gọi trong UI thread sau khi việc tính toán dưới background kết thúc và trong thời gian hiển thị kết quả. Có nhiều phương thức quan trọng hơn trong AsyncTask mà execute(Params… params), phương thức này thực thi tác vụ với các tham số xác định.

Xem ví dụ sau để có thể hiểu rõ hơn về việc chúng ta làm thế nào để sử dụng AsynchTask trong bất kì ứng dụng Android nào để hoàn thành công việc chạy nền mà không hề gây trở ngại với các tác vụ chính.

Ví dụ

Ví dụ sau đây sẽ thể hiện rõ cách làm thế nào để sử dụng Location Service trong ứng dụng của bạn để lấy vị trí hiện tại và địa chỉ tương đương của nó.

Để thí nghiệm với ví dụ này, bạn sẽ cần một thiết bị di động đã cài đặt phiên bản Android mới nhất, nếu không bạn sẽ gặp vấn đề trong lúc test thử với emulator, nó có thể sẽ không hoạt động.

Cài đặt Google Play Service SDK

Trước khi bạn bắt đầu chạy location support trong ứng dụng android của bạn, bạn sẽ cần phải cài đặt Google Play Service SDK theo những bước đơn giản sau:

Bước Mô tả
1 Khởi động Android Studio IDE

  • Từ Android Studio, lựa chọn file >project structure >dependencies > nhấn on + button để thêm các dependency.

  • bạn sẽ nhận được sự lựa chọn các thư viện dependency dưới dạng cửa sổ.
2 Tìm kiếm com.google.android.gms:play-services:6.5.87 hoặc phiên bản thư viện mới hơn. Nó phụ thuộc vào phiên bản Android các bạn đang sử dụng.
3 Lựa chọn các service google play và nhấn vào nút apply như hình sau

Tạo ứng dụng Android

Bước Mô tả
1 Bạn sẽ sử dụng Android Studio IDE để tạo một ứng dụng Android và đặt tên
2 Thêm thư viện Google Play Service trong project của bạn bằng những bước đơn giản được viết ở dưới.
3 Chỉnh sửa file src/MainActivity.java và thêm các đoạn code bắt buộc như dưới đây để có thể chú ý tới việc lấy dữ liệu location hiện tại và các địa chỉ tương đương.
4 Chỉnh sửa file layout XML res/layout/activity_main.xml để thêm tất cả các thành phần GUI mà đã bao gồm 3 button và hai text view để thể hiện location/address
5 Chỉnh sửa file res/values/strings.xml để xác định các giá trị hằng số yêu cầu.
6 Chỉnh sửa file AndroidManifest.xml 
7 Chạy ứng dụng và khởi động Emulator và xác nhận kết quả thay đổi trong ứng dụng.

Ok giờ hãy thêm tham chiếu Google Play Service vào project. Nhấn chọn file > project structure > dependencies > và lựa chọn + và sau đó search Google Play Services, bạn sẽ thấy com.google.android.gms:play-services:6.5.87, nhấn vào nút OK, nó sẽ đóng các cửa sổ dependencies đã chọn. Bạn sẽ phải tắt cấu trúc project bằng cách nhấn vào nút apply.

location1

Hình trên sẽ thể hiện kết quả của việc thêm Google Play Service vào project của bạn, sau khi add các Google Play Service vào project, nó sẽ hiện ra như sau:

location2

Sau đây là nội dung của file main activity đã chỉnh sửa src/com.example.Tutorialspoint/MainActivity.java.

Sau đây là nội dung file res/layout/activity_main.xml

Sau đây là nội dung của file res/values/strings.xml để xác định hai hằng số mới.

Sau đây là nội dung mặc định của AndroidManifest.xml

Giờ hãy thử chạy ứng dụng trên Emulator để xem kết quả nhé

location3

Sau khi nhấn vào nút Get Location bạn sẽ thấy kết quả:

location4

[Total: 0    Average: 0/5]

Bạn nên xem

[Android cơ bản] 19. Các service dựa trên location

API Android Location giúp bạn có thể dễ dàng xây dựng các ứng dụng xác …

Trả lời

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Facebook chat Vietpro