ݺߣ

ݺߣShare a Scribd company logo
TRƯỜNG ĐẠI HỌC PHAN THIẾT
KHOA CÔNG NGHỆ THÔNG TIN
SEMINAR MÔN LẬP TRÌNH DI ĐỘNG
KẾT NỐI
NGUỒN DỮ LIỆU TỪ INTERNET
Lớp : K2510101
Sinh viên : MSSV :
Nguyễn Ngọc Hoàng 1051010005
Nguyễn Thị Kim Phượng 1051010008
Trần Minh Thảnh 1051010010
NỘI DUNG TRÌNH BÀY
1. LÝ THUYẾT.
1.1. Tìm hiểu HttpURLConnection.
1.2. Tìm hiểu HttpClient.
1.3. Tìm hiểu XmlPullParser.
1.4. Kiểm tra kết nối internet.
II. THỰC HÀNH.
2.1. Tạo và cấu hình project.
2.2. Thiết kế layout.
2.3. Thiết kế các đối tượng.
2.4. Code ứng dụng demo.
1. LÝ THUYẾT
Semina Kết nối nguồn dữ liệu từ Internet
- Hai đối tượng dùng để gửi, nhận dư liệu trên internet:
+ HttpURLConnection
+ HttpClient.
- Cả hai đối tượng đều hỗ trợ giao thức HTTPS, download và
upload stream, cấu hình timeout.
- Từ phiên bản Android 2.3 trở đi, khuyên dùng đối tượng
HttpURLConnection.
1.1. Tìm hiểu HttpURLConnection.
- Kế thừa từ lớp URLConnection.
- Dùng để gửi và nhận dữ liệu trên web với bất kỳ dạng dữ
liệu và độ lớn nào.
- HttpURLConnection gửi nhận dữ liệu có kích thước
không xác định trước.
1.1. Tìm hiểu HttpURLConnection.
- Để lấy dữ liệu trên web dùng HttpURLConnection:
+ Tạo một URL:
URL url =
new URL("http://pdt.upt.edu.vn/rss2");
+ Tạo đối tượng HttpURLConnection.
HttpURLConnection conn =
(HttpURLConnection) url.openConnection();
+ Lấy dữ liệu từ HttpURLConnection dạng InputStream.
InputStream stream = conn.getInputStream();
1.1. Tìm hiểu HttpURLConnection.
1.1. Tìm hiểu HttpURLConnection.
- Sau khi lấy được stream từ đối tượng HttpURLConnection,
convert stream thành dữ liệu cần dung.
- Khi lấy dữ liệu hoàn tất, ta phải đóng kết nối.
conn.disconnect();
 Chỉ cần thực hiện tuần tự các thao tác trên, ta đã lấy
được dữ liệu từ một địa chỉ web cụ thể. Có thể tham khảo them
tại địa chỉ:
http://developer.android.com/reference/java/net/HttpUR
LConnection.html
1.2. Tìm hiểu HttpClient.
- Là một interface dành cho HTTP client.
- Đóng gói những thành phần thực hiện các thao tác quản lý
kết nối, trao đổi dữ liệu, xác thực web.
- Thay vì dùng HttpURLConnection, có thể dùng HttpClient
để gửi và nhận dữ liệu trên internet.
1.2. Tìm hiểu HttpClient.
- Để sử dụng HttpClient gửi yêu cầu và nhận dữ liệu:
+ Tạo ra đối tượng HttpClient.
HttpClient httpclient = new DefaultHttpClient();
+ Tạo các post hay get request.
HttpPost httppost = new HttpPost(url);
hoặc HttpGet httpget = new HttpGet(url);
1.2. Tìm hiểu HttpClient.
+ Để gửi kèm giá trị, sử dụng NameValuePair.
List<NameValuePair> nameValuePairs =
new ArrayList<NameValuePair>(4);
nameValuePairs.add(
new BasicNameValuePair("code", data));
+ Thực thi HttpPost hoặc HttpGet và nhận về một
HttpResponse.
HttpResponse response =
httpclient.execute(httppost/httpget);
1.2. Tìm hiểu HttpClient.
1.2. Tìm hiểu HttpClient.
+ Lấy ra một đối tượng HttpEntity – thực thể dữ liệu từ
HttpResponse.
HttpEntity resEntity = response.getEntity();
+ Nhận dữ liệu dạng InputStream từ thực thể dữ liệu.
InputStream is = resEntity.getContent();
- Khi đã nhận được stream, sử dụng để convert
thành dữ liệu yêu cầu.
 Tham khảo them tại địa chỉ:
