Tìm hiểu lập trình android và xây dựng ứng dụng contacts demo
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Ngày Tháng Năm Giảng Viên Hướng Dẫn (Ký ghi rõ họ tên) LỜI CẢM ƠN Em xin chân thành cảm ơn thầy cô bộ môn Mạng truyền thông toàn thể thầy cô trường Đại Học Công Nghệ Thông Tin Truyền Thông – Đại học Thái Nguyên truyền đạt cho chúng em kiến thức quý giá thời gian qua Em xin chân thành cảm ơn Thầy Nguyễn Anh Chuyên tận tình hướng dẫn, bảo em suốt trình thực hiện đề tài Cuối xin cảm ơn bạn khoa Công Nghệ Thông Tin, người giúp đỡ, chia kiến thức, tài liệu suốt trình thực hiện nghiên cứu đề tài Trong phạm vi khả cho phép, em cố gắng để hoàn thành đề tài một cách tốt Song, chắn không tránh khỏi thiếu sót Em kính mong nhận cảm thông ý kiến đóng góp quý thầy cô bạn Nhóm sinh viên thực hiện Thái nguyên, tháng năm 2012 MỤC LỤC MỞ ĐẦU Hiện ngành công nghiệp phần mềm phát triển ngành công nghiệp phần mềm điện thoại di động không nằm xu Tuy nhiều hạn chế phần cứng điện thoại di động thể hiện sức mạnh nhiều lĩnh vực khác giải trí, tiện ích, toán điện tử v.v Các hệ điều hành Window Mobile, Symbian… phần gây nhiều khó khăn cho có ý định xây dựng ứng dụng Đối với Window Mobile một công nghệ Microsoft hoàn toàn đóng người dùng, nhà phát triển ứng dụng dựa hoàn toàn vào công nghệ mà Microsoft cung cấp, Symbian việc cấu hình để lập trình khó khăn, đặc biệt sử dụng ngôn ngữ C/C++ để làm nền tảng lập trình rõ ràng không thuận tiện việc phát triển ứng dụng Xuất phát từ nhu cầu thực tế đó, Google mạnh dạn nghiên cứu đưa một nền tảng hệ điều hành mới, Android Một nền tảng hệ điều hành mã nguồn mở hoàn toàn dựa vào một ngôn ngữ lập trình mạnh Java để phát triển ứng dụng Chính Android hỗ trợ Java từ nền tảng nó, nên việc viết ứng dụng, sử dụng chức phần cứng hoàn toàn dễ dàng thông qua việc sử dụng bộ công cụ hỗ trợ lập trình cung cấp hoàn toàn miễn phí, Android SDK Nhận thấy nhu cầu người lĩnh vực giải trí di động ngày cao Android nền tảng ứng dụng phát triển tương lai Chính em chọn đề tài “Tìm hiểu lập trình Android xây dựng ứng dụng quản lý Contacts Demo” nhằm hiểu rõ về kĩ thuật lập trình thiết bị động Android CHƯƠNG : TỔNG QUAN VỀ ĐIỆN TOÁN DI ĐỘNG VÀ NỀN TẢNG LẬP TRÌNH ANDROID Tổng quan về điện toán di động Theo một báo cáo hãng Morgan Stanley, đến năm 2015 việc sử dụng truy cập Internet di động lớn nhiều so với sử dụng Internet máy tính PC.( Morgan Stanley một ngân hàng đầu tư, công ty chứng khoán có trụ sở tại Hoa Kỳ Đây một thể chế tài lớn thể giới.) Theo báo cáo Công ty IDC, tại Việt Nam, tổng doanh thu bán hàng máy tính để bàn quý III-2011 tăng 5%, máy tính xách tay nhỏ gọn tăng 83% so với kỳ năm trước Xu hiện sử dụng nhiều thiết bị di động dòng điện thoại thông minh, máy tính bảng tablet dựa nền tảng web, hệ thống GPS, game video thiết bị ứng dụng không dây gia đình… Với phát triển cải tiến liên tục thiết bị di động, có để tin rằng, tương lai gần, máy tính truyền thống PC bị ưu so với thiết bị cá nhân di động nhỏ gọn, tiện ích tích hợp đầy đủ chức một máy tính Chúng ta hoàn toàn nhận định: “Điện toán di động xu thời đại” Điện toán di động Điện toán di động ? Nói một cách tổng quan điện toán di động việc sử dụng thiết bị cầm tay nhỏ gọn để phục vụ mục đích người làm việc, vui chơi,giải trí,học tập v.v Đó việc sử dụng ngày nhiều thiết bị di động dòng điện thoại thông minh, máy tính bảng tablet dựa nền tảng web, hệ thống GPS, game video thiết bị ứng dụng không dây sinh hoạt người Điện toán di động phát triển ? Sự phát triển bùng nổ giải pháp công nghệ dành cho thiết bị di động một nhân tố góp phần tạo thiết bị cầm tay nhỏ gọn, đáp ứng nhu cầu tiêu dùng thông tin ứng dụng người sử dụng Những người kinh doanh, người quản lý, người tiêu dùng bình thường hay người lớn tuổi Chúng ta đều trở lên di động khao khát di động nhiều Di chuyển khắp giới để kinh doanh, hội họp với đối tác một môi trường làm việc “di động” gần trở thành một điều bình thường cuộc sống Chúng ta làm việc mà không cần rời khỏi nhà, làm việc ngồi nhâm nhi tách cà phê một quán cà phê Những kỳ nghỉ đơn di chuyển từ nước sang nước khác Điện toán di động phát triển một cách mạnh mẽ một phần lớn dựa nền tảng công nghệ internet, công nghệ mạng di động 2G, 3G 4G đặc biệt công nghệ điện toán đám mây Người sử dụng, sử dụng thiết bị cầm tay (máy tính sách tay, tablet, smartphone…) để kết nối vào internet chia sẻ cập nhật thông tin Sự phát triển mạnh mẽ điện toán di động thể hiện rõ số sau: Tính đến hết quý 1/2012 doanh số bán dòng điện thoại thông minh (smartphone) tăng lên đáng kể, đạt 144,4 triệu chiếc, tăng 44,7% so với quý 1/2011 máy tính xách tay nhỏ gọn tăng 83% so với kỳ năm trước Trong năm 2012, theo IDC dự đoán doanh số bán máy tính bảng đạt khoảng 53,5 triệu máy Tiềm phát triển lập trình di động Với phát triển vũ báo điện toán di động thời kì hiện nay, kéo theo phát triển mạnh mẽ ngành công nghiệp phần mềm ứng dụng cho thiết bị di động Trước thực tế đó, nhiều công ty, tổ chức xây dựng phát triển kho ứng dụng họ cho thiết bị di động Tháng 7/2008, Apple mắt kho ứng dụng di động trực tuyến với 500 ứng dụng cho sản phẩm iPhone, iPod Khi đó, thị trường ứng dụng mobile chưa hề tồn tại Đến nay, App Store có 400,000 ứng dụng với 10 tỷ lượt tải về, dẫn đầu ngành về dịch vụ ứng dụng cho di động Sau thành công Apple, hãng di động nhận thấy tiềm thị trường Mobile Apps liên tiếp cho mắt kho ứng dụng Tiêu biểu Ovi Store Nokia (55,000 ứng dụng, 760 triệu download), Android Market Google (200,000 ứng dụng,4,5 tỉ download), App World Blackberry (30,000 ứng dụng, triệu download/ngày), Huawei Technology - dành cho nhà mạng di động toàn cầu với 80.000 ứng dụng di động/nhạc, phim, ebook cho HĐH Android, Symbian Windows Mobile Góp vào tổng doanh thu hàng năm ngành lên tới tỷ USD, dự báo đạt 30 tỷ USD năm tới Tại Việt Nam, một số doanh nghiệp xây dựng kho ứng dụng di động riêng F-Store FPT, mStore Tổng công ty Viễn thông Quân đội Viettel, LG Application Mobile LG hay Nokia Ovi với phiên dành cho thị trường Việt Nam VTC Mobile, một đơn vị dẫn đầu thị phần dịch vụ giá trị gia tăng di động giai đoạn 2006-2010 tại Việt nam hợp tác với Qmobile để xây dựng Q-Store, cung cấp ứng dụng Việt Nam xây dựng tới hàng triệu người sử dụng Q Mobile Việt Nam hiện có tới 50 triệu thuê bao di động hoạt động thường xuyên nền tảng 3G nhà mạng triển khai rộng khắp với 69% người sử dụng độ tuổi trung bình 15 – 24 tạo nên một thị trường có tốc độ phát triển nhanh chóng mạnh mẽ Như vậy, lập trình di động hiện có tiềm lớn, ngành, lĩnh vực sôi động phát triền thời đại hiên Nền tảng Android 1.2.1 Lược sử về Android Android phát hành phiên 11/11/2007, một môi trường hệ điều hành hoàn chỉnh dựa hệ điều hành nhân Linux V2.6 Lúc đầu, đích triển khai Android lĩnh vực điện thoại di động, gồm loại điện thoại thông minh loại thiết bị điện thoại kiểu gập chi phí thấp Tuy nhiên, phạm vi đầy đủ dịch vụ điện toán Android hỗ trợ chức phong phú có tiềm mở rộng thị trường điện thoại di động Android hữu ích nền tảng ứng dụng khác Nền Android sản phẩm Open Handset Alliance (Liên minh thiết bị cầm tay mở), một tập đoàn tổ chức hợp tác với để xây dựng nên một loại điện thoại di động tốt Tập đoàn Google đứng đầu gồm nhà vận hành (điện thoại) di động, nhà sản xuất thiết bị cầm tay, sản xuất linh kiện, nhà cung cấp nền giải pháp phần mềm công ty tiếp thị Từ một quan điểm phát triển phần mềm, Android trở thành trung tâm giới mã nguồn mở có tiềm phát triển Thiết bị cầm tay có khả Android thị trường thiết bị G1 HTC sản xuất bán T-Mobile Nó trở nên sẵn có sau gần một năm đồn đại, mà công cụ phát triển phần mềm sẵn có một số phát hành Bộ công cụ phát triển phần mềm (SDK) cải tiến dần bước Khi ngày phát hành G1 gần đến, nhóm Android phát hành SDK V1.0 ứng dụng bắt đầu vượt lên nhằm hướng tới nền tảng Để kích thích đổi phát triển ứng dụng Android, Google tài trợ hai vòng cuộc thi “Các thách thức nhà phát triển Android”, hàng triệu đô la đổ vào ứng dụng dự thi hàng đầu Vài tháng sau G1, Android Market phát hành, cho phép người sử dụng duyệt tải về ứng dụng trực tiếp vào điện thoại họ Trong vòng 18 tháng, một nền di động thức có mặt thị trường đối thủ cạnh tranh nặng ký nền di động phổ biến trước Symbian hay Window Mobile Android cung cấp đầy đủ công cụ thiết kế cho nhà phát triển tận dụng tối đa lợi thiết bị cầm tay để xây dựng nên ứng dụng thực thuyết phục Họ tạo một ứng dụng gọi thực hiện chức lõi điện thoại thực hiện cuộc gọi, gửi tin nhắn SMS, dùng camera … Hay chia sẻ thông tin cá nhân lên trang web chẳn hạn thông tin liên lạc, vị trí địa lí, lịch biểu… Các nhà phát triển làm việc thiết bị Android hệ thống Android giao tiếp thông qua Intents – đơn giản một chuỗi mô tả một hành động – ví dụ: “android.provider.Telephony.SMS_RECEIVED” Android cung cấp sẵn dịch vụ định vị (và một mạnh Google) với một tập ứng dụng về “Map” với tính ấn tượng dò đường, tính khoảng cách địa điểm, tìm bạn… Ngoài có một số tính nổi bật khác Animation đồng thời hỗ trợ media-playback Sự phát triển hệ điều hành Android nổi bật qua phiên dành cho điện thoại di động (Android 2.3), dành cho tablet (Android 3.0) … Phiên hiện Android 4.0.x (Ice Cream Sandwich) phiên dành cho smatphone tablet 1.2.2 Kiến trúc nền tảng Android Với khả rộng rãi Android, dễ dàng nhầm lẫn với một hệ điều hành máy tính để bàn Android một môi trường phân tầng, xây dựng nền hệ điều hành nhân Linux, bao hàm nhiều chức phong phú Hệ thống giao diện người sử dụng gồm có: Cửa sổ Khung hình Các tiểu trình để hiển thị phần tử phổ biến hộp biên soạn, danh sách, danh sách thả xuống Android gồm một trình duyệt nhúng vào được, xây dựng dựa WebKit, máy (engine) trình duyệt mã nguồn mở động trình duyệt Safari iPhone Android khoe một mảng dồi nhiều tùy chọn kết nối, gồm WiFi, Bluetooth liệu không dây qua một kết nối di động (như GPRS, EDGE 3G).Một kỹ thuật phổ biến ứng dụng Android liên kết tới Google Maps để hiển thị một địa trực tiếp một ứng dụng Việc hỗ trợ cho dịch vụ dựa địa điểm (chẳng hạn GPS) dụng cụ đo gia tốc có sẵn gói phần mềm Android, tất thiết bị Android trang bị với phần cứng cần thiết Ngoài có hỗ trợ máy ảnh (camera) Về mặt lịch sử, có hai lĩnh vực mà ứng dụng di động gắng sức theo kịp đối tác máy tính để bàn đồ họa/đa phương tiện phương thức lưu trữ liệu Android giải thách thức về đồ họa hỗ trợ dựng sẵn cho đồ họa 2D 3D, gồm thư viện OpenGL Gánh nặng lưu trữ liệu giảm nhẹ nền Android có gồm sở liệu SQLite mã nguồn mở phổ biến Hình cho thấy một khung hình đơn giản hóa về tầng phần mềm Android Hình – Cấu trúc Android Tầng kernel Linux Nhân Android phát triển dựa vào Kernel Linux 2.6 Theo đó, cung cấp trình điều khiển thiết bị phần cứng (driver), quản lý tiến trình, quản lý tài nguyên, bảo mật … sau: Security system Memory management Process mamagement Network stack Driver model Tầng Libraries Android runtime Libraries (thư viện) Android bao gồm một bộ thư viện C/C++, sử dụng thành phần khác hệ thống Android Những khả tiếp xúc với nhà phát triển 10 } }; thread.start(); //bắt đầu thread Lưu ý: Thread lần đầu thực thi gọi phương thức start(), lần sau gọi phương thức run(), không gọi start() Các code xử lý liên quan đến giao diện xử lý thread ứng dụng (ví dụ load ảnh từ mạng về dùng thread, hiển thị ảnh lên ImageView xử lý thread chính) Sau thực thi xong phương thức run(), thread không hoạt động 1.2.6.2 Handler Trong Android, để tiện việc giao tiếp thread ta dùng đối tượng Handler Có thể dùng Handler bộ đếm giây chơi nhạc, chức tương tự Ngoài ra, dùng Handler để đặt xử lý một yêu cầu sau một khoảng thời gian xác định Giao tiếp Thread: Giả sử phương thức run() lấy xong đối tượng Bitmap về Muốn truyền đối tượng Bitmap cho Thread hiển thị lên hình: Message msg = mHandler.obtainMessage(1, bitmap); mHandler.sendMessage(msg); Trong code Activity (mặc định thread chính), ta khai báo một đối tượng Handler tương tứng sau: Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { if(msg.what == 1) { //Hiển thị Bitmap mImageView.setImageBitmap((Bitmap)msg.obj); 37 } super.handleMessage(msg); } }; Trong đoạn code trên, đối tượng mHandler lấy một message gắn mã vào cho message đó, kèm theo đối tượng bitmap Sau gửi Message gửi nhận phương thức callback handleMessage() đối tượng Handler Handler gửi message để xử lý sau một khoảng thời gian định sẵn sendMessageAtTime xử lý tại một thời điểm định sẵn sendMessageDelayed 1.2.6.3 AlarmManager Dùng AlarmManager để thực hiện đăng ký xử lý một thao tác tại một thời điểm định tương lai (thường thời gian dài, xử lý thời gian ngắn khuyến cáo nên dùng Handler) Khi đến thời điểm đặt trước, dù ứng dụng không chạy gọi Nếu tắt máy bật lại không Khởi tạo một AlarmManager: AlarmManager am =(AlarmManager)getSystemService(ALARM_SERVICE); Intent broadcastIntent = new Intent("org.multiuni.android.ACTION "); PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, broadcastIntent, PendingIntent.FLAG_CANCEL_CURRENT); am.set(AlarmManager.RTC_WAKEUP, triggerAtTime, pendingIntent); 1.2.6.4 Notification Trong trường hợp muốn hiện một thông báo về một kiện (tin nhắn, cuộc gọi, email…) cho người dùng mà không muốn ảnh hưởng đến 38 công việc họ không họ có cầm điện thoại hay không, bạn muốn hiển thị thông tin một việc xảy điện thoại (đang nghe nhạc, cuộc gọi, thiếu thẻ nhớ…) mong người dùng biết dùng Notification Chúng ta tạo một thông báo có nhiều hình thức khác có âm báo, rung, đèn led, icon… Mỗi phương pháp thông báo có một tham số id kiểu int tùy chọn một tham số tag kiểu String, null, tạo thành một bộ hai (tag, id) (null, id) Bộ hai nhận diện thông báo từ ứng dụng, phải ứng dụng.Nếu gọi một phương thức thông báo với bộ (tag, id) hiện hoạt động thiết lập thông số cập nhật Tạo một thông báo Tạo một đối tượng Notification, truyền vào icon để hiển thị trang thái thời gian hiển thị: // chọn một drawable để hiển thị một icon trạng thái int icon = R.drawable.icon; // Text để hiển thị lên trạng thái thông báo chạy String tickerText = “Notification”; // Thanh trạng thái mở rộng xếp thông báo theo thứ tự thời gian when = System.currentTimeMillis(); Notification notification = new Notification(icon, tickerText, when); Cấu hình giao diện Notification cửa sổ trạng thái mở rộng, sử dụng phương thức setLatestEventInfo Cửa sổ trạng thái mở rộng hiển thị icon thời gian khai báo constructor đồng thời hiển thị tiêu đề chi tiết về chuỗi thông báo Context context = getApplicationContext(); // Text để hiển thị cửa sổ trạng thái mở rộng String expandedText = “Extended status text”; 39 // Tiêu đề trạng thái mở rộng String expandedTitle = “Notification Title”; // Intent chạy một activity text click Intent intent = new Intent(this, MyActivity.class); PendingIntent launchIntent = PendingIntent.getActivity(context, 0, intent, 0); notification.setLatestEventInfo(context, expandedTitle, expandedText, launchIntent); Cải tiến thông báo thuộc tính khác đối tượng Notification để làm nháy đèn LED thiết bị, rung điện thoại hay trình diễn file nhạc Gọi một thông báo Để thực hiện gọi một thông báo, gọi phương thức notify NotificationManager: int notificationRef = 1; notificationManager.notify(notificationRef, notification); Để cập nhật một thông báo sử dụng, gọi lại truyền lại giá trị reference ID Cũng sử dụng ID để hủy thông báo cách gọi phương thức cancel NotificationManager notificationManager.cancel(notificationRef); Việc hủy thông báo xóa icon trạng thái cửa sổ trạng thái mở rộng 40 CHƯƠNG 2: XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ CONTACTS – DEMO 2.1 Phân tích thiết kế hệ thống quản lý Contact 2.1.1 Đặc tả toán Đối với điện thoại di động Contact ứng dụng thiếu, dùng để quản lý danh bạ điện thoại, thông tin cá nhân cần liên lạc danh bạ Với mục đích demo cho tìm hiểu lý thuyết, ứng dụng “quản lý contacts Demo” xây dựng có một số chức ứng dụng Contact điên thoại thông thường: Hiện thị danh sách liên lạc Tìm kiếm nhanh một thông tin liên lạc Thêm mới, sửa xóa thông tin liên lạc Bài toán đặt : Xây dựng ứng dụng demo cho kĩ thuật lập trình nền tảng hệ điều hành mở Android 2.1.2 Đặc tả chức Hiển thị thông tin liên lạc Chức hiện thị thông tin liên lạc cho phép người dùng xem danh sách thông tin liên lạc Hiển thị toàn bộ danh sách Contacts gồm Tên Số liên hệ Dòng kiện: Người dùng bật chương trình Chương trình hiển thị danh sách thông tin liên lạc Thêm thông tin liêc lạc Chức thêm thông tin liên lạc cho phép người dung thêm thông tin liên lạc vào danh sách thông tin liên lạc Dòng kiện: Người dùng chọn chức thêm 41 Hệ thống hiển thị Form nhập thông tin Người dùng nhập thông tin Submit Hệ thống kiển tra thông tin Nếu thông tin hợp lệ hệ thông tiến hành thêm thông tin liên lạc vào CSDL Nếu ngược lại đưa thông báo quay lại Form nhập thông tin Nếu thêm thành công hệ thống trả về danh sách liên lạc cập nhật Sửa thông tin liên lạc Chức sửa thông tin liên lạc cho phép người dung sửa đổi thông tin một Contacts Dòng kiện: Người dùng chọn chức sửa thông tin liên lạc Hệ thống hiển thị Form sửa thông tin Người dùng sửa thông tin Submit Hệ thống kiển tra thông tin Nếu thông tin hợp lệ hệ thông tiến hành thêm thông tin liên lạc vào CSDL Nếu ngược lại đưa thông báo quay lại Form nhập thông tin Nếu thêm thành công hệ thống trả về danh sách liên lạc cập nhật Xóa thông tin liên lạc Chức xóa thông tin liên lạc cho phép người dùng xóa một Contact Dòng kiện: Người dùng chọn chức xóa thông tin liên lạc Hiện thị thông báo xác nhận xóa Người dùng xác nhận Hệ thống xóa thông tin liên lạc CSDL Sau hiện thị danh sách liên hệ cập nhật Tìm kiếm nhanh thông tin liên lạc Chức tìm kiếm nhanh Contact cho phép người dùng tìm nhanh một Contact danh sách Contacts Dòng kiện: Người dung nhập tư khóa tìm kiến vào textbox tìm kiếm 42 Hệ thống tự động kiểm tra so sánh từ khóa nhập vào với Contacts, từ trả về kết tìm kiếm cho người dung 2.1.3 Phân tích hệ thống với UML 2.1.3.1 Biểu đồ Usercase Mô hình UseCase thể hiện cho chức hệ thông, chức mà người dung tương tác Hình 10: Biểu đồ UseCase tổng quát 2.1.3.2 Biểu đồ Sequence (Biểu đô tuần tự) Hiện thị danh sách liên lạc Hình 11: Biểu tuần tự cho chức hiển thị 43 Tìm nhanh thông tin liên lạc Hình 12: Biểu đồ tuần tự cho chức tìm kiếm Thêm một thông tin liên lạc Hình 13: Biểu đồ tuần tự cho chức thêm 44 Sửa thông tin liên lạc Hình 14: Biểu đồ tuần tự cho chức sửa thông tin liên lạc Xóa thông tin liên lạc 45 Hình 15: Biểu đồ tuần tự cho chức xóa thông tin liên lạc Xây dựng giao diện chương trình Giao diện – hiển thị danh sách thông tin liên lạc Giao diện – hiển thị danh sách thông tin liên lạc có máy Danh sách hiện thị tên số điện thoại có điện thoại Hình 16: Giao diện – hiển thị danh sách liên lạc Giao diện tìm kiếm thông tin liên lạc 46 Giao diện tìm kiếm gồm có một textbox nằm giao diện cho phép người dung nhập nội dung tìm kiếm theo tên Hình 17: Giao diện tìm kiếm 47 Giao diện thêm thông tin liên lạc sửa thông tin liên lạc Ở em sử dụng chung một giao diện cho thêm sửa thông tin liên lạc Giao diện gồm có textbox để điền tên , số điện thoại e-mail Hình 18: Giao diện thêm sửa thông tin liên lạc Các giao diện Menu sử dụng chương trình Hình 19: Giao diện menu chọn chức sửa, xóa 48 Hình 20: Giao diện menu chọn chức thêm 49 KẾT LUẬN Kết đạt Đứng trước phát triển thiết bị di động đòi hỏi người lĩnh vực giải trí, ứng dụng thiết bị di động ngày cao Với đề tài “Tìm hiểu lập trình Android xây dựng ứng dụng Contacts Demo”, khóa luận trình bày tổng quan về lập trình Android kĩ thuật về lập trình Android Tuy nhiên hạn chế về điều kiện thời gian lực, khoá luận tránh khỏi thiếu sót Kính mong đóng góp ý kiến thầy cô bạn để nhóm thực hiện hoàn thiện đề tài nghiên cứu Hướng phát triển Hiện tại, hệ điều hành Android phát triển rực rỡ, tính mở Và cộng đồng lập trình viên khắp giới quan tâm tìm hiểu, đồng thời trợ giúp cho Google phát triển hoàn thiện tính cho hệ điều hành Do đó, tương lai em thực hiện tiếp tục tìm hiểu, sâu về kỹ thuật chuyên sâu lập trình ứng dụng Android, hướng đến phát triển demo thành một ứng dụng hoàn chỉnh 50 TÀI LIỆU THAM KHẢO Reto Meier Professional Android™ Application Development Wiley Publishing, Inc 2009 Frank Ableson Nhập môn phát triền ứng dụng Android 2011 Châu Duy Thiện, Vũ Thùy Linh, Lê Quốc Tiến Tiểu luận Tìm hiểu viết ứng dụng nền hệ điều hành mobile Android 2010 http://www.android.com/ http://developer.android.com/index.html http://code.google.com/intl/vi-VN/android/ 51 [...]... Tầng ứng dụng Android sẽ ship với một bộ các ứng dụng lõi bao gồm một ứng dụng email, lịch chương trình tin nhắn SMS,, bản đồ, trình duyệt, liên lạc, và những người khác Tất cả các ứng dụng được viết bằng cách sử dụng ngôn ngữ lập trình Java 1.2.3 Các công cụ để tạo một ứng dụng Android Để bắt đầu phát triển các ứng dụng Android, chúng ta cần có Bộ công cụ phát triển phần mềm Android (SDK) và. .. giúp theo ngữ cảnh và các mách nước gợi ý về mã Khi bộ mã Java được biên dịch thành công, Android Developer Tools sẽ đảm bảo rằng ứng dụng đó được đóng gói một cách đúng đắn, gồm cả tập tin AndroidManifest.xml Android SDK: Bộ công cụ phát triển ứng dụng Android SDK là công cụ giả lập thiết bị ảo trên máy tính để phát triển ứng dụng với các hàm API hỗ trợ cho những lập trình viên lập trình trên các... cộng đồng Android rộng rãi Thư mục sample (các ví dụ mẫu): thư mục con samples chứa bộ mã nguồn đầy đủ dùng cho một loạt các ứng dụng, gồm cả ApiDemo, nó sử dụng nhiềuAPI Ứng dụng mẫu là một nơi khám phá tuyệt vời khi bắt đầu phát triển ứng dụng Android Thư mục tools (các công cụ): chứa toàn bộ các công cụ dòng lệnh để xây dựng nên các ứng dụng Android Công cụ được dùng phổ biến và hữu ích... sử dụng các thành phần Cơ chế này cũng cho phép các thành phần được thay thế bởi người sử dụng Nằm bên dưới tất cả các ứng dụng là một tập hợp các dịch vụ và hệ thống, bao gồm: Một tập phong phú và mở rộng của xem có thể được sử dụng để xây dựng một ứng dụng, bao gồm các danh sách, lưới, hộp văn bản, các nút, và thậm chí một trình duyệt web nhúng Nhà cung cấp nội dung cho phép các ứng dụng. .. hoặc sử dụng phần cứng tăng tốc 3D (nếu có) hoặc bao gồm, cao tối ưu rasterizer phần mềm 3D SQLite - một mạnh mẽ và nhẹ quan hệ cơ sở dữ liệu có sẵn cho tất cả các ứng dụng Android Runtime (Thời gian chạy Android) Android bao gồm một tập các thư viện lõi mà cung cấp hầu hết các chức năng sẵn có trong thư viện cốt lõi của ngôn ngữ lập trình Java Mỗi ứng dụng Android chạy trong tiến trình riêng... sử dụng nền tảng Android thông qua ngôn ngữ lập trình Java SDK gồm có: android. jar : tập tin lưu trữ Java chứa toàn bộ các lớp SDK Android cần thiết để xây dựng ứng dụng documention.html và thư mục docs: tài liệu SDK được cung cấp tại chỗ và trên web, chủ yếu nó ở dạng JavaDocs, tạo điều kiện dễ dàng cho việc hướng dẫn trong nhiều gói SDK Tài liệu cũng gồm cả hướng dẫn phát triển mức cao và. .. dựng các ứng dụng vô cùng phong phú và sáng tạo Các nhà phát triển được miễn phí để tận dụng lợi thế của các thiết bị phần cứng, thông tin địa điểm truy cập, 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 đến các thanh trạng thái, và nhiều, nhiều hơn nữa Các nhà phát triển có thể truy cập vào các API cùng một khuôn khổ được sử dụng bởi các ứng dụng lõi Kiến trúc ứng dụng được... (audio, video, và hình ảnh) Settings: Truy xuất đến các thiết lập cài đặc của thiết bị, Settings cho phép hiển thị và điều chỉnh các thiết lập Bluetooth, ring tone và nhiều cài đặt khác 27 Nên sử dụng các Content Providers native này bất cứ khi nào có thể, bởi vì khi sử dụng chúng sẽ bảo đảm cho ứng dụng được kết hợp với các ứng dụng native hoặc third-party khác một cách liên tục Xây dựng các thành... chương trình hoặc giao diện bị block.Thread khá thông dụng và trong Android dùng lớp Thread của Java Theo mặc định, mỗi ứng dụng chạy trong mộttiến trình và code được thực thi trong thread chính của tiến trình đó.Nếu code xử lý quá lâu, không kịp phản hồi lại các sự kiện người dùng trong 5 giây thì sẽ xuất hiện dialog “Application is not responding” và người dùng có thể đóng ứng dụng ngay lập tức... gồm MPEG4, H.264, MP3, AAC, AMR, JPG, và PNG Surface Manager - quản lý quyền truy cập vào hệ thống con hiển thị và hoàn toàn phù hợp chất 2D và 3D lớp từ nhiều ứng dụng đồ họa LibWebCore - một trình duyệt web hiện đại, động cơ có quyền hạn cả hai trình duyệt web của Android và một xem nhúng SGL - các công cụ đồ họa 2D OpenGLJES – Thư viện đồ họa 2D và 3D 3D libraries - một việc thực hiện