Bài giảng phát triển ứng dụng cho thiết bị di động hồ thị thảo trang

169 768 4
Bài giảng phát triển ứng dụng cho thiết bị di động   hồ thị thảo trang

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT BÀI GIẢNG PHÁT TRIỂN ỨNG DỤNG CHO THIẾT BỊ DI ĐỘNG Tên học phần : Lập trình mobile Trình độ đào tạo : Đại học quy Dùng cho SV ngành : Công nghệ thông tin Người soạn : Hồ Thị Thảo Trang Hà Nội 11-2013 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Mục lục Chương 1. Những kiến thức thiết bị di động lập trình cho thiết bị di động .5 1.1. Các thiết bị di động .5 Phân loại thiết bị di động Các hệ điều hành thiết bị di động thông minh .6 Xu hướng di động hóa .11 1.2. Tổng quan lập trình cho thiết bị di động .13 Chương 2. Nhập môn lập trình Android .15 2.1. Thiết bị Android - hệ điều hành máy ảo Dalvik 15 Giao diện ứng dụng 16 Phát triển 19 Bảo mật tính riêng tư 22 Máy ảo Dalvik .24 2.2. Lập trình cho thiết bị Android 28 Bộ phát triển phần mềm Android (Android SDK) 28 Môi trường phát triển 31 Hello Android (Android “Hello world”) .38 Chương 3. Các Activity, Fragment Intent 50 3.1. Activity .50 Vòng đời Activity .50 Cửa sổ hộp thoại (Dialog) .53 3.2. Intent việc tương tác Activity .56 Sử dụng Intent .56 Giải “xung đột Intent” .58 Lấy kết trả từ Activity thông qua Intent .59 Truyền liệu Activity với Intent 62 Sử dụng Intent để gọi ứng dụng sẵn có hệ điều hành .63 Đối tượng Intent 66 3.3. Fragment 67 Thêm fragment thời gian thực thi (không khai báo layout): .71 Vòng đời Fragment .73 Tương tác fragment .75 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Chương 4. Giao diện người dùng ứng dụng Android .77 4.1. View ViewGroup 77 LinearLayout .78 AbsoluteLayout .83 TableLayout .83 RelativeLayout 84 FrameLayout .86 ScrollView .87 4.2. Bố cục giao diện thích nghi với hướng hình (ngang|dọc) 88 Neo view theo cạnh hình 89 Thay đổi kích thước vị trí .90 Điều khiển hướng hình 92 4.3. Sử dụng trình đơn (Menu) .93 Trình đơn .95 Trình đơn ngữ cảnh .96 4.4. Sử dụng tác vụ (Action Bar) .97 4.5. Xử lý kiện tương tác với thành phần đồ họa .100 Nạp chồng hàm xử lý kiện Activity .100 Đăng ký kiện cho View 101 Chương 5. Thiết kế giao diện người dùng với View 102 5.1. Sử dụng View Android 102 TextView .102 Button ImageButton 102 EditText .103 CheckBox 103 RadioButton RadioGroup .103 ToggleButton .103 ProgressBar .106 5.2. TimePicker DatePicker .108 TimePicker 108 DatePicker .111 5.3. Hiển thị ảnh với ImageView Gallery 113 5.4. Sử dụng ListView để hiển thị danh sách dài 118 ListView 118 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang SpinnerView 121 5.5. Hiển thị nội dung trang web với WebView 123 Chương 6. Lưu trữ liệu 127 6.1. Lưu trữ liệu cố định với shared preferences .127 6.2. Lưu trữ liệu với file nhớ nhớ 132 Làm việc với file nhớ .132 Làm việc với file nhớ 136 6.3. CSDL SQLite ứng dụng Android 137 Tạo lớp DBAdapter .137 Chương 7. Lập trình mạng với Android .142 7.1. Sử dụng web services thông qua giao thức HTTP .142 7.2. Tải liệu nhị phân thông qua HTTP 144 7.3. Tải liệu dạng text thông qua HTTP .146 7.4. Web service với liệu XML 148 7.5. Web service với liệu JSON .152 Chương 8. Google Play Store việc phân phối ứng dụng .156 8.1. Chuẩn bị ứng dụng trước phân phối 156 Đánh số phiên phần mềm .156 Chứng thực số cho ứng dụng Android 157 8.2. Phân phối ứng dụng 162 Sử dụng công cụ adb .162 Phân phối web server .162 Phân phối Google Play Store 163 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Chương 1. Những kiến thức thiết bị di động lập trình cho thiết bị di động 1.1. Các thiết bị di động Phân loại thiết bị di động Các thiết bị di động trải qua nhiều năm phát triển với nhiều loại thiết bị khác nhau, kể đến máy nhắn tin di động, điện thoại di động, thiết bị trợ giúp cá nhân (PDA, Palm .), điện thoại thông minh, máy tính bảng . Các thiết bị nghe nhìn khác máy ảnh, máy quay kỹ thuật số, máy nghe nhạc . xếp vào "thiết bị di động". Tuy nhiên giáo trình bỏ qua thiết bị mang tính chất lịch sử (đã không gần không còn) thiết bị nghe nhìn mà đề cập đến loại thiết bị điện toán cầm tay phổ biến thị trường tiêu dùng. Các thiết bị thường phân theo loại sau: Điện thoại di động (basic phone featured phones) - điện thoại di động với tính nghe, gọi, danh bạ . số ứng dụng dựng sẵn đơn giản. Các thiết bị thường có kích thước nhỏ, hình độ phân giải thấp, có bàn phím, pin dùng lâu, kết nối khả phát triển thêm phần mềm nhà phát triển (gần như) không có. Điện thoại di động thông minh (smart phones) - điện thoại trang bị cấu hình tốt hơn, chạy hệ điều hành thông minh với SDK cho phép lập trình viên phát triển đa dạng ứng dụng phục vụ mục đích sống. Các thiết bị thường có kích thước hình lớn nhiều so với featured phones, cấu hình phần cứng (CPU, RAM, GPU, camera .) cao, đa dạng kết nối (Wifi, Bluetooth, 3G/4G, GPS, Glonass, NFC .), có không nhiều loại cảm biến (cảm biến gia tốc, la bàn, cảm biến tiệm cận, cảm biến ánh sáng, quay hồi chuyển .). Với ngần trang bị, dù thường trang bị thỏi pin lớn featured phones, thời lượng pin điện thoại thông thường hạn chế so với featured phones. Máy tính bảng - thiết bị thông minh, tương tự smart phones có kích thước hình lớn nhiều (thông thường từ 7"-13"), có hỗ trợ khe cắm SIM-card (phục vụ việc nhắn tin, gọi điện truy cập internet qua WiFi/3G) Điện thoại thông minh lai máy tính bảng (phablet) - loại thiết bị lai smartphone máy tính bảng, tính smart phone, trang bị hình cỡ lớn smart phone thông thường nhỏ kích thước phổ biến hình tablet. Màn hình phablet thường có kích thước 5.0"-6.9". Trong lập trình, phablet thường xếp gộp chung vào smart phones. Do khả lập trình điện thoại hạn chế (thường phải làm việc với lớp thấp hơn, công cụ phát triển tiện dụng) nên điện thoại chiếm thị phần chủ yếu, nội dung giáo trình "Phát triển ứng dụng di động" tập trung nhắm đến thiết bị thông minh (điện thoại thông minh, máy tính bảng điện thoại lai). Về mặt phần mềm, thiết bị tương đương, giáo trình gọi "Lập trình cho điện thoại thông minh". Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Biểu đồ thể tỷ lệ thị phần Smart Phones Featured Phones năm gần đây, liệu khảo sát tập người trưởng thành Hoa Kỳ (theo số liệu PewSearchCenter, tháng năm 2013): Các hệ điều hành thiết bị di động thông minh Các hệ điều hành thiết bị di động đại tổng hợp nhiều tính máy tính cá nhân truyền thống hỗ trợ tính đặc trưng cho thiết bị di động hình cảm ứng, sóng di động (GSM/CDMA), 3G/4G, Bluetooth, WiFi, GPS, Glonass, chụp ảnh, quay phim, nhận dạng giọng nói, ghi âm, trình chơi nhạc, NFC, phát hồng ngoại . Những hệ điều hành di động phổ biến gồm có: Android Android hệ điều hành miễn phí, mã nguồn mở, phát triển "gã khổng lồ" Google. Android dựa tảng Linux thiết kế dành cho thiết bị di động có hình cảm ứng điện thoại thông minh máy tính bảng. Ban đầu, Android phát triển Tổng công ty Android, với hỗ trợ tài từ Google sau Google mua lại vào năm 2005. Android mắt vào năm 2007 với tuyên bố thành lập Liên minh thiết bị cầm tay mở: hiệp hội gồm công ty phần cứng, phần mềm, viễn thông với mục tiêu đẩy mạnh tiêu chuẩn mở cho thiết bị di động. Chiếc điện thoại chạy Android bán vào tháng 10 năm 2008. Android có mã nguồn mở Google phát hành mã nguồn theo Giấy phép Apache. Chính mã nguồn mở với giấy phép nhiều ràng buộc cho phép nhà phát triển thiết bị, mạng di động lập trình viên nhiệt huyết điều chỉnh phân phối Android Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang cách tự do. Ngoài ra, Android có cộng đồng lập trình viên đông đảo chuyên viết ứng dụng để mở rộng chức thiết bị, loại ngôn ngữ lập trình Java có sửa đổi. Vào tháng 10 năm 2012, có khoảng 700.000 ứng dụng Android, số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng Android, ước tính khoảng 25 tỷ lượt. Những yếu tố giúp Android trở thành tảng điện thoại thông minh phổ biến giới, vượt qua Symbian vào quý năm 2010, công ty công nghệ lựa chọn họ cần hệ điều hành không nặng nề, có khả tinh chỉnh, giá rẻ chạy thiết bị công nghệ cao thay tạo dựng từ đầu. Kết thiết kế để chạy điện thoại máy tính bảng, Android xuất TV, máy chơi game thiết bị điện tử khác. Bản chất mở Android khích lệ đội ngũ đông đảo lập trình viên người đam mê sử dụng mã nguồn mở để tạo dự án cộng đồng quản lý. Những dự án bổ sung tính cao cấp cho người dùng thích tìm tòi đưa Android vào thiết bị ban đầu chạy hệ điều hành khác. Android chiếm 75% thị phần điện thoại thông minh toàn giới vào thời điểm quý năm 2012, với tổng cộng 500 triệu thiết bị kích hoạt 1,3 triệu lượt kích hoạt ngày. Sự thành công hệ điều hành khiến trở thành mục tiêu vụ kiện liên quan đến phát minh, góp mặt gọi "cuộc chiến điện thoại thông minh" công ty công nghệ. iOS iOS hệ điều hành thiết bị di động Apple. Ban đầu hệ điều hành phát triển để chạy iPhone (gọi iPhone OS), sau mở rộng để chạy thiết bị Apple iPod touch, iPad Apple TV. Ngày 31 tháng 5, 2011, App Store Apple chứa khoảng 500 000 ứng dụng iOS, tải tổng cộng khoảng 15 tỷ lần. Trong quý năm 2010, có khoảng 26% điện thoại thông minh chạy hệ điều hành iOS, sau hệ điều hành Android Google Symbian Nokia. Giao diện người dùng iOS dựa sở thao tác tay. Người dùng tương tác với hệ điều hành thông qua nhiều động tác tay hình cảm ứng thiết bị Apple. Phiên là: 6.1.4 (ra ngày 2/5/2013) dành riêng cho iPhone 6.1.3 (ra ngày 19/3/2013) cho thiết bị iOS lại. Blackberry BlackBerry OS tảng phần mềm tư hữu RIM (Research In Motion) phát triển cho dòng sản phẩm cầm tay BlackBerry. BlackBerry OS cung cấp khả đa nhiệm, thiết kế cho thiết bị sử dụng phương pháp nhập đặc biệt, thường trackball hình cảm ứng. Hệ điều hành hỗ trợ MIDP 1.0 WAP 1.2. Các phiên trước cho phép đồng hóa không dây thư điện tử lịch với Microsoft Exchange Server , với Lotus Domino. Phiên OS hỗ trợ MIDP 2.0, có khả kích hoạt không dây hoàn toàn đồng thư điện tử, lịch, công việc, ghi danh bạ với Exchange, khả hỗ trợ Novell GroupWise, Lotus Notes kết hợp với BlackBerry Enterprise Server. Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Các cập nhật cho BlackBerry OS có nhà mạng cung cấp thông qua dịch vụ BlackBerry OTASL. Các bên thứ ba phát triển ứng dụng dùng API tư hữu BlackBerry, ứng dụng sử dụng chức giới hạn cần phải chứng thực trước cài đặt. Việc chứng thực xác nhận tác giả chương trình, không bảo đảm tính an toàn bảo mật ứng dụng. BlackBerry 10 Là hệ hệ điều hành BlackBerry OS, phát triển BlackBerry Limited (Research In Motion đổi tên), dành cho điện thoại lẫn máy tính bảng. Thiết bị gần sử dụng hệ điều hành smartphone cao cấp BlackBerry Q10 Windows phone Windows Phone hệ điều hành Microsoft dành cho smartphone kế tục tảng Windows Mobile, chúng không tương thích với nhau. Khác với Windows Mobile, Windows Phone tập trung vào phát triển Marketplace - nới nhà phát triển cung cấp sản phẩm (miễn phí có phí) tới người dùng. Windows Phone bán vào tháng 10 năm 2010 đầu năm 2011 Châu Á. Phiên tài Windows Phone 8. Microsoft phát triển Windows Phone Apollo Plus, tương lai có Windows Blue (hay Windows 9) giúp tương thích với hệ điều hành Windows máy tính. Với Windows Phone , Microsoft phát triển giao diện người dùng mang tên Modern (trước tên Metro) tích hợp khả liên kết với phần cứng phần mềm hãng thứ ba cách dễ dàng. Ngày 11 tháng năm 2011, trước mặt báo giới, CEO Microsoft Steve Balmer CEO Nokia Stephen Elop công bố trở thành đối tác nhau, đồng nghĩa với việc Windows Phone trở thành hệ điều hành Nokia, thay Symbian già cỗi. Sự kiện đánh dấu mốc quan trọng chiến với Android iOS, ví "cuộc đua ngựa". Theo đó, công ty hợp tác với Microsoft việc sản xuất điện thoại Windows Phone (hiện Windows Phone 8). Nokia hứa hẹn sẽ:      Tập trung vào Windows Phone 7/8 Đưa thiết kế mới, bổ sung gói ngôn ngữ phổ biến chúng nhiều cho người tiêu dùng thông qua thiết kế phần cứng, nhiều phân khúc giá thị trường Hợp tác lĩnh vực marketing, phát triển phần mềm cho điện thoại di động Bing trở thành tảng tìm kiếm thiết bị dịch vụ Nokia Kho ứng dụng riêng Nokia tích hợp chung với Marketplace. Ngoài hệ điều hành trên, thị trường có thiết bị chạy hệ điều hành khác với thị phần không đáng kể như: Bada (của Samsung), BlackBerry Tablet OS (cho máy tính bảng BlackBerry PlayBook), GridOS (do Fusion Garage phát triển dựa Android), Linux, Brew (của Qualcomm), webOS (của Palm, sau HP mua lại, lại bán lại cho LG hồi tháng năm 2013), Tizen (do Samsung Intel phối hợp hỗ trợ, dựa LiMo - Linux for Mobile), Windows RT (của Microsoft cho thiết bị sử dụng chip kiến trúc ARM). Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Một số tổ chức, công ty nỗ lực phát triển hệ điều hành di động mới, nhắc đến nhiều số kể đến: Aliyun OS Aliyun OS đời tháng năm 2011, hệ điều hành dựa Linux, phát triển AliClound, công ty Alibaba Group, Trung Quốc. Ý tưởng chung hệ điều hành Aliyun "đám mây hóa" tính thiết bị di động (clound functionality). Theo Google Aliyun phát triển từ hệ điều hành mã nguồn mở Android mình, Alibaba phủ nhận điều này, nhiên hệ điều hành chạy hầu hết ứng dụng Android. Trên chợ ứng dụng Aliyun chí chứa nhiều ứng dụng Android vi phạm quyền. Thiết bị chạy hệ điều hành điện thoại K-Touch W700 FireFox OS Là hệ điều hành cho điện thoại di động máy tính bảng, phát triển Linux, phát triển tổ chức phi lợi nhuận Mozilla Foundation (tổ chức làm trình duyệt FireFox tiếng). Được thiết kế để cung cấp hệ thống toàn diện cho thiết bị di động, sử dụng công nghệ mở phổ biến HTML5, Javascript, web API . với khả truy cập trực tiếp vào phần cứng thiết bị, FireFox OS nhắm đến cạnh tranh với ông lớn khác Apple's iOS, Google's Android, Microsoft's Windows Phone, hệ điều hành xuất Ubuntu Touch OS. FireFox OS giới thiệu tháng năm 2012 vài điện thoại chạy Android, kit Raspberry Pi vào năm 2013. Tháng năm 2013, triển lãm thiết bị điện tử tiêu dùng quốc tế CES 2013, hãng ZTE xác nhận sản xuất điện thoại chạy hệ điều hành đến tháng năm 2013, Telefónica thức giới thiệu điện thoại thương mại chạy FireFox OS Tây Ban Nha: điện thoại ZTE Open. Ubuntu Touch OS Là giao diện di động hệ điều hành mã nguồn mở tiếng - Ubuntu Canonical Ltd., thiết kế dành cho thiết bị di động với hình cám ứng điện thoại thông minh máy tính bảng. Điểm mạnh Ubuntu Touch việc dựa công nghệ lõi hệ điều hành Ubuntu cho máy tính, giúp ứng dụng dành cho Ubuntu Ubuntu Touch chạy lẫn mà không cần phát triển lại phiên riêng. Ngoài thiết bị chạy Ubuntu Touch biến thành Ubuntu cho máy tính với đầy đủ tính máy tính cá nhân kết nối vào hình kết nối qua đế (dock). Với phổ biến hệ điều hành Ubuntu khả tương thích Ubuntu Touch, trở thành hệ điều hành phổ biến tương lai. Bảng thể tương quan thị phần hệ điều hành di động thông minh phổ biến từ năm 2012-2013, theo số liệu ngày 16/05/2013 IDC Worldwide Quarterly Mobile Phone Tracker, May 2013 (đơn vị: triệu thiết bị) HĐH Số lượng Q1- Thị phần Q1- Số lượng Q1- Thị phần Q12013 2013 2012 2012 Tỷ lệ tăng trưởng Phát triển ứng dụng cho thiết bị di động Android Hồ Thị Thảo Trang 162.1 75.0% 90.3 59.1% 79.5% 37.4 17.3% 35.1 23.0% 6.6% Windows Phone 7.0 3.2% 3.0 2.0% 133.3% BlackBerry OS 6.3 2.9% 9.7 6.4% -35.1% Linux 2.1 1.0% 3.6 2.4% -41.7% Symbian 1.2 0.6% 10.4 6.8% -88.5% Others 0.1 0.0% 0.6 0.4% -83.3% 216.2 100.0% 152.7 100.0% 41.6% iOS Total Biểu đồ cho thấy thay đổi sản lượng thị phần hệ điều hành di động từ năm 2007 đến (nguồn wikipedia.org) 10 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang import import import import org.apache.http.client.methods.HttpGet; org.apache.http.impl.client.DefaultHttpClient; org.json.JSONArray; org.json.JSONObject; import import import import import android.app.Activity; android.os.AsyncTask; android.os.Bundle; android.util.Log; android.widget.Toast; public class JSONActivity extends Activity { public String readJSONFeed(String URL) { StringBuilder stringBuilder = new StringBuilder(); HttpClient client = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(URL); try { HttpResponse response = client.execute(httpGet); StatusLine statusLine = response.getStatusLine(); int statusCode = statusLine.getStatusCode(); if (statusCode == 200) { HttpEntity entity = response.getEntity(); InputStream content = entity.getContent(); BufferedReader reader = new BufferedReader( new InputStreamReader(content)); String line; while ((line = reader.readLine()) != null) { stringBuilder.append(line); } } else { Log.e("JSON", "Failed to download file"); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return stringBuilder.toString(); } private class ReadJSONFeedTask extends AsyncTask { protected String doInBackground(String . urls) { return readJSONFeed(urls[0]); } protected void onPostExecute(String result) { try { JSONArray jsonArray = new JSONArray(result); Log.i("JSON", "Number of surveys in feed: " + jsonArray.length()); //---print out the content of the json feed--for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); Toast.makeText(getBaseContext(), jsonObject.getString("appeId") + " - " + jsonObject.getString("inputTime"), Toast.LENGTH_SHORT).show(); } } catch (Exception e) { 154 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang e.printStackTrace(); } } } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); new ReadJSONFeedTask().execute("http://extjs.org.cn/extjs/examples/grid/survey.ht ml"); } } Lưu ý: mã nguồn trên, ta dùng lớp org.apache.http.client.HttpClient để lấy nội dung web service thông qua HTTP thay cho java.net.HttpURLConnection. Bạn đọc quan tâm tự tìm hiểu lớp tài liệu khác, ta quan tâm đến đoạn mã nguồn phân tích tài liệu JSON. Để phân tích tài liệu JSON đưa vào mảng JSONObject, ta cần gọi lệnh đơn giản: JSONArray jsonArray = new JSONArray(result); Với result liệu văn thô (dạng String) lấy từ webservice. Sau tiền hành duyệt JSONObject thu hàm getJSONObject(i)và lấy nội dung trường liệu đối tượng JSON phương thức getString lớp JSONObject. for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); Toast.makeText(getBaseContext(), jsonObject.getString("appeId") + " - " + jsonObject.getString("inputTime"), Toast.LENGTH_SHORT).show(); } 155 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Chương 8. Google Play Store việc phân phối ứng dụng Như học nhiều thứ xuyên suốt giáo trình giúp phát triển ứng dụng Android chất lượng. Tuy nhiên để ứng dụng cài đặt lên thiết bị người dùng, ta cần đóng gói phân phối. Trong chương tìm hiểu cách thức đóng gói ứng dụng Android phân phối đến máy người dùng qua cách khác nhau, tìm hiểu cách phân phối ứng dụng Android lên chợ ứng dụng hãng Google Google Play Store. 8.1. Chuẩn bị ứng dụng trước phân phối Google đưa quy trình tương đối đơn giản giúp người dùng đóng gói đưa ứng dụng lên Google Play Store để phân phối đến người dùng. Các bước sau: - Xuất ứng dụng file .apk (Android Package) - Tạo chứng thực ký điện tử tiến hành ký ứng dụng (file apk) theo chứng thực tạo - Xuất ứng dụng ký này. Có nhiều cách xuất như: cài trực tiếp lên thiết bị, đưa lên web site, phân phối lên chợ ứng dụng (cả hãng lẫn không hãng). Đánh số phiên phần mềm Phiên phần mềm đánh số file AndroidManifest.xml, hai thuộc tính android:versionCode android:versionName: … Trong versionCode số hiệu phiên bản, có kiểu số nguyên, dùng cho hệ thống để phân biệt phiên ứng dụng cài đăt. Mỗi bạn nâng cấp phiên ứng dụng, bạn cần thay đổi (tăng lên) số trước phân phối. Còn tham số versionName tên phiên bản, thông số không dùng hệ thống, mà tên phiên người dùng nhìn thấy xuất lên chợ ứng dụng. VersionName có kiểu chuỗi đặt tùy ý, nhiên định dàng thường dùng .., số hiệu phiên chính, phiên phụ, số hiệu cập nhật nhỏ phiên phụ, ví dụ “1.0.1”, “2.1.0”… 156 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Trong nhiều trường hợp, ta cần lấy số hiệu phiên ứng dụng lúc chạy chương trình, đó, ta dùng lấy thông tin PackageInfo sau: PackageManager pm = getPackageManager(); try { //---get the package info--PackageInfo pi = pm.getPackageInfo("net.learn2develop.LBS", 0); //---display the versioncode--Toast.makeText(getBaseContext(), "VersionCode: " +Integer.toString(pi.versionCode), Toast.LENGTH_SHORT).show(); } catch (NameNotFoundException e) { e.printStackTrace(); } Ngoài để ứng dụng phân phối chợ ứng dụng, bạn cần icon tiêu đề ứng dụng để hiển thị danh sách ứng dụng, để làm điều này, ta cần đặt giá trị cho tham số android:icon android:label thẻ (xem ví dụ trên). Chứng thực số cho ứng dụng Android Tất ứng dụng Android phải ký theo chứng thực số trước cài đặt lên thiết bị Android Emulator. Không số hệ khác yêu cầu bạn phải mua chứng số từ hãng chuyên cung cấp chứng thực, hệ thống Android cho phép tự sinh chứng thực số để ký ứng dụng. Eclipse ADT cung cấp sẵn công cụ giúp ta tạo chứng thực cách rât trực quan dễ dàng. Trong trình bạn phát triển ứng dụng, bạn chạy ứng dụng thiết bị trình giả lập. Đó Eclipse+ADT ký sẵn ứng dụng bạn theo chứng thực mặc định trước chuyển ứng dụng lên thiết bị, chứng thực mặc định chứa file debug.keystore: 157 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Tuy nhiên chứng thực dùng trình phát triển, trước bạn xuất ứng dụng, bạn cần ký ứng dụng theo chứng thực khác. Phần mô tả trình sinh chứng thực số đóng gói ứng dụng theo chứng thực đó. Để xuất ứng dụng, từ trình đơn File Eclipse, chọn Export ., cửa sổ mở ra, chọn Export Android Application, bấm Next: 158 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Trong hình tiếp theo, chọn tên dự án muốn xuất bản: 159 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Tiếp ta cần vị trí file chứa chứng thực số cần dùng để ký ứng dụng nhập vào mật chứng thực (mật ta đặt lúc tạo chứng thực số). Trong trường hợp chưa có chứng thực số, ta chọn “Create new keystore” để tạo mới: Trong trường hợp tạo keystore, ta cần nhập thông tin để tạo key (dùng để ký ứng dụng), ví dụ ta điền thông tin bên dưới: 160 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Cuối ta nhập tên file apk cần xuất bấm Finish: Khi trình kết thúc, ta thu ứng dụng file apk đóng gói sẵn sang để phân phối. 161 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang 8.2. Phân phối ứng dụng Sau đóng gói ký theo chứng thực số cần thiết, file apk sẵn sàng để phân phối lên chợ ứng dụng. Có nhiều cách để phân phối ứng dụng đến người dùng như: - Cài đặt trực tiếp lên thiết bị đầu cuối thông qua công cụ adb.exe Đặt file cài đặt (.apk) lên web server phân phối đường link tải xuống cho người dùng Phân phối ứng dụng chợ ứng dụng: điển hình Google Play Store Sử dụng công cụ adb Công cụ adb sử dụng để cài trực tiếp ứng dụng lên thiết bị đầu cuối. Để dùng công cụ này, ta cần: - Kết nối thiết bị với máy tính thông qua cổng USB Cài đặt driver cho thiết bị (nếu chưa có) Bật tùy chọn “USB debugging” “Developer options” mục cấu hình (Settings) thiết bị Android Để kiểm tra thiết bị kết nối thành công với máy tính chưa, ta gõ lệnh “adb devices: từ hình console (cmd.exe): Hình cho thấy có 01 thiết bị với mã “05863c50” kết nối với máy tính. Lưu ý: công cụ adb.exe nằm thư mục platform-tools Android SDK. Khi thiêt bị kết nối, ta dùng lệnh “adb install ” để cài đặt ứng dụng lên thiết bị: Chữ “success” báo hiệu trình cài đặt thành công, ta thấy ứng dụng xuất danh sách ứng dụng thiết bị sẵn sàng hoạt động. Phân phối web server Cách thứ đưa ứng dụng bạn lên web server phân phối link tải (ví dụ: http://myserver.com/app/LBS.apk ) đến người dùng. Người dùng cần bấm vào link từ thiết bị android mình, gõ đường link vào địa trình duyệt web thiết bị, ứng dụng tự động tải về. 162 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Sau tải xong, bấm chọn file vừa tải để thực cài đặt, nhiên để cài đặt ứng dụng từ nguồn (không phải từ Google Play Store), bạn cần bật tùy chọn “Unknown source” phần Settings > Security thiết bị: Phân phối Google Play Store Kênh phân phối thống tiềm cho ứng dụng Android chợ ứng dụng Google Play Store (cửa hàng Play) Google. Để phân phối ứng dụng cửa hàng Play, ta cần đăng ký tài khoản lập trình viên Google Android. Lệ phí lập tài khoản $25 trọn đời tài khoản. Bạn toán khoản tiền thẻ toán thẻ tín dụng quốc tế (Visa, Master, America Express, Discovery…) Để đăng ký tài khoản lập trình viên, ta truy cập https://play.google.com/apps/publish/signup/ đăng nhập tài khoản google bạn (nếu chưa có tài khoản google, bạn cần tạo mới, miễn phí): 163 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Bấm chấp nhận điều khoản tiếp tục (Continue to payment). Trong hình tiếp theo, nhập thông tin thẻ quốc tế để toán bấm “Đồng ý tiếp tục”: 164 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Nếu thẻ bạn chấp nhận, Google đưa tài khoản bạn vào trạng thái chờ kiểm tra, sau khoảng vài ngày có phản hồi từ Google chấp nhận tài khoản bạn hay không. Trong trường hợp không chấp nhận, Google yêu cầu bạn gửi thêm tài liệu chứng thực thông tin cá nhân tài khoản ngân hàng bạn. Trong thời gian chờ đợi Google kiểm tra trạng thái toán, bạn đưa ứng dụng lên server Google, nhiên chưa thể phân phối đến người dùng. Giao diện Developer console sau đăng ký thành công có dạng sau: 165 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Tài khoản có ứng dụng phân phối đến người dùng, ứng dụng có 2071 người dùng tổng số 15180 lượt tải, có 93 người bình chọn điểm trung bình 3.98/5 sao!!!! Để phân phối ứng dụng khác, ta bấm vào nút “+ Add new application” phía trang (nút bôi vàng hình). Bạn cần cung cấp đầy đủ thông tin yêu cầu ứng dụng trước phân phối đến người dùng, bao gồm thông tin: Tải file ứng dụng (apk) bạn lên hệ thống: 166 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Cung cấp tiêu đề (tên ứng dụng), mô tả, tải lên file icon lớn (512x512px) 02 hình chụp hình ứng dụng, chọn loại ứng dụng, cấu hình website email hỗ trợ…: 167 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Đặt giá bán ứng dụng (hiện Việt Nam ta phép đăng ứng dụng miễn phí) quốc gia muốn phân phối ứng dụng: Cuối bấm “Save and publish”, ứng dụng bạn bắt đầu phân phối hệ thống Google Play. Chú ý: cần phải đến vài tiếng đến vài ngày để ứng dụng vượt qua hệ thông kiểm tra Google phân phối khắp mạng CDN Google. Sauk hi hoàn tất bước ta hoàn thành việc phát triển ứng dụng cho hệ điều hành Android phân phối đến người dùng. Bạn thường xuyên ghé thăm trang dành cho developer để xem thống kê khác liên quan đến việc cài đặt sử dụng ứng dụng như: số lượt cài đặt/gỡ bỏ theo ngày, tỉ lệ phiên Android dùng, lỗi crash ứng dụng, đánh giá, phản hồi người dùng…, hình minh họa hình thống kê vậy. Phần kết thúc giáo trình “Lập trình cho thiết bị di động” chúng ta!. 168 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang 169 [...]... 2.3.3) 33 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Hình Chọn các mức API để tải về Tạo thiết bị Android ảo Để tạo các thiết bị Android ảo, từ Eclipse, chọn Window > Android Virtual Deivce Manager, cửa sổ quản lý thiết bị giả lập sẽ xuất hiện như hình dưới 34 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Hình Quản lý thiết bị giả lập Android (thiết bị ảo) Để tạo thiết bị mới,... bao di động: 120 triệu • Thuê bao 3G: 20 triệu • Tỷ lệ người dùng smartphone: 21% 12 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Thói quen sử dụng thiết bị truy cập Internet Cimigo netcitizens report 2012 1.2 Tổng quan về lập trình cho thiết bị di động Người lập trình ứng dụng cho thiết bị di động truyền thống luôn luôn phải nhớ trong đầu nguyên tắc "tiết kiệm tối đa tài nguyên" của thiết. . .Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Xu hướng di động hóa 11 Phát triển ứng dụng cho thiết bị di động Exabytes/month Hồ Thị Thảo Trang Tốc độ tăng trưởng Mobile Data Internet 12.00 10.8 EB 10.00 8.00 6.9 EB 6.00 4.2 EB 4.00 2.4 EB 2.00 0.60 EB 1.3 EB 0.00... tạo thiết bị mới xuất hiện như hình bên dưới, bạn cần lựa chọn các thông số kỹ thuật cho thiết bị cần tạo như: - Tên thiết bị Loại thiết bị thật tương ứng cần giả lập (ứng với độ phân giải màn hình của thiết bị thật này) Mức API Các thông số khác như: bàn phím, máy ảnh, RAM, heap, thẻ nhớ… Bấm OK để hoàn thành quá trình tạo thiết bị giả lập 35 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang. .. 15 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Giao di n và ứng dụng Giao di n Giao di n người dùng của Android dựa trên nguyên tắc tác động trực tiếp, sử dụng cảm ứng chạm tương tự như những động tác ngoài đời thực như vuốt, chạm, kéo dãn và thu lại để xử lý các đối tượng trên màn hình Sự phản ứng với tác động của người dùng di n ra gần như ngay lập tức, nhằm tạo ra giao di n cảm ứng. .. các ứng dụng trên Google Play, sau đó tính tiền vào trong hóa đơn sử dụng hàng tháng của người dùng Tính đến tháng 8 năm 2013, có hơn 975.000 ứng dụng dành cho Android trên cửa hàng Google Play, và số lượng ứng dụng tải về từ Cửa hàng Play ước tính đạt gần 30 tỷ 18 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Hình Giao di n cửa hàng Play trên điện thoại Google Nexus 4 Các ứng dụng cho. .. Trong khuôn khổ có hạn, giáo trình chỉ tập trung đi sâu vào việc phát triển ứng dụng cho hệ điều hành di động phổ biến nhất hiện nay - Google's Android 14 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang Chương 2 Nhập môn lập trình Android 2.1 Thiết bị Android - hệ điều hành và máy ảo Dalvik Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open Handset Alliance), một hiệp hội bao gồm nhiều... viện cho việc sử dụng Bluetooth và NFC cho kết nối điểm-tới-điểm - Chia sẻ dữ liệu và trao đổi dữ liệu giữa các ứng dụng - API cho các kho dữ liệu chia sẻ như danh bạ, lịch, mạng xã hội, đa phương tiện 28 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang - Các ứng dụng/ tác vụ chạy ngầm - Các tiện ích (widget) trên màn hình chính và hình nền động - Tích hợp khả năng tìm kiếm của ứng dụng vào... tiền nhà mạng mới được sử dụng Kết quả là nhiều thiết bị bắt đầu đặt ra hàng rào kỹ thuật như khóa bootloader hay hạn chế quyền truy cập 21 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang root Tuy nhiên, khi phần mềm do cộng đồng phát triển ngày càng trở nên phổ biến, và sau một thông cáo của Thư viện Quốc hội Hoa Kỳ cho phép "jailbreak" (vượt ngục) thiết bị di động, các nhà sản xuất và... dụng web hiện đại, một ứng dụng web có thể được đặt trên máy chủ hoặc được đóng gói thành native app (ứng dụng cho từng hệ điều hành) qua một số công cụ đóng gói của các hãng thứ ba Công cụ đóng gói ứng dụng Web cho thiết bị di động phổ biến nhất hiện nay là PhoneGap, được phát triển bởi Nitobi, sau được Adobe mua lại PhoneGap cho phép lập trình viên phát triển ứng dụng di động sử dụng ngôn ngữ web phổ . 163 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang 5 Chương 1. Những kiến thức cơ bản về thiết bị di động và lập trình cho thiết bị di động 1.1. Các thiết bị di động Phân. : Hồ Thị Thảo Trang Hà Nội 1 1-2 013 Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang 2 Mục lục Chương 1. Những kiến thức cơ bản về thiết bị di động và lập trình cho thiết bị. như thị phần của các hệ điều hành di động từ năm 2007 đến nay (nguồn wikipedia.org) Phát triển ứng dụng cho thiết bị di động Hồ Thị Thảo Trang 11 Xu hướng di động hóa Phát triển

Ngày đăng: 27/09/2015, 22:18

Từ khóa liên quan

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

Tài liệu liên quan