Thông tin tài liệu
Trường ĐH Khoa Học Tự Nhiên Tp. Hồ Chí Minh TRUNG TÂM TIN HỌC 2014 Lập trình Android Bài 1. Khai thác tài nguyên Internet Ngành Mạng & Thiết bị di động Lập trình Android (2014) – Bài 1. Khai thác tài nguyên Internet 2 1. Kết nối tài nguyên Internet ● Tài nguyên Internet trên thiết bị di động ● Các vấn đề về kết nối – Hình thức kết nối ● Lớp khai báo kết nối 2. Sử dụng dịch vụ DownloadManager Nội dung Lập trình Android (2014) – Bài 1. Khai thác tài nguyên Internet 3 1.1 Tài nguyên Internet trên thiết bị di động Ứng dụng trực tuyến trên thiết bị di động được xây dựng nhằm mục đích hiển thị dữ liệu đầu cuối được xử lý từ các máy chủ cũng như gửi các yêu cầu về truy xuất dữ liệu . Khi xây dựng các ứng dụng trực tuyến cần xác định rõ nguồn tài nguyên được cung cấp: ● Định dạng tài nguyên (văn bản, hình ảnh…) ● Giao thức kết nối đến máy chủ (http, https, tcp, rtsp…) ● Sử dụng công nghệ kết nối không dây (Wifi, Internet Mobile…) Lập trình Android (2014) – Bài 1. Khai thác tài nguyên Internet 4 1.2 Các vấn đề kết nối Xây dựng ứng dụng thực hiện kết nối Internet trên thiết bị di động cần đảm bảo các vấn đề sau: ● Băng thông ● Lưu Cache ● Năng lượng ● Tính năng thiết bị Lập trình Android (2014) – Bài 1. Khai thác tài nguyên Internet 5 1.2 Hình thức kết nối Các thiết bị di động ở thời điểm hiện tại có thể quy chung về hình thức kết nối sau: ● Mobile Internet: một dạng kết nối thông qua hình thức cung cấp dịch vụ băng thông của nhà mạng, bao gồm một số chuẩn phổ biến sau: GPRS, EDGE, 3G, 4G, LTE… ● Wifi: kết nối không dây và truyền dữ liệu ra Internet thông các thiết bị mạng (router, switch…), ngoài ra thiết bị di động Android có khả năng phát tín hiệu mạng cho các thiết bị khác. Lập trình Android (2014) – Bài 1. Khai thác tài nguyên Internet 6 1.3 Lớp khai báo kết nối Việc khai báo kết nối tùy thuộc vào chuẩn giao thức kết nối và địa chỉ URL của máy chủ cần kết nối: ● URL: lớp giải quyết phân giải tên miền thành địa chỉ IP. Định dạng: http://username:password@host:8080/directory/file?query#ref: Phương thức kết nối openConnection ● URLConnection: lớp thực hiện kết nối đến URL được chỉ định cho việc đọc hoặc ghi dữ liệu, hỗ trợ các giao thức: File: URIs FTP HTTP & HTTPS Jar Lập trình Android (2014) – Bài 1. Khai thác tài nguyên Internet 7 1.3 Lớp khai báo kết nối URLConnection: ● Các phương thức quan trọng: connect() getContent() getContentType() getInputStream() getOutputStream() setDoInput – getDoInput setDoOutput - getDoOutput Lập trình Android (2014) – Bài 1. Khai thác tài nguyên Internet 8 1.3 Lớp khai báo kết nối URLConnection: ● Các lớp giao thức HTTP & HTTPS: HttpURLConnection HttpsURLConnection Các phương thức quan trọng: disconnect() getContentEncoding() getResponseCode() getResponseMessage() Lập trình Android (2014) – Bài 1. Khai thác tài nguyên Internet 9 1.3 Lớp khai báo kết nối Thực hiện kết nối Internet (HTTP): ● Bao gồm các bước sau: Thực hiện mở kết nối đến địa chỉ URL được chỉ định -> HttpURLConnection. Thực hiện khai báo các header, content-type, cookies… Gọi phương thức setDoOutput(true) thực hiện xây dựng phần dữ liệu cần gửi lên máy chủ, dữ liệu được thiết lập được trả thông qua phương thức getOutputStream(). (Optional). Thực hiện truy xuất dữ liệu thông qua phương thức getInputStream(), để lấy các thông tin về nội dung được trả, độ dài, thời gian… Gọi phương thức disconnect() để đóng các kết nối khi kết thúc phiên làm việc và giải phóng tài nguyên. Lập trình Android (2014) – Bài 1. Khai thác tài nguyên Internet 10 1.3 Lớp khai báo kết nối Thực hiện kết nối Internet: ● Một số lưu ý khi thực hiện: Cần thực hiện xin cấp quyền truy cập Internet cho ứng dụng trong tập tin AndroidManifest. <uses-permission android:name="android.permission.INTERNET" /> Trong một vài trường hợp cần xin cấp quyền kiểm soát trạng thái Internet <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> Không được thực hiện kết nối Internet trực tiếp trên tiến trình chính của ứng dụng. Sử dụng AsyncTask hoặc Thread để thay thế. [...]... InputStream in = urlConnection.getInputStream(); Lập trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 13 Nội dung 1 Kết nối tài nguyên Internet 2 Sử dụng dịch vụ DownloadManager ● Giới thiệu ● Khai báo và sử dụng ● Tuỳ chỉnh thông báo và nơi lưu trữ ● Truy vấn nội dung tải Lập trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 14 2 .1 Giới thiệu DownloadManager: ● Download Manager là trình... trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 16 2.2 Khai báo và sử dụng DownloadManager: ● Một số phương thức quan trọng: getMaxBytesOverMobile getRecommendedMaxBytesOverMobile (Android 3.0) enqueue remove getMineTypeForDownloadedFile getUriForDownloadedFile openDownloadedFile query Lập trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 17 2.2 Khai báo và sử dụng... STATUS_PENDING STATUS_RUNNING STATUS_SUCCESSFUL Lập trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 18 2.2 Khai báo và sử dụng DownloadManager: ● Các hành động tương tác dịch vụ: ACTION_DOWNLOAD_COMPLETE ACTION_NOTIFICATION_CLICKED ACTION_VIEW_DOWNLOADS Lập trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 19 2.2 Khai báo và sử dụng DownloadManager: ● Ví dụ kiểm tra khi thực... trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 23 2.4 Truy vấn nội dung tải DownloadManager: ● Các cột dữ liệu quan trọng trong bảng dữ liệu Download COLUMN_ID COLUMN_LOCAL_FILENAME COLUMN_LOCAL_URI COLUMN_MEDIA_TYPE COLUMN_REASON COLUMN_STATUS COLUMN_BYTES_DOWNLOADED_SO_FAR COLUMN_TOTAL_SIZE_BYTES Lập trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 24 2.4 Truy... cursor.getString(cursor.getColumnIndex (DownloadManager.COLUMN_LOCAL_FILENAME)); if (path != null) imageView.setImageURI(Uri.parse(path)); } Lập trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 25 Thảo luận Lập trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 26 ... thông tin về nội dung được trả, độ dài, thời gian… Gọi phương thức disconnect() để đóng các kết nối khi kết thúc phiên làm việc và giải phóng tài nguyên Lập trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 12 1. 3 Lớp khai báo kết nối Thực hiện kết nối Internet (HTTPS): ● Ví dụ: KeyStore keyStore = ; String algorithm = TrustManagerFactory.getDefaultAlgorithm(); TrustManagerFactory tmf = TrustManagerFactory.getInstance(algorithm);... HttpURLConnection.HTTP_OK) { InputStream inputStream = httpURLConnection getInputStream(); // Xử lý đọc dữ liệu từ InputStream } Lập trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 11 1. 3 Lớp khai báo kết nối Thực hiện kết nối Internet (HTTPS): ● Bao gồm các bước sau: Khai báo KeyStore dùng để chứng thực Chứng thực KeyStore thông qua X509TrustManager hoặc SSLSocketFactory Thực hiện mở kết nối đến... (2 014 ) – Bài 1 Khai thác tài nguyên Internet 15 2.2 Khai báo và sử dụng DownloadManager: ● Việc truy xuất dịch vụ được thông qua Context của ứng dụng gọi thực thi: DownloadManager manager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); ● Để khởi tạo yêu cầu tải một nội dung, tiến hành tạo đối tượng Request Ví dụ: Uri uri = Uri.parse ("http://developer.android.com/downloads/design/roboto -1. 2.zip");... public void onReceive(Context context, Intent intent) { long id_reference = intent.getLongExtra (DownloadManager.EXTRA_DOWNLOAD_ID, -1) ; Log.d("HTSI", "File's id: " + id_reference); } }; registerReceiver(receiver, filter); Lập trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 20 2.3 Tuỳ chỉnh thông báo và nơi lưu trữ DownloadManager: ● Tuỳ chỉnh thông báo: mặc định trên thanh trạng thái (Status... Bar) của thiết bị sẽ xuất hiện một hộp thoại thông báo hoạt động hiện tại, hiển thị các thông tin như: tên tập tin được tải, ngày giờ tải, dung lượng đã tải… Lập trình Android (2 014 ) – Bài 1 Khai thác tài nguyên Internet 21 2.3 Tuỳ chỉnh thông báo và nơi lưu trữ DownloadManager: ● Tuỳ chỉnh thông báo: được thông qua đối tượng Request setTitle setVisibleInDownloadUi setNotificationVisibility . HỌC 2 014 Lập trình Android Bài 1. Khai thác tài nguyên Internet Ngành Mạng & Thiết bị di động Lập trình Android (2 014 ) – Bài 1. Khai thác tài nguyên Internet 2 1. Kết nối tài nguyên Internet ● Tài. thúc phiên làm việc và giải phóng tài nguyên. Lập trình Android (2 014 ) – Bài 1. Khai thác tài nguyên Internet 10 1. 3 Lớp khai báo kết nối Thực hiện kết nối Internet: ● Một số lưu ý khi thực. thúc phiên làm việc và giải phóng tài nguyên. Lập trình Android (2 014 ) – Bài 1. Khai thác tài nguyên Internet 13 1. 3 Lớp khai báo kết nối Thực hiện kết nối Internet (HTTPS): ● Ví dụ: KeyStore
Ngày đăng: 05/04/2015, 21:42
Xem thêm: Bài 1 khai thác tài nguyên internet, Bài 1 khai thác tài nguyên internet, 3 Lớp khai báo kết nối, 2 Khai báo và sử dụng, 3 Tuỳ chỉnh thông báo và nơi lưu trữ