http://developer.android.com/reference/org/apache/http/c
lient/HttpClient.html
1.3. Tìm hiểu XmlPullParser.
- Là một interface.
- Định nghĩa các chức năng đọc dữ liệu XML.
- Các chức năng này được cung cấp trong XMLPULL v1 API.
- Có hai phương thức chủ chốt.
+ Phương thức next().
+ Phương thức nextToken();
1.3. Tìm hiểu XmlPullParser.
- Phương thức next():
+ Lấy nội dung của phần tử tiếp theo trong tài liệu XML
để parse
+ Chỉ trả về nội dụng text dạng chuỗi.
- Phương thức nextToken():
+ Tương tự phương thức next().
+ Ngoài nội dung text, nextToken() còn trả về các ghi
chú, các thực thể tham chiếu, các chỉ thị xử lý.
1.3. Tìm hiểu XmlPullParser.
- Một số sự kiện(trạng thái) của đối tượng XmlPullParser.
Sự kiện Ý nghĩa
START_DOCUMENT Parser tại điểm khởi đầu tài liệu xml
START_TAG Parser tại điểm khởi đầu một thẻ mở
TEXT Dữ liệu kiểu kí tự được đọc bởi parser
END_TAG Parser đang đọc một thẻ dóng
END_DOCUMENT Parser tại điểm kết thúc tài liệu XML
1.3. Tìm hiểu XmlPullParser.
- Một số phương thức thường dùng trong XmlPullParser.
Phương thức Ý nghĩa
setFeature(String, boolean) Thiết lập thay đổi ứng xử với parser.
setInput(InputStream) Truyền dữ liệu vào cho parser xử lý.
getEventType() Chỉ ra sự kiện hiện tại của parser.
getName () Lấy tên của tag mà parser đang đọc.
getText() Trả về nội dung text của thẻ hiện tại.
1.4. Kiểm tra kết nối internet
- Để kiểm tra thiết bị hiện có kết nối internet nào không, sử
dụng hai đối tượng ConnectivityManager và NetworkInfo.
ConnectivityManager connMgr = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
// Thực hiện thao tác gửi và nhận dữ liệu qua internet
} else {
// Thông báo lỗi kết nối internet
}
2. THỰC HÀNH
2.1. Tạo và cấu hình Android Project.
- Click nút New trên thanh toolbar và chọn Android
Application Project.
- Hoặc có thể chọn FileAndroid Application Project.
- Điền đầy đủ các thông tin cấu hình project trong cửa số
mới hiện ra.
Tạo mới Project
Cấu trúc Project
Cấu trúc Project
2.1. Tạo và cấu hình Android Project.
- Để có thể kết nối và trao đổi dữ liệu trên internet từ
ứng dụng Android, cần thiết lập permission cho phép thao
thác với internet.
- Permission được thiết lập trong file AndroidManifest.
<uses-permission android:name="android.permission.INTERNET" />
- Ngoài ra, cần cấu hình một số thông tin trong file
AndroidManifest để phục vụ cho ứng dụng.
File AndroidManifest
2.2. Thiết kế layout.
- Đối với ứng dụng demo này, cần thiết kết hai layout.
+ fragment_main: Layout hiển thị khi khởi chạy ứng
dụng. Gồm 2 textview hiển thị tiêu đề và ghi chú, 1 edittext
để nhập email và 1 button để thực hiện xem điểm.
+ activity_viewmark: Layout hiển thị thông tin điểm
sinh viên, layout này sẽ hiển thị khi ActivityViewMark được
triệu gọi bởi MainActivity. Layout chỉ chứa một webview để
load dữ liệu dạng XML.
fragment_main layout code
2.2. Thiết kế layout.
Giao diện thiết kế trong fragment_main layout.
Activity_viewmark layout code
2.2. Thiết kế layout.
2.3. Thiết kế các đối tượng.
Đối tượng Mark lưu thông tin điểm
2.3. Thiết kế các đối tượng.
Đối tượng Semaster lưu thông tin
điểm theo từng học kỳ
2.3. Thiết kế các đối tượng.
Đối tượng StudentInfor
lưu thông tin sinh viên
2.4. Code ứng dụng demo.
- Từ các phần tìm hiểu tổng quan về HttpUrlConnection,
HttpClient, XmlPullParser và kiểm tra kết nối internet, ta có
thể viết code demo tra cứu điểm sinh viên.
- Chi tiết code sẽ được chi tiết trong document.
- Chỉ cần nắm bắt các đối tượng và thực hiện tuần tự các
bước trong document sẽ tạo được project demo tra cứu điểm
sinh viên.
XIN CHÂN THÀNH CẢM ƠN
SỰ CHÚ Ý LẮNG NGHE CỦA CÔ VÀ CÁC BẠN

