Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
685,13 KB
Nội dung
LẬPTRÌNHANDROIDNÂNG CAO Bài 6:Cácthaotácmạng Nội dung học Kiểm tra kết nối mạng thiết bị Quản lý sử dụng mạng thiết bị Miêu tả Preference Activity Đáp ứng thay đổi Preference Nhận biết thay đổi kết nối mạng Phân tích XML Data Kiểm tra kết nối mạng thiết bị Một thiết bị có nhiều kiểu kết nối mạng Hai kiểu kết nối mạng chủ yếu kết nối WiFi 3G WiFi thường có tốc độ nhanh hơn, 3G thường chậm Trước bạn thực thaotác mạng, bạn nên kiểm tra trạng thái kết nối mạng Nếu ứng dụng bạn khơng có kết nối mạng, bạn nên thơng báo với người dùng Kiểm tra kết nối mạng thiết bị Hai lớp sau dùng để kiểm tra kết nối mạng ConnectionManager: Truy vấn trạng thái kết nối mạng, đồng thời thơng báo người dùng có thay đổi kết nối mạng thiết bị NetworkInfo: miêu tả trạng thiết mạng ứng với kiểu cụ thể (WiFi 3G) Kiểm tra kết nối mạng thiết bị Sử dụng phương thức getNetworkInfo lớp NetworkInfo để kiểm tra kết nối mạng Lớp ConnectivityManager có kiểu TYPE_WIFI (mạng WiFi) TYPE_MOBILE (mạng 3G) Phương thức isConnected NetworkInfo để kiểm tra kết nối mạng WIFI, 3G, thiết bị Phương thức trả lại giá trị true false Khi kiểm tra kết nối mạng Emulator, bạn sử dụng phím F8 để tắt bật 3G Emulator Phải bổ sung quyền android.permission.INTERNET android.permission.ACCESS_NETWORK_STATE AndroidManifest.xml để ứng dụng thực kết nối INTERNET Kiểm tra kết nối mạng thiết bị O DEM Kiểm tra kết nối mạng Wifi, 3G thiết bị Android Quản lý sử dụng mạng Bạn xây dựng preference activity cho phép người dùng điều khiển sử dụng tài nguyên cho ứng dụng Ví dụ: Bạn cho phép người dùng upload video thiết bị kết nối mạng Wifi Bạn khai báo intent filter cho hành động ACTION_MANAGE_NETWORK_USAGE (từ Android 4.0) để miêu tả ứng dụng bạn định nghĩa Activity cho phép điều khiển sử dụng mạng ACTION_MANAGE_NETWORK_USAGE hiển thị setting để quản lý dung lượng mạng ứng dụng cụ thể Bạn nên khai báo intent filter cho setting activity Quản lý sử dụng mạng Trong ví dụ sau, lớp SettingActivity hiển thị giao diện preference cho phép người dùng chọn download feed từ StackOverflow Xây dựng Preference Activity Ví dụ, hiển thị hình preference cho phép người dùng thiết lập thông tin sau: Hiển thị thơng tin tóm tắt XML feed entry hiển thị link entry Cho phép tải XML feed từ mạng cho phép tải có WiFi Phân tích Feed Bước phân tích Feed để định trường (field) mà bạn quan tâm Parser trích rút liệu trường cần thiết bỏ qua cac trường khác Chúng ta tìm hiểu ví dụ NetworkActivity Trong ví dụ NetworkActivity, post StackOverflow.com xuất feed entry tag có chứa số tag Cấu trúc feed StackOverflow Khởi tạo Parser Bước khởi tạo Parser bắt đầu q trình phân tích Trong đoạn code ví dụ sau, parser khởi tạo mà khơng xử lý namespace, sử dụng InputStream đầu vào Parser bắt đầu tiến trình phân tích lời gọi nextTag() gọi phương thức readFeed (dùng để trích xuất xử lý liệu mà ứng dụng quan tâm) Khởi tạo Parser Đọc Feed Phương thức readFeed thực cơng việc xử lý feed Tìm kiếm element có tag “entry” đầu vào trình xử lý đệ quy feed Nếu tag khơng có entry tag, bỏ qua Khi toàn feed xử lý đệ quy, trả lại List chứa entry (bao gồm thành phần liệu) trích xuất từ feed Cuối List trả lại cho parser Đọc Feed Phân tích XML Như miêu tả phần phân tích Feed, bạn phải xác định tag bạn muốn phân tích Trong ví dụ chúng ta, bạn phải trích xuất liệu cho tag entry tag title, link, summary Tạo phương thức sau: Phương thức read cho tag mà bạn quan tâm Ví dụ readEntry(), readTitle() Parser đọc tag từ input stream Khi parser gặp tag tên entry, titlte, summary, gọi phương thức tương ứng Nếu khơng bỏ qua tag Phân tích XML Đối với tag tittle summary, parser gọi readText() Phương thức trích xuất liệu tag lời gọi parser.getText() Phân tích XML Đối với tag link, parser trích xuất liệu link cách kiểm tra xem link có phải link cần quan tâm không Sử dụng parser.getAttributeValue() để trích xuất liệu link Phân tích XML Đối với tag entry, parser gọi readEntry() Phương thức phân tích tag entry trả lại đối tượng Entry với liệu thành viên tittle, link, summary Phân tích liệu XML Ví dụ phân tích liệu XML sử dụng AsyncTask AsyncTask không xử lý liệu main thread Khi kết thúc xử lý, ứng dụng cập nhật UI main activity Sử dụng liệu XML Lớp DownloadXmlTask Lớp DownloadXmlTask lớp Asynctask Lớp gồm có hai phương thức sau: doInBackground():thi hành phương thức loadXmlFromNetwork() Nó truyền tham số feed URL Phương thức loadXmlFromNetwork() xử lý liệu feed Khi kết thúc trả lại xâu kết onPostExecute() trả lại xâu kết hiển thị UI Lớp DownloadXmlTask Tổng kết nội dung học Kiểm tra kết nối mạng thiết bị Quản lý sử dụng mạng thiết bị Miêu tả Preference Activity Đáp ứng thay đổi Preference Nhận biết thay đổi kết nối mạng Phân tích XML Data ... kiểu kết nối mạng Hai kiểu kết nối mạng chủ yếu kết nối WiFi 3G WiFi thường có tốc độ nhanh hơn, 3G thường chậm Trước bạn thực thao tác mạng, bạn nên kiểm tra trạng thái kết nối mạng Nếu... sung quyền android. permission.INTERNET android. permission.ACCESS_NETWORK_STATE AndroidManifest.xml để ứng dụng thực kết nối INTERNET Kiểm tra kết nối mạng thiết bị O DEM Kiểm tra kết nối mạng Wifi,... khơng có kết nối mạng, bạn nên thơng báo với người dùng Kiểm tra kết nối mạng thiết bị Hai lớp sau dùng để kiểm tra kết nối mạng ConnectionManager: Truy vấn trạng thái kết nối mạng, đồng thời