Bài 1 khai thác tài nguyên internet

26 1.4K 6
Bài 1   khai thác tài nguyên internet

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Từ khóa liên quan

Mục lục

  • Lập trình Android Bài 1. Khai thác tài nguyên Internet

  • Nội dung

  • 1.1 Tài nguyên Internet trên thiết bị di động

  • 1.2 Các vấn đề kết nối

  • 1.2 Hình thức kết nối

  • 1.3 Lớp khai báo kết nối

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • 2.1 Giới thiệu

  • 2.2 Khai báo và sử dụng

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan