Lập Trình Android Và ứng Dụng Webview Trong Android - Tài Liệu Text

Tải bản đầy đủ (.pdf) (62 trang)
  1. Trang chủ
  2. >>
  3. Luận Văn - Báo Cáo
  4. >>
  5. Kinh tế - Quản lý
Lập trình android và ứng dụng webview trong android

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.95 MB, 62 trang )

VIỆN ĐẠI HỌC MỞ HÀ NỘIKHOA CÔNG NGHỆ ĐIỆN TỬ - THÔNG TINĐỒ ÁNTỐT NGHIỆP ĐẠI HỌCĐề tài: “Lập trình Android và ứng dụng WebViewtrong Android”Giảng viên hướng dẫn: QUÁCH THỊ HẠNHSinh viên thực hiệnLớpKhóaHệ: LÊ ANH QUÂN: K16A: 2013 – 2017: ĐẠI HỌC CHÍNH QUYHà Nội, tháng 5 /2017VIỆN ĐẠI HỌC MỞ HÀ NỘIKHOA CÔNG NGHỆ ĐIỆN TỬ - THÔNG TINĐỒ ÁNTỐT NGHIỆP ĐẠI HỌCĐề tài: “Lập trình Android và ứng dụng WebViewtrong Android”Giảng viên hướng dẫn: QUÁCH THỊ HẠNHSinh viên thực hiện : LÊ ANH QUÂNLớpKhóaHệ: K16A: 2013 – 2017: ĐẠI HỌC CHÍNH QUYHà Nội, tháng 5/2017VIỆN ĐẠI HỌC MỞ HÀ NỘICỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAMKHOA CN ĐIỆN TỬ - THÔNG TINĐộc lập - Tự do – Hạnh phúcĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌCHọ và tên sinh viên: Lê Anh QuânLớp: K16AKhóa: 16 (2013 – 2017)Ngành đào tạo: Công nghệ Kỹ thuật điện tử, Truyền thôngHệ đào tạo: ĐHCQ1/ Tên đề tài ĐATN:Lập trình Android và ứng dụng WebView trong Android2/ Nội dung chính:1/ Chương 1: Tổng quan về Android2/ Chương 2: WebView trong Android3/ Chương 3: Demo ứng dụng4/ Chương 4: Chức năng trong WebView3/ Cơ sở dữ liệu ban đầu:4/ Ngày giao: 20/02/20175/ Ngày nộp:/05/2017TRƯỞNG KHOA(Ký, ghi rõ họ tên)GIÁO VIÊN HƯỚNG DẪN(Ký, ghi rõ họ tên)MỞ ĐẦUMạng điện thoại di động xuất hiện tại Việt Nam từ những năm 1990 và theo thờigian số lượng các thuê bao cũng như các nhà cung cấp dịch vụ di động tại Việt Namngày càng tăng. Do nhu cầu trao đổi thông tin ngày càng tăng và nhu cầu sử dụng sảnphẩm công nghệ cao có nhiều tính năng , cấu hình cao, chất lượng tốt, kiểu dáng mẫumã đẹp, phong phú nên nhà cung cấp phải luôn luôn cải thiện, nâng cao những sản phẩmcủa mình. Do đó, việc xây dựng các ứng dụng cho điện thoại di động đang là một ngànhcông nghiệp mới đầy tiềm năng và hứa hẹn nhiều sự vượt bậc phát triển của ngành khoahọc kĩ thuật.Cùng với sự phát triển của thị trường điện thoại di động là sự phát triển mạnh mẽcủa xu hướng lập trình phần mềm ứng dụng cho các thiết bị di động. Hiện nay phầnmềm, ứng dụng cho điện thoại di động rất đa dạng, phong phú, các hệ điều hành di độngcũng phát triển mạnh mẽ và đang thay đổi từng ngày. Các hệ điều hành J2ME, Android,IOS, Window Phone… đã có và đang rất phát triển trên thị trường truyền thông di động.Trong vài năm trở lại đây, hệ điều hành Android ra đời, kế thừa những ưu việtcủa các hệ điều hành ra đời trước và sự kết hợp của nhiều công nghệ tiên tiến nhất hiệnnay, đã được phát triển bởi Google. Android đã nhanh chóng là đổi thủ cạnh tranh mạnhmẽ với các hệ điều hành trước đó và đang là hệ điều hành di động của tương lai và đượcnhiều người ưa chuộng nhất.Ngày nay, với sự phát triển nhanh chóng của xã hội, nhu cầu lướt web, cập nhậtthông tin mọi lúc mọi nơi là rất cần thiết, vì vậy em đã chọn đề tài “Lập trình Androidvà ứng dụng trình duyệt Webview” với mục đích nghiên cứu, tìm hiểu về hệ điều hànhAndroid và xây dựng ứng dụng trình duyệt Webview để có thể đáp ứng được nhu cầulướt web, cập nhật thông tin một cách nhanh chóng và tiện lợi.LỜI CẢM ƠNSau một thời gian tìm hiểu đề tài “Lập trình Android và ứng dụng trình duyệtWebview trong Android”, em đã hoàn thành tiến độ dự kiến. Để đạt được kết quả này,em đã nỗ lực thực hiện và đồng thời cũng nhận được rất nhiều sự giúp đỡ của thầy cô,bạn bè và gia đình.Em xin chân thành cảm ơn giáo viên hướng dẫn: cô Quách Thị Hạnh - Khoa côngnghệ Điện tử - Thông tin – Viện đại học mở Hà Nội đã nhiệt tình hướng dẫn, giúp đỡem thực hiện đề tài này.Trong quá trình thực hiện đề tài không thể tránh khỏi những sai sót nhất định, rất mongnhận được sự phê bình cũng như góp ý của cô giáo để đề tài được hoàn thiện hơn nữa.Em xin chân thành cảm ơn!NHẬN XÉT..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................MỤC LỤCMỞ ĐẦULỜI CÁM ƠNNHẬN XÉTDANH MỤC HÌNH VẼKÝ HIỆU CÁC CỤM TỪ VIẾT TẮTCHƯƠNG 1: TỔNG QUAN VỀ ANDROID ......................................................................... 11.2.3.4.5.Android là gì? Lịch sử phát triển Android ................................................................. 11.1.Android là gì? ......................................................................................................... 11.2.Lịch sử phát triển Android .................................................................................... 1Kiến trúc của Android .................................................................................................. 22.1.Applications ............................................................................................................ 22.2.Application framework .......................................................................................... 22.3.Library .................................................................................................................... 32.4.Android Runtime ................................................................................................... 32.5.Linux Kernel ........................................................................................................... 4Các thành phần trong một Android Project ............................................................... 43.1.AndroidManifest.xml ............................................................................................. 43.2.File R.java ............................................................................................................... 5Chu kỳ ứng dụng Android ............................................................................................ 74.1.Chu kỳ sống thành phần ........................................................................................ 74.2.Activity Stack .......................................................................................................... 74.3.Trạng thái của chu kỳ sống ................................................................................... 84.4.Chu kỳ sống của ứng dụng .................................................................................... 94.5.Các sự kiện trong chu kỳ sống của ứng dụng ...................................................... 94.6.Thời gian sống của ứng dụng .............................................................................. 104.7.Thời gian hiển thị của Activity ............................................................................ 104.8.Các phương thức của chu kỳ sống ...................................................................... 10Các thành phần giao diện trong android .................................................................. 115.1.View ....................................................................................................................... 125.2.ViewGroup ............................................................................................................ 125.2.1.LinearLayout ................................................................................................. 125.2.2.FrameLayout ................................................................................................. 125.2.3.AbsoluteLayout ............................................................................................. 125.2.4.RelativeLayout .............................................................................................. 125.2.5.TableLayout .................................................................................................. 135.3.Button .................................................................................................................... 136.5.4.ImageView............................................................................................................. 145.5.TextView ............................................................................................................... 14Các thành phần trong một chương trình Android ................................................... 146.1.Activity và Intent .................................................................................................. 146.1.1.Activity ........................................................................................................... 146.1.2.Intent .............................................................................................................. 156.2.Service ................................................................................................................... 166.3.Telephony .............................................................................................................. 196.4.SQLite.................................................................................................................... 196.5.Webservice và SOAP ........................................................................................... 206.6.Thao tác với web service trong Android ............................................................ 20CHƯƠNG 2: WEBVIEW TRONG ANDROID .................................................................. 221.WebView là gì? ............................................................................................................ 222.Các đặc điểm của WebView ....................................................................................... 223.Tại sao phải sử dụng WebView .................................................................................. 224.Ví dụ về WebView ....................................................................................................... 225.Một số phương thức trong WebView ........................................................................ 246.Thực tiễn cho WebView .............................................................................................. 297.Gỡ lỗi cho WebView .................................................................................................... 308.Hỗ trợ các màn hình khác nhau trong Webview ...................................................... 32CHƯƠNG 3: DEMO ỨNG DỤNG ....................................................................................... 351.Thiết kế ứng dụng ........................................................................................................ 352.Chạy ứng dụng, kết quả và một số chức năng của WebView ................................. 383.Đánh giá ứng dụng ...................................................................................................... 39CHƯƠNG 4: CHỨC NĂNG TRONG WEBVIEW............................................................. 401.2.3.Button Back (Nút lùi) .................................................................................................. 401.1.Giới thiệu về Button Back: .................................................................................. 401.2.Xây dựng chức năng Button Back: ..................................................................... 40Button Next (Nút tiến) ................................................................................................. 452.1.Giới thiệu về Button Next .................................................................................... 452.2.Xây dựng chức năng Button Next: .................................................................... 45Button Reload (Nút tải lại).......................................................................................... 483.1.Giới thiệu về Button Reload ................................................................................ 483.2.Xây dựng chức năng Button Reload ................................................................... 484.Sử dụng JavaScript trong WebView ......................................................................... 495.Kết luận ........................................................................................................................ 50DANH MỤC HÌNH VẼHình 1. 1 Cấu trúc stack hệ thống Android .....................................................................2Hình 1. 2 Chu kỳ sống thành phần ứng dụng Android ....................................................7Hình 1. 3 Activity Stack ..................................................................................................8Hình 1. 4 Chu kỳ sống của Activity ................................................................................9Hình 1. 5 Các phương thức trong một chu kỳ của Activity ..........................................10Hình 1. 6 Cấu trúc một giao diện ứng dụng Android ....................................................11Hình 1. 7 Truyền dữ liệu giữa hai Activity ...................................................................16Hình 1. 8 Các thuộc tính của Intent ...............................................................................16Hình 1. 9 Chu kỳ sống của Service ...............................................................................18Hình 1. 10 SQLite Manager ..........................................................................................20Hình 2. 1 Giao diện Webview .......................................................................................22Hình 2. 2 Code giao diện ............................................................................................... 23Hình 2. 3 Code ứng dụng............................................................................................... 23Hình 2. 4 Kết quả ...........................................................................................................24Hình 2. 5 Class riêng .....................................................................................................26Hình 3. 1 Project TrinhDuyetWebView ........................................................................35Hình 3. 2 Nội dung AndroidManifest............................................................................35Hình 3. 3 Giao diện ứng dụng Webview .......................................................................36Hình 3. 4 Code giao diện ............................................................................................... 37Hình 3. 5 Code ứng dụng............................................................................................... 37Hình 3. 6 Ứng dụng WebView ......................................................................................38Hình 3. 7 Kết quả ...........................................................................................................39Hình 4. 1 Giao diện Button Back ..................................................................................40Hình 4. 2 Code giao diện Button Back ..........................................................................40Hình 4. 3 Code chức năng Button Back ........................................................................41Hình 4. 4 Trang đầu tiên đăng nhập ..............................................................................41Hình 4. 5 Trang sau .......................................................................................................42Hình 4. 6 Thông báo “Trang trước” ..............................................................................43Hình 4. 7 Thông báo “Không có dữ liệu trang trước để trở về”....................................44Hình 4. 8 Giao diện Button Next ...................................................................................45Hình 4. 9 Code giao diện Button Next ..........................................................................45Hình 4. 10 Code chức năng Button Next ......................................................................46Hình 4. 11 Trang đầu tiên đăng nhập ............................................................................46Hình 4. 12 Thông báo “Trang sau” ...............................................................................47Hình 4. 13 Thông báo “Không có dữ liệu trang sau để đi tới”......................................48Hình 4. 14 Giao diện Button Reload .............................................................................49Hình 4. 15 Code giao diện Button Reload .....................................................................49Hình 4. 16 Code chức năng Button Reload ...................................................................49Hình 4. 17 Code JavaScript trong Webview ................................................................ 49KÍ HIỆU CÁC CỤM TỪ VIẾT TẮTSDK: Software Development KitCông cụ phát triển phần mềmXML: eXtensible Markup LanguageNgôn ngữ đánh dấu mở rộngHTTP: HyperText Transfer ProtocolSOAP: Simple Object Access ProtocolHTML: HyperText Markup LanguageGiao thức truyền tải siêu văn bảnGiao thức truy cập đối tượng đơn giảnNgôn ngữ Đánh dấu Siêu văn bảnURL: Uniform Resource LocatorXHTML: Extensible HyperText MarkupLanguageAPI: Application Programming InterfaceĐịnh vị tài nguyên trên InternetNgôn ngữ Đánh dấu Siêu văn bản MởrộngGiao diện lập trình ứng dụngCSS: Cascading Style SheetsNgôn ngữ dùng để tìm và định dạng lạicác phần tử được tạo ra bởi các ngôn ngữđánh dấuĐỒ ÁN TỐT NGHIỆP ĐẠI HỌCCHƯƠNG 1: TỔNG QUAN VỀ ANDROIDCHƯƠNG 1: TỔNG QUAN VỀ ANDROID1. Android là gì? Lịch sử phát triển Android1.1. Android là gì?Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho cácthiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng.1.2. Lịch sử phát triển AndroidBan đầu, Android là hệ điều hành cho các thiết bị cầm tay dựa trên lõi Linux do côngty Android Inc. (California, Mỹ) thiết kế. Công ty này sau đó được Google mua lạivào năm 2005 và bắt đầu xây dựng Android Platform.Và sau tiếp, vào cuối năm 2007, thuộc về Liên minh Thiết bị Cầm tay Mã Nguồnmở (Open Handset Alliance). Mục tiêu của Liên minh này là nhanh chóng đổi mớiđể đáp ứng tốt hơn cho nhu cầu người tiêu dùng và kết quả đầu tiên của nó chính lànền tảng Android. Android được thiết ế để phục vụ nhu cầu của các nhà sản xuấtthiết, các nhà khai thác và các lập trình viên thiết bị cầm tay.Phiên bản SDK lần đầu tiên phát hành vào tháng 11 năm 2007, hãng T-Mobile cũngcông bố chiếc điện thoại Android đầu tiên đó là chiếc T-Mobile G1, chiếcsmartphone đầu tiên dựa trên nền tảng Android. Một vài ngày sau đó, Google lại tiếptục công bố sự ra mắt phiên bản Android SDK release Candidate 1.0. Trong tháng10 năm 2008, Google được cấp giấy phép mã nguồn mở cho Android Platform.Khi Android được phát hành thì một trong số các mục tiêu trong kiến trúc của nó làcho phép các ứng dụng có thể tương tác được với nhau và có thể sử dụng lại cácthành phần từ những ứng dụng khác. Việc tái sử dụng không chỉ được áp dụng chocác dịch vụ mà nó còn được áp dụng cho cả các thành phần dữ liệu và giao diệnngười dùng.Vào cuối năm 2008, Google cho phát hành một thiết bị cầm tay được gọi là AndroidDev Phone 1 có thể chạy được các ứng dụng Android mà không bị ràng buộc vàocác nhà cung cấp mạng điện thoại di động. Mục tiêu của thiết bị này là cho phép cácnhà phát triển thực hiện các cuộc thí nghiệm trên một thiết bị thực có thể chạy hệđiều hành Android mà không phải ký một bản hợp đồng nào. Vào khoảng cùng thờigian đó thì Google cũng cho phát hành một phiên vản vá lỗi 1.1 của hệ điều hànhnày. Ở cả hai phiên bản 1.0 và 1.1 Android chưa hỗ trợ soft-keyboard mà đòi hỏi cácthiết bị phải sử dụng bàn phím vật lý. Android cố định vấn đề này bằng cách pháthành SDK 1.5 vào tháng Tư năm 2009, cùng với một số tính năng khác. Chẳng hạnnhư nâng cao khả năng ghi âm truyền thông, vật dụng, và các live folder.GVHD: QUÁCH THỊ HẠNH1SVTH: LÊ ANH QUÂNĐỒ ÁN TỐT NGHIỆP ĐẠI HỌCCHƯƠNG 1: TỔNG QUAN VỀ ANDROID2. Kiến trúc của AndroidMô hình sau thể hiện một cách tổng quát các thành phần của hệ điều hành Android.Mỗi một phần sẽ được đặc tả một cách chi tiết dưới đây.Hình 1. 1 Cấu trúc stack hệ thống Android2.1. ApplicationsAndroid được tích hợp sẵn một số ứng dụng cần thiết cơ bản như: contacts, browser,camera, Phone,… Tất cả các ứng dụng chạy trên hệ điều hành Android đều được viếtbằng Java.2.2. Application frameworkBằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà pháttriển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo. Nhà phát triểnđược tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập, các dịch vụchạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanh trạng thái,và nhiều, nhiều hơn nữa. Nhà phát triển có thể truy cập vào các API cùng một khuônkhổ được sử dụng bởi các ứng dụng lõi. Các kiến trúc ứng dụng được thiết kế để đơngiản hóa việc sử dụng lại các thành phần; bất kỳ ứngGVHD: QUÁCH THỊ HẠNH2SVTH: LÊ ANH QUÂNĐỒ ÁN TỐT NGHIỆP ĐẠI HỌCCHƯƠNG 1: TỔNG QUAN VỀ ANDROIDdụng có thể xuất bản khả năng của mình và ứng dụng nào khác sau đó có thể sử dụngnhững khả năng (có thể hạn chế bảo mật được thực thi bởi khuôn khổ). Cơ chế nàycho phép các thành phần tương tự sẽ được thay thế bởi người sử dụng.Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm:- Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng để thiếtkế phần giao diện ứng dụng như: gridview, tableview, linearlayout,…- Một “Content Provider” cho phép các ứng dụng có thể truy xuất dữ liệu từcác ứng dụng khác (chẳng hạn như Contacts) hoặc là chia sẻ dữ liệu giữa cácứng dụng đó.- Một “Resource Manager” cung cấp truy xuất tới các tài nguyên không phải làmã nguồn, chẳng hạn như: localized strings, graphics, and layout files.- Một “Notifycation Manager” cho phép tất cả các ứng dụng hiển thị cáccustom alerts trong status bar.Activity Manager được dùng để quản lý chu trình sống của ứng dụng và điều hướngcác activity.2.3. LibraryAndroid bao gồm một tập hợp các thư viên C/C++ được sử dụng bởi nhiều thànhphần khác nhau trong hệ thống Android. Điều này được thể hiện thông qua nền tảngứng dụng Android. Một số các thư viện cơ bản được liệt kê dưới đây:Thư viện hệ thống (System C Library)(Libc): Thư viện dựa trên chuẩn C,được sử dụng chỉ bởi hệ điều hành.- Thư viện Media (Media Libraries): Có nhiều codec để hỗ trợ việc phát và ghicác loại định dạng âm thanh, hình ảnh, video thông dụng.- Thư viện web (LibWebCore): Đây là thành phần để xem nội dung trên web,được sử dụng để xây dựng phần mềm duyệt web (Android Browse) cũng nhưđể các ứng dụng khác có thể nhúng vào. Nó cực kỳ mạnh, hỗ trợ được nhiềucông nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX…- Surface Manager: quản lý hiển thị 2D và 3D.- SGL công nghệ 2D.- SQLite: quản lý database của ứng dụng.- Free Type: dùng cho hiển thị ảnh, font.- SSL (Secure Socket Layer): Tầng thiết lập giao dịch an toàn trên 2 ứng dụngtrên 1 cổng (socket).- Open GL/EL: hỗ trợ thư viện tùy chọn 3D tĩnh và động.2.4. Android RuntimePhần này chứ các thư viện mà một chương trình viết bằng ngôn ngữ Java có thể hoạtđộng . Phần này có 2 bộ phận tương tự như mô hình chạy Java trên máy tính thường.Thứ nhất là các thư viện lõi (Core Library), chứa các lớp như JAVA IO,-GVHD: QUÁCH THỊ HẠNH3SVTH: LÊ ANH QUÂNĐỒ ÁN TỐT NGHIỆP ĐẠI HỌCCHƯƠNG 1: TỔNG QUAN VỀ ANDROIDCollections, File Access. Thứ hai là một máy ảo Java (Dalvik Virtual Machine).Mặc dù cũng được viết bằng ngôn ngữ Java nhưng một ứng dụng Java của hệ điềuhành Android không được chạy bằng JRE (Java Runtime Environment) của Sun (naylà Ocrale) (JVM) mà là chạy bằng máy ảo Dalvik ( máy ảo Dalvik được đặt tên saukhi một nhà phát triển phần mềm của google tạo ra nó sau khi đến thăm một ngôilàng ở nơi tổ tiên ông sinh sống do Googke phát triển. Máy ảo Dalvik thực thi cáitập tin Dalvik (dex), khác với Java là chuyển sang dạng bytecode. Định dạng nàyđược tối ưu hóa cho bộ nhớ tối thiểu.2.5. Linux KernelAndroid dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi như security,memory management, process management, network stack, and driver model.Kernel Linux hoạt động như một lớp trừu tượng hóa giữa phần cứng và phần còn lạicủa phần mềm stack.3. Các thành phần trong một Android Project3.1. AndroidManifest.xmlTrong bất kì một project Android nào khi tạo ra đều có một fileAndroidManifest.xml, file này được dùng để định nghĩa các screen sử dụng, cácpermission cũng như các theme cho ứng dụng. Đồng thời nó cũng chứa thông tin vềphiên bản SDK cũng như main activity sẽ chạy đầu tiên.File này được tự động sinh ra khi tạo một Android project. Trong file manifest baogiờ cũng có 3 thành phần chính đó là: application, permission và version.Dưới đây là nội dung của một file AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android= “ />package="dtu.k12tpm.pbs.activity"android:versionCode="1"android:versionName="1.0">

Từ khóa » Sử Dụng Webview Trong Android