More Related Content

What's hot (20)

Web201 slide 6
Web201   slide 6Web201   slide 6
Web201 slide 6
tuanduongcntt
Web201 slide 7
Web201   slide 7Web201   slide 7
Web201 slide 7
tuanduongcntt
Web201 slide 2
Web201   slide 2Web201   slide 2
Web201 slide 2
tuanduongcntt
Web301 slide 2
Web301   slide 2Web301   slide 2
Web301 slide 2
tuanduongcntt
Hỏi tình hình bk tiny bktiny-hdsd
Hỏi tình hình bk tiny   bktiny-hdsdHỏi tình hình bk tiny   bktiny-hdsd
Hỏi tình hình bk tiny bktiny-hdsd
Vu Hung Nguyen
Giao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpGiao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharp
ngohanty13
Các bước kết nối csdl my sql với java
Các bước kết nối csdl my sql với javaCác bước kết nối csdl my sql với java
Các bước kết nối csdl my sql với java
Brand Xanh
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
Dao Uit
Bài 4 Lập trình PHP (phần 2) - Giáo trình FPT
Bài 4 Lập trình PHP (phần 2) - Giáo trình FPTBài 4 Lập trình PHP (phần 2) - Giáo trình FPT
Bài 4 Lập trình PHP (phần 2) - Giáo trình FPT
MasterCode.vn
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webBài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
MasterCode.vn
Web201 slide 1
Web201   slide 1Web201   slide 1
Web201 slide 1
tuanduongcntt
Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong java
ANHMATTROI
Lap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaLap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi Java
ANHMATTROI
Web201 slide 3
Web201   slide 3Web201   slide 3
Web201 slide 3
tuanduongcntt
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPTBài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
MasterCode.vn
3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#
Dao Uit
Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#
An Nguyen
Hỏi tình hình bk tiny bktiny-hdsd
Hỏi tình hình bk tiny   bktiny-hdsdHỏi tình hình bk tiny   bktiny-hdsd
Hỏi tình hình bk tiny bktiny-hdsd
Vu Hung Nguyen
Giao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpGiao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharp
ngohanty13
Các bước kết nối csdl my sql với java
Các bước kết nối csdl my sql với javaCác bước kết nối csdl my sql với java
Các bước kết nối csdl my sql với java
Brand Xanh
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
Dao Uit
Bài 4 Lập trình PHP (phần 2) - Giáo trình FPT
Bài 4 Lập trình PHP (phần 2) - Giáo trình FPTBài 4 Lập trình PHP (phần 2) - Giáo trình FPT
Bài 4 Lập trình PHP (phần 2) - Giáo trình FPT
MasterCode.vn
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webBài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
MasterCode.vn
Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong java
ANHMATTROI
Lap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaLap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi Java
ANHMATTROI
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPTBài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
Bài 7 Xây dựng website sử dụng PHP và MySQL - Giáo trình FPT
MasterCode.vn
3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#3.tao mot ket noi toi co so du lieu dung c#
3.tao mot ket noi toi co so du lieu dung c#
Dao Uit
Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#
An Nguyen

Viewers also liked (7)

[Gấu uniform] mẫu cv
[Gấu uniform] mẫu cv[Gấu uniform] mẫu cv
[Gấu uniform] mẫu cv
Oanh Phạm
Sách Phỏng Vấn Tình Huống Và Nghệ Thuật Nhận Diện Ứng Viên
Sách Phỏng Vấn Tình Huống Và Nghệ Thuật Nhận Diện Ứng ViênSách Phỏng Vấn Tình Huống Và Nghệ Thuật Nhận Diện Ứng Viên
Sách Phỏng Vấn Tình Huống Và Nghệ Thuật Nhận Diện Ứng Viên
Nhân Nguyễn Sỹ
Curriculum Vitae Sample Format
Curriculum Vitae Sample FormatCurriculum Vitae Sample Format
Curriculum Vitae Sample Format
Augustine Ferdinand
Curriculum vitae
Curriculum vitaeCurriculum vitae
Curriculum vitae
moduleinplayingvolleyball
Resume
ResumeResume
Resume
kclyn
Resume
ResumeResume
Resume
narsglance
Dana resume1
Dana resume1Dana resume1
Dana resume1
Ma.Danna Inigo

Similar to Semina Kết nối nguồn dữ liệu từ Internet (20)

Bai tap lap trinh mang(1)
Bai tap lap trinh mang(1)Bai tap lap trinh mang(1)
Bai tap lap trinh mang(1)
Linh Nguyen
Php03 php trong-laptrinhwebdong
Php03 php trong-laptrinhwebdongPhp03 php trong-laptrinhwebdong
Php03 php trong-laptrinhwebdong
conglongit90
Asp
AspAsp
Asp
thinhtu
Linq n hibernate net-tier
Linq n hibernate net-tierLinq n hibernate net-tier
Linq n hibernate net-tier
Nguyen Tran
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
MasterCode.vn
Bai3 basic servlets_956
Bai3 basic servlets_956Bai3 basic servlets_956
Bai3 basic servlets_956
Ham Chơi
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
manhvokiem
De cuong sqlserver
De cuong sqlserverDe cuong sqlserver
De cuong sqlserver
tri vo minh
chuong_02.ppt
chuong_02.pptchuong_02.ppt
chuong_02.ppt
ThuyKhoaCNTTNguyenTh
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java script
Toàn Trần Mạnh
Tim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chongTim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chong
Vu Trung Kien
[ST] Tài liệu thiết kế website cho người mới bắt đầu
[ST] Tài liệu thiết kế website cho người mới bắt đầu[ST] Tài liệu thiết kế website cho người mới bắt đầu
[ST] Tài liệu thiết kế website cho người mới bắt đầu
Tin Học KEY
Lập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biếnLập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biến
Son Nguyen
LinQ to XML
LinQ to XMLLinQ to XML
LinQ to XML
Bình Trọng Án
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java script
hieusy
Bai tap lap trinh mang(1)
Bai tap lap trinh mang(1)Bai tap lap trinh mang(1)
Bai tap lap trinh mang(1)
Linh Nguyen
Php03 php trong-laptrinhwebdong
Php03 php trong-laptrinhwebdongPhp03 php trong-laptrinhwebdong
Php03 php trong-laptrinhwebdong
conglongit90
Linq n hibernate net-tier
Linq n hibernate net-tierLinq n hibernate net-tier
Linq n hibernate net-tier
Nguyen Tran
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
MasterCode.vn
Bai3 basic servlets_956
Bai3 basic servlets_956Bai3 basic servlets_956
Bai3 basic servlets_956
Ham Chơi
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
manhvokiem
Tim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chongTim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chong
Vu Trung Kien
[ST] Tài liệu thiết kế website cho người mới bắt đầu
[ST] Tài liệu thiết kế website cho người mới bắt đầu[ST] Tài liệu thiết kế website cho người mới bắt đầu
[ST] Tài liệu thiết kế website cho người mới bắt đầu
Tin Học KEY
Lập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biếnLập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biến
Son Nguyen
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java script
hieusy

Semina Kết nối nguồn dữ liệu từ Internet

  • 1. TRƯỜNG ĐẠI HỌC PHAN THIẾT KHOA CÔNG NGHỆ THÔNG TIN
  • 2. SEMINAR MÔN LẬP TRÌNH DI ĐỘNG KẾT NỐI NGUỒN DỮ LIỆU TỪ INTERNET Lớp : K2510101 Sinh viên : MSSV : Nguyễn Ngọc Hoàng 1051010005 Nguyễn Thị Kim Phượng 1051010008 Trần Minh Thảnh 1051010010
  • 3. NỘI DUNG TRÌNH BÀY 1. LÝ THUYẾT. 1.1. Tìm hiểu HttpURLConnection. 1.2. Tìm hiểu HttpClient. 1.3. Tìm hiểu XmlPullParser. 1.4. Kiểm tra kết nối internet. II. THỰC HÀNH. 2.1. Tạo và cấu hình project. 2.2. Thiết kế layout. 2.3. Thiết kế các đối tượng. 2.4. Code ứng dụng demo.
  • 6. - Hai đối tượng dùng để gửi, nhận dư liệu trên internet: + HttpURLConnection + HttpClient. - Cả hai đối tượng đều hỗ trợ giao thức HTTPS, download và upload stream, cấu hình timeout. - Từ phiên bản Android 2.3 trở đi, khuyên dùng đối tượng HttpURLConnection.
  • 7. 1.1. Tìm hiểu HttpURLConnection. - Kế thừa từ lớp URLConnection. - Dùng để gửi và nhận dữ liệu trên web với bất kỳ dạng dữ liệu và độ lớn nào. - HttpURLConnection gửi nhận dữ liệu có kích thước không xác định trước.
  • 8. 1.1. Tìm hiểu HttpURLConnection. - Để lấy dữ liệu trên web dùng HttpURLConnection: + Tạo một URL: URL url = new URL("http://pdt.upt.edu.vn/rss2"); + Tạo đối tượng HttpURLConnection. HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + Lấy dữ liệu từ HttpURLConnection dạng InputStream. InputStream stream = conn.getInputStream();
  • 9. 1.1. Tìm hiểu HttpURLConnection.
  • 10. 1.1. Tìm hiểu HttpURLConnection. - Sau khi lấy được stream từ đối tượng HttpURLConnection, convert stream thành dữ liệu cần dung. - Khi lấy dữ liệu hoàn tất, ta phải đóng kết nối. conn.disconnect();  Chỉ cần thực hiện tuần tự các thao tác trên, ta đã lấy được dữ liệu từ một địa chỉ web cụ thể. Có thể tham khảo them tại địa chỉ: http://developer.android.com/reference/java/net/HttpUR LConnection.html
  • 11. 1.2. Tìm hiểu HttpClient. - Là một interface dành cho HTTP client. - Đóng gói những thành phần thực hiện các thao tác quản lý kết nối, trao đổi dữ liệu, xác thực web. - Thay vì dùng HttpURLConnection, có thể dùng HttpClient để gửi và nhận dữ liệu trên internet.
  • 12. 1.2. Tìm hiểu HttpClient. - Để sử dụng HttpClient gửi yêu cầu và nhận dữ liệu: + Tạo ra đối tượng HttpClient. HttpClient httpclient = new DefaultHttpClient(); + Tạo các post hay get request. HttpPost httppost = new HttpPost(url); hoặc HttpGet httpget = new HttpGet(url);
  • 13. 1.2. Tìm hiểu HttpClient. + Để gửi kèm giá trị, sử dụng NameValuePair. List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(4); nameValuePairs.add( new BasicNameValuePair("code", data)); + Thực thi HttpPost hoặc HttpGet và nhận về một HttpResponse. HttpResponse response = httpclient.execute(httppost/httpget);
  • 14. 1.2. Tìm hiểu HttpClient.
  • 15. 1.2. Tìm hiểu HttpClient. + Lấy ra một đối tượng HttpEntity – thực thể dữ liệu từ HttpResponse. HttpEntity resEntity = response.getEntity(); + Nhận dữ liệu dạng InputStream từ thực thể dữ liệu. InputStream is = resEntity.getContent(); - Khi đã nhận được stream, sử dụng để convert thành dữ liệu yêu cầu.  Tham khảo them tại địa chỉ: http://developer.android.com/reference/org/apache/http/c lient/HttpClient.html
  • 16. 1.3. Tìm hiểu XmlPullParser. - Là một interface. - Định nghĩa các chức năng đọc dữ liệu XML. - Các chức năng này được cung cấp trong XMLPULL v1 API. - Có hai phương thức chủ chốt. + Phương thức next(). + Phương thức nextToken();
  • 17. 1.3. Tìm hiểu XmlPullParser. - Phương thức next(): + Lấy nội dung của phần tử tiếp theo trong tài liệu XML để parse + Chỉ trả về nội dụng text dạng chuỗi. - Phương thức nextToken(): + Tương tự phương thức next(). + Ngoài nội dung text, nextToken() còn trả về các ghi chú, các thực thể tham chiếu, các chỉ thị xử lý.
  • 18. 1.3. Tìm hiểu XmlPullParser. - Một số sự kiện(trạng thái) của đối tượng XmlPullParser. Sự kiện Ý nghĩa START_DOCUMENT Parser tại điểm khởi đầu tài liệu xml START_TAG Parser tại điểm khởi đầu một thẻ mở TEXT Dữ liệu kiểu kí tự được đọc bởi parser END_TAG Parser đang đọc một thẻ dóng END_DOCUMENT Parser tại điểm kết thúc tài liệu XML
  • 19. 1.3. Tìm hiểu XmlPullParser. - Một số phương thức thường dùng trong XmlPullParser. Phương thức Ý nghĩa setFeature(String, boolean) Thiết lập thay đổi ứng xử với parser. setInput(InputStream) Truyền dữ liệu vào cho parser xử lý. getEventType() Chỉ ra sự kiện hiện tại của parser. getName () Lấy tên của tag mà parser đang đọc. getText() Trả về nội dung text của thẻ hiện tại.
  • 20. 1.4. Kiểm tra kết nối internet - Để kiểm tra thiết bị hiện có kết nối internet nào không, sử dụng hai đối tượng ConnectivityManager và NetworkInfo. ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isConnected()) { // Thực hiện thao tác gửi và nhận dữ liệu qua internet } else { // Thông báo lỗi kết nối internet }
  • 22. 2.1. Tạo và cấu hình Android Project. - Click nút New trên thanh toolbar và chọn Android Application Project. - Hoặc có thể chọn FileAndroid Application Project. - Điền đầy đủ các thông tin cấu hình project trong cửa số mới hiện ra.
  • 26. 2.1. Tạo và cấu hình Android Project. - Để có thể kết nối và trao đổi dữ liệu trên internet từ ứng dụng Android, cần thiết lập permission cho phép thao thác với internet. - Permission được thiết lập trong file AndroidManifest. <uses-permission android:name="android.permission.INTERNET" /> - Ngoài ra, cần cấu hình một số thông tin trong file AndroidManifest để phục vụ cho ứng dụng.
  • 28. 2.2. Thiết kế layout. - Đối với ứng dụng demo này, cần thiết kết hai layout. + fragment_main: Layout hiển thị khi khởi chạy ứng dụng. Gồm 2 textview hiển thị tiêu đề và ghi chú, 1 edittext để nhập email và 1 button để thực hiện xem điểm. + activity_viewmark: Layout hiển thị thông tin điểm sinh viên, layout này sẽ hiển thị khi ActivityViewMark được triệu gọi bởi MainActivity. Layout chỉ chứa một webview để load dữ liệu dạng XML.
  • 30. 2.2. Thiết kế layout. Giao diện thiết kế trong fragment_main layout.
  • 31. Activity_viewmark layout code 2.2. Thiết kế layout.
  • 32. 2.3. Thiết kế các đối tượng. Đối tượng Mark lưu thông tin điểm
  • 33. 2.3. Thiết kế các đối tượng. Đối tượng Semaster lưu thông tin điểm theo từng học kỳ
  • 34. 2.3. Thiết kế các đối tượng. Đối tượng StudentInfor lưu thông tin sinh viên
  • 35. 2.4. Code ứng dụng demo. - Từ các phần tìm hiểu tổng quan về HttpUrlConnection, HttpClient, XmlPullParser và kiểm tra kết nối internet, ta có thể viết code demo tra cứu điểm sinh viên. - Chi tiết code sẽ được chi tiết trong document. - Chỉ cần nắm bắt các đối tượng và thực hiện tuần tự các bước trong document sẽ tạo được project demo tra cứu điểm sinh viên.
  • 36. XIN CHÂN THÀNH CẢM ƠN SỰ CHÚ Ý LẮNG NGHE CỦA CÔ VÀ CÁC BẠN