LỊCH SỬ PHÁT TRIỂN CỦA THIẾT BỊ DI ĐỘNG VÀ HỆ ĐIỀU HÀNH DI ĐỘNG
Giới thiệu về lịch sử phát triển của thiết bị di động
Ngày 10 tháng 3 năm 1867 được coi là mốc son đánh dấu sự ra đời của điện thoại Cha đẻ của chiếc điện thoại đầu tiên là Alexander Graham Bell Chiếc máy thô sơ có thể truyền được giọng nói này đã mở ra một kỷ nguyên phát triển mới trong lịch sử thông tin liên lạc, thay thế cho điện tín Năm 1967, chiếc điện thoại được coi là "di động" đầu tiên trình làng với tên gọi Carry Phone, rất cồng kềnh cho việc di chuyển vì nó nặng đến 4.5kg
Điện thoại di động đầu tiên, mang tên Motorola Dyna Tac, đã chính thức ra đời vào ngày 3 tháng 4 năm 1973, do nhà sáng chế Martin phát minh.
Cooper Motorola Dyna Tac mang hình dáng gần giống điện thoại di động ngày nay mặc dù vẫn còn khá cồng kềnh (nặng khoảng 0.79kg) và không phổ biến
Hình 1.2 Motorola Dyna Tac
Nokia 1011 là điện thoại GSM (Global System for Mobile
Communications) sản xuất hàng loạt đầu tiên Nó được ra mắt vào ngày
10 tháng 11 năm 1992 Điện thoại có phiên bản màu đen duy nhất với các kích thước 195 x 60 x 45 (mm) và danh bạ có thể lưu 99 số Nokia
1011 được sản xuất đến năm 1994, sau đó nó được phát triển thành Nokia 2110
Năm 1996, Nokia đã cho ra mắt Nokia 9000 Communicator, một chiếc điện thoại có kích thước lớn và trọng lượng 397g Thiết bị này được trang bị CPU i386 Intel với tốc độ 24MHz và bộ nhớ 8MB, bao gồm 4MB cho ứng dụng, 2MB cho bộ nhớ chương trình và 2MB cho dữ liệu người dùng Hệ điều hành của máy là GEOS 3.0.
Năm 1996, Motorola đã tạo ra cơn sốt với khái niệm "điện thoại thời trang", đưa kiểu dáng nắp gập, nhỏ gọn trở thành xu hướng chủ đạo Điện thoại Motorola StarTAC, với trọng lượng chỉ 88g và chiều dài 9.4cm khi gập lại, đã ghi dấu ấn mạnh mẽ trong lòng người tiêu dùng.
Năm 1999, Nokia 7110 ra mắt là điện thoại đầu tiên tích hợp WAP, cho phép người dùng truy cập internet, và đã xuất hiện trong bộ phim nổi tiếng "THE MATRIX" Điểm nổi bật của Nokia 7110 là cơ chế trượt tự động, màn hình hiển thị đơn sắc kích thước 96x65 pixels, và nhạc chuông đơn sắc với loa ngoài to và rõ Máy chỉ hỗ trợ kết nối Hồng Ngoại (iRDA).
Năm 2001, Erisson cho ra giới thiệu chiếc điện thoại màn hình màn đầu tiên T68 Màn hình 256 màu, độ phân giải 101 x 80 pixel Hỗ trợ kết nối Bluetooth
Năm 2004, Motorola ra mắt điện thoại siêu mỏng Razr V3, nhanh chóng trở thành biểu tượng thời trang và là chiếc điện thoại bán chạy nhất thời điểm đó Với độ dày chỉ 13.9mm, Razr V3 nổi bật nhờ thiết kế vỏ sò độc đáo và hai màn hình, thu hút sự chú ý của người tiêu dùng.
Một số hệ điều hành trên thiết bị di động và điện thoại thông minh
Vào năm 1998, hệ điều hành Symbian đã ra đời khi Psion Software được đổi tên thành Symbian Ltd vào ngày 24 tháng 6 Đây là một liên doanh lớn giữa Psion và các nhà sản xuất điện thoại nổi tiếng như Ericsson, Motorola và Nokia, với nhiệm vụ phát triển hệ điều hành cho các thiết bị di động.
“liên minh” này nhằm tập trung phát triển các PDA và điện thoại di động thông minh
Hình 1.3 Các nhà sản xuất
Symbian 5.0 không phải là tên gọi chính thức mà đây là bản EPOC Release 5 (ER5) trên nền EPOC32 Chiếc điện thoại đầu tiên sử dụng Symbian không phải đến từ Nokia mà của Ericsson, đó là R380 ra mắt
“đình đám” vào năm 2000 R380 không thể cài thêm các phần mềm từ bên ngoài và còn khá nhiều hạn chế
Vào tháng 10/2003, Nokia đã ra mắt điện thoại chơi game N-Gage, được mệnh danh là "game thủ lừng danh" Tuy nhiên, với bộ nhớ chỉ dưới 4MB, thiết bị này không thể lưu trữ nhiều trò chơi hấp dẫn Một điểm nổi bật của N-Gage thời bấy giờ là khả năng kết nối Bluetooth Mặc dù không có nhiều tính năng nổi bật, nhưng Nokia vẫn tích hợp khả năng nghe nhạc MP3 với chất lượng âm thanh trung bình (16 âm sắc).
Hệ điều hành BlackBerry, phát triển bởi công ty Research In Motion (RIM) của Canada, được thiết kế dành riêng cho doanh nghiệp Kể từ năm 1999, BlackBerry đã cho ra mắt dòng thiết bị di động chuyên dụng cho việc gửi nhận email và điện thoại thông minh Sản phẩm đầu tiên của BlackBerry được giới thiệu vào năm 1999 dưới dạng máy nhắn tin hai chiều, và đến năm 2002, công ty đã cho ra mắt hai mẫu điện thoại thông minh phổ biến, hỗ trợ nhiều tính năng như push email, nhắn tin, fax qua Internet, duyệt web và các dịch vụ thông tin không dây khác.
BlackBerry 5810 (03/2002) là một thiết bị có chức năng thoại nhưng không được trang bị micro và loa, do đó người dùng cần sử dụng tai nghe Máy hỗ trợ GPRS, cho phép người dùng gửi email, chat và duyệt web một cách dễ dàng.
Vào tháng 7 năm 2002, BB 6710 đã ra mắt như một chiếc điện thoại thực thụ, nổi bật với khả năng gửi tin nhắn, kiểm tra email và duyệt web Chiếc điện thoại này được trang bị loa và micro, giúp việc đàm thoại trở nên dễ dàng hơn Với 1MB SRAM và 8MB Flash, BB 6710 cung cấp hiệu suất ổn định cho người dùng.
Cuối năm 2005, BlackBerry 8700 ra mắt với nhiều tính năng nổi bật, trở thành mẫu điện thoại BlackBerry thành công nhất trong vòng 10 năm Thiết bị này hỗ trợ công nghệ EDGE, mang lại khả năng kết nối không dây tốc độ cao.
Năm 2008, Bold 9000 GPS, Wifi, bộ nhớ trong 1GB, màn hình độ phân giải cao hơn, đẹp hơn
Năm 2010, Touch 9800 được giới thiệu với màn hình cảm ứng 3.2 inch (360x480), camera 5.0 (chất lượng kém)
Vào năm 2013, BB Z10 ra mắt với màn hình 4.2 inch, độ phân giải 1280 x 768 pixel, camera 8.0 MP, CPU hai nhân 1.5GHz, RAM 2GB và bộ nhớ trong 16GB, đánh dấu sự trở lại của RIM Đồng thời, iOS là hệ điều hành dành cho các thiết bị di động của Apple.
Hình 1.4 Điện thoại chạy hệ điều hành IOS
Hệ điều hành này ban đầu được phát triển cho iPhone, nhưng sau đó đã được mở rộng để tương thích với các thiết bị khác của Apple như iPod touch, iPad và Apple TV Tính đến ngày 31 tháng 5 năm 2011, App Store của Apple đã có khoảng 500.000 ứng dụng iOS, với tổng số lượt tải về lên tới khoảng 15 tỷ lần.
Trong quý 4 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 của Google và Symbian của Nokia
Năm 2005, Apple hợp tác vs Motorola đưa Itunes lên dòng điện thoại Motorola Rokr, V3i và điện thoại dần thay thế vị trí máy MP3
Vào ngày 29 tháng 6 năm 2007, Apple đã ra mắt iPhone 2G, chiếc điện thoại cảm ứng điện dung đầu tiên, đánh dấu sự thay đổi trong cách nhìn nhận và xu hướng về điện thoại di động Với cấu hình Ram 128MB, bộ nhớ trong 4G/8G, GPRS và giao diện chạm đơn giản, sinh động, iPhone 2G đã tạo nên một cuộc cách mạng trong ngành công nghiệp di động.
11/7/2008, Apple giới thiệu IP 3G, có tích hợp 3G, Ram vẫn 128
MB, bộ nhớ trong 16GB, tích hợp GPS 10/7/2008, App Store chính thức mở cửa, với chỉ khoảng 500 ứng dụng
Vào ngày 19 tháng 6 năm 2009, Apple đã phát hành iPhone 3GS với RAM được nâng cấp lên 256MB, gấp đôi so với iPhone 2G và 3G, cùng với camera 3 megapixel Đến tháng 9 năm 2012, Apple giới thiệu iPhone 5 với màn hình 4.0 inch độ phân giải 1136 x 640 pixel (326 PPI), camera 8.0 megapixel, chip lõi kép 1GHz và RAM 1GB iPhone 5 mỏng chỉ 7.6mm và tích hợp công nghệ 4G, đạt doanh số 5 triệu chiếc chỉ sau 3 ngày ra mắt.
Android là hệ điều hành mở đầy hấp dẫn của Google
Hình 1.5 Biểu tượng chú robot xanh hệ điều hành Android
Android là hệ điều hành di động được phát triển dựa trên lõi Linux, do công ty Android Inc ở California, Mỹ thiết kế Năm 2005, Google đã mua lại công ty này và bắt đầu xây dựng nền tảng Android.
Android đã chính thức gia nhập Liên minh Thiết bị Cầm tay Mã nguồn Mở (OHA), bao gồm nhiều tên tuổi lớn trong ngành viễn thông và thiết bị cầm tay như HTC, LG, Samsung và T-Mobile.
Windows Phone 7 là hệ điều hành di động do Microsoft phát triển, kế thừa từ Windows Mobile Ra mắt vào ngày 21 tháng 10 năm 2010 tại châu Âu, Singapore và Úc, và sau đó tại Mỹ, Canada vào ngày 08 tháng 11 năm 2010, với sự mở rộng sang châu Á vào năm 2011 Hệ điều hành này giới thiệu giao diện người dùng mới mang tên Metro, tích hợp chặt chẽ với các dịch vụ khác của Microsoft và kiểm soát phần cứng mà nó hoạt động trên nền tảng này.
TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID
Android là gì?
Android là hệ điều hành di động do Google phát triển, dựa trên nền tảng Linux kernel và phần mềm mã nguồn mở Ban đầu được phát triển bởi Android Inc, Android đã trở thành phần mềm chủ chốt trong liên minh OHA với khoảng 78 thành viên, bao gồm các nhà sản xuất và nhà phát triển ứng dụng Hệ điều hành này được thiết kế để cạnh tranh với các nền tảng khác như iOS, BlackBerry OS, Windows Mobile, Symbian, Bada và WebOS.
Android có một cộng đồng phát triển ứng dụng rất lớn, tính đến tháng
Tính đến tháng 8 năm 2014, Play Store đã có hơn 1.4 triệu ứng dụng và vẫn đang được cập nhật liên tục Các ứng dụng này được phát triển chủ yếu bằng ngôn ngữ Java, kết hợp với thư viện Java do Google cung cấp Các nhà phát triển có thể sử dụng máy tính chạy hệ điều hành Windows, MacOS hoặc Linux cùng với Android SDK để tạo ra ứng dụng cho nền tảng Android.
Lịch sử phát triển của Android
Tổng công ty Android (Android, Inc.) được thành lập vào tháng 10 năm 2003 tại Palo Alto, California bởi Andy Rubin, một trong những người đồng sáng lập công ty Danger Mặc dù đội ngũ sáng lập có uy tín, Android hoạt động âm thầm, chỉ tiết lộ rằng họ phát triển phần mềm cho điện thoại di động Vào ngày 17 tháng 8 năm 2005, Google đã mua lại Android, biến công ty thành một bộ phận của mình, điều này khiến nhiều người đoán rằng Google có kế hoạch tham gia vào thị trường điện thoại di động Tại Google, nhóm của Rubin đã phát triển nền tảng di động dựa trên nhân Linux, mà Google quảng bá cho các nhà sản xuất điện thoại và nhà mạng với cam kết cung cấp một hệ thống linh hoạt và có khả năng nâng cấp Google cũng đã tiếp cận nhiều hãng phần cứng và đối tác phần mềm, thông báo rằng họ sẵn sàng hợp tác ở nhiều cấp độ khác nhau.
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 công ty trong đó có Texas Instruments, Tập đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel và T-Mobile được thành lập với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động.Cùng ngày, Android cũng được ra mắt với vai trò là sản phẩm đầu tiên của Liên minh, một nền tảng thiết bị di động được xây dựng trên nhân Linux phiên bản 2.6 Chiếc điện thoại chạy Android đầu tiên được bán ra là HTC Dream, phát hành ngày 22 tháng
10 năm 2008 Biểu trưng của hệ điều hành Android mới là một con robot màu xanh lá cây
Kể từ năm 2008, hệ điều hành Android đã trải qua nhiều bản cập nhật, cải tiến tính năng và sửa lỗi, với các phiên bản được đặt tên theo thứ tự bảng chữ cái và các món ăn tráng miệng, như Cupcake (1.5) và Donut (1.6), trong khi phiên bản mới nhất hiện nay là Lollipop (5.0) Năm 2010, Google giới thiệu dòng sản phẩm Nexus, bao gồm điện thoại thông minh và máy tính bảng chạy Android, với sự hợp tác đầu tiên từ HTC cho Nexus One Các thiết bị mới hơn như Nexus 4 và Nexus 10 cũng đã được sản xuất bởi LG và Samsung, với Nexus được xem là thiết bị Android chủ lực của Google, mang đến những tính năng phần cứng và phần mềm tiên tiến nhất.
Các phiên bản của Android
Hệ điều hành Android đã trải qua 5 năm phát triển với nhiều phiên bản cải tiến đáng chú ý Dưới đây là những tính năng quan trọng trong các phiên bản Android từ khi ra mắt cho đến nay.
Hình 2.1 Các phiên bản của Android Điểm khởi đầu của Android là Android 1.0
Kỷ nguyên Android bắt đầu vào ngày 22-10-2008 với sự ra mắt của HTC Dream G1 tại Mỹ Mặc dù thiếu nhiều tính năng cơ bản như bàn phím ảo, cảm ứng đa điểm và khả năng mua ứng dụng, phiên bản đầu tiên này đã đóng vai trò quan trọng trong việc định hình các đặc điểm nhận dạng của Android hiện nay.
Android 1.1 (dành riêng cho T_mobile G1)
Vào tháng 2/2009, phiên bản nâng cấp đầu tiên của Android được ra mắt, chỉ ba tháng sau khi G1 được phát hành Phiên bản 1.1 không mang lại nhiều tính năng mới, chủ yếu tập trung vào việc sửa lỗi Tuy nhiên, nó đã chứng minh khả năng nâng cấp thiết bị di động qua phương pháp Over-The-Air, cho phép người dùng tải về và cài đặt bản cập nhật trực tiếp trên thiết bị mà không cần kết nối với máy tính Vào thời điểm đó, rất ít hệ điều hành di động có tính năng này, trong khi hầu hết đều yêu cầu phần mềm chuyên dụng trên PC Trước đó, tại Mỹ, dòng máy Danger Hiptop (hay còn gọi là Sidekick) đã có những cập nhật tương tự theo từng giai đoạn, và Andy Rubin, người sáng lập Android Inc (sau này được Google mua lại), cũng là đồng sáng lập của hãng Danger.
Android 1.5 ra mắt ngày 30-4-2009 Android 1.5 có lẽ có vai trò cực kỳ quan trọng trong quá trình trưởng thành của Android khi nó bổ sung cho hệ điều hành này những tính năng nổi bật giúp nó cạnh tranh với các nền tảng đối thủ khác Đây cũng là bản Android đầu tiên được Google gọi tên theo các món đồ ăn với chữ cái bắt đầu được xếp theo thứ tự alphabet Android 1.5 không có nhiều điểm thay đổi so với người tiền nhiệm của mình Google chỉ điểm thêm vài điểm để làm giao diện trông bóng bẩy, mượt mà hơn một tí, chẳng hạn như widget tìm kiếm có độ trong suốt nhẹ, biểu tượng app drawer có một số hoa văn nhỏ mới,… Nói chung, giao diện không phải là một điểm nhấn của Android 1.5 mà người ta quan tâm nhiều hơn đến các tính năng mới mà nó mang lại, chẳng hạn như: bàn phím ảo, cải tiến clipboard, khả năng quay phim, mở rộng khả năng cho widget,…
Andoid 1.6 ra mắt ngày 30-9-2009 Mặc dù chỉ thêm có 0.1 vào mã số của Android 1.5 nhưng nó cũng mang lại nhiều cải tiến đáng giá Một vài điểm trong giao diện được cải thiện, vài tính năng nhỏ được thêm vào, cuối cùng là hỗ trợ cho mạng CDMA Động thái này cho phép nhiều nhà mạng hơn có thể sử dụng với Android, giúp cho Android có thêm một số lượng lớn người dùng ở Mỹ và ở cả Châu Á nữa Nhưng có lẽ điểm thú vị nhất của Donut đó là hỗ trợ các thành phần đồ họa độc lập với độ phân giải Lần đầu tiên, Android có thể chạy trên nhiều độ phân giải và tỷ lệ màn hình khá nhau, cho phép những thiết bị có nhiều độ phân giải hơn là 320 x 480
Android 2.0 ra mắt ngày 26-10-2009 Chỉ sau gần một tháng ra mắt Donut (Android 1.6), Google tung ra Eclair, phiên bản được nhận định là
Hệ điều hành Eclair đã có những bước tiến lớn với nhiều cải tiến đáng kể, từ giao diện đến các ứng dụng bên trong Ứng dụng chụp ảnh giờ đây được nâng cấp với tính năng zoom số, cân bằng trắng, hỗ trợ đèn flash và nhiều hiệu ứng màu sắc phong phú.
Hệ thống hoạt động ổn định hơn với khả năng xử lý cải thiện và hỗ trợ kết nối Bluetooth tốt hơn, đặc biệt là tùy chọn đồng bộ nhiều tài khoản Giao diện danh bạ cho phép người dùng dễ dàng gọi, nhắn tin hoặc email chỉ bằng cách nhấn vào ảnh danh bạ, mang lại sự tiện lợi cao Ngoài ra, giao diện ứng dụng lịch biểu (Calendar) cũng đã có sự thay đổi đáng kể Eclair là phiên bản Android đầu tiên hỗ trợ ảnh nền động (live wallpaper), mặc dù tính năng này tiêu tốn khá nhiều pin.
Android 2.2 ra mắt ngày 20-5-2010 Từ phiên bản 2.0 trở đi, Android dần hoàn thiện hơn Phiên bản 2.2 (Froyo) mang Adobe Flash đến Android, kéo theo hàng loạt ứng dụng và game trên nền Flash Người dùng cũng có thể xem video clip nền Flash như YouTube và ra lệnh thực hiện cuộc gọi qua Bluetooth Một chức năng mới trong Froyo được nhóm người dùng lưu động yêu thích là USB Tethering và Wi-Fi Hotspot, biến chiếc smartphone Android thành thiết bị phát sóng Wi-Fi từ kết nối 3G Tính năng này được sử dụng rất phổ biến đến ngày nay Lần đầu tiên Android cho phép cài đặt ứng dụng (app) lên thẻ nhớ SD thay vì mặc định cài ngay vào bộ nhớ trong của thiết bị Điểm đầu tiên nữa trong Froyo bao gồm mật khẩu đã hỗ trợ số và chữ số Thiết bị đầu tiên mang nhãn Froyo ra mắt thị trường là HTC Nexus One
Android 2.3 ra mắt ngày 6-12-2010 Đến cuối năm 2012, Gingerbread vẫn đang phủ sóng trên rất nhiều thiết bị dùng Android, chiếm đến hơn phân nửa (54%) Google hợp tác Samsung trình làng dòng smartphone đầu tiên sử dụng Gingerbread mang tên Nexus S, hỗ trợ công nghệ giao tiếp tầm gần NFC Gingerbread đưa vào hệ thống một công cụ quản lý tải tập tin, cho phép theo dõi và truy xuất đến các tập tin đã tải về máy Hệ thống này hỗ trợ nhiều camera cho các thiết bị có camera mặt sau và trước, quản lý nguồn pin hiệu quả hơn, tiết kiệm thời lượng pin Phiên bản này khắc phục khá nhiều lỗi từ Froyo, kèm theo một số điều chỉnh trong giao diện người dùng (UI)
Android 3.0 ra mắt ngày 22-2-2011 Đây không chỉ là một phiên bản, mà có thể xem là một thế hệ Android đầu tiên dành riêng cho máy tính bảng (tablet), ra mắt cùng tablet Motorola XOOM Mang những tính năng từ thế hệ Android 2.x, Android 3.0 cải tiến giao diện phù hợp với cách sử dụng máy tính bảng, bàn phím ảo thân thiện hơn, hỗ trợ xử lý đa tác vụ (multi-tasking), cho phép chuyển đổi qua lại các ứng dụng đang cùng chạy Không chỉ có bề mặt được trau chuốt, phần lõi hệ thống có các cải tiến tương thích với phần cứng như hỗ trợ chip xử lý (CPU) đa lõi, tăng tốc phần cứng,…
Android 3.0 đặt nền móng quan trọng cho thế hệ Android 4.x hợp nhất, khắc phục sự phân mảng của Android (có các phiên bản riêng dành cho smartphone và tablet)
Sau Android 3.0, các phiên bản Android 3.1 và 3.2 tiếp tục sử dụng tên gọi Honeycomb và chủ yếu tập trung vào việc sửa lỗi cũng như bổ sung một số tính năng mới như khả năng thay đổi kích thước widget trên màn hình chính và hỗ trợ thẻ SD.
Android 4.0: Ice Cream Sandwich (Bánh kẹp kem)
Android 4.0 ra mắt ngày 19-10-2011 Ice Cream Sandwich(ICS) là thế hệ Android được mong đợi nhất đến thời điểm đó, ra đời cùng dòng smartphone bom tấn Samsung Galaxy Nexus, thế hệ smartphone đầu tiên trang bị ICS Android 4.0 đưa chức năng truy xuất nhanh các ứng dụng thường dùng vào phần bên dưới giao diện chủ, tùy biến widget, dễ sắp xếp và duyệt danh sách ứng dụng hơn Các ứng dụng đã có thể truy xuất nhanh từ màn hình khóa thiết bị (Lock screen) Ice Cream Sandwich hoạt động mượt mà, nhanh và đẹp hơn
Android 4.1 ra mắt ngày 9-7-2012 Máy tính bảng Nexus 7, sản phẩm hợp tác giữa Google và Asus, là thiết bị dùng Jelly Bean đầu tiên ra mắt Android 4.1 nâng tầm hoạt động cho hệ điều hành của Google, trở thành hệ điều hành cho thiết bị di động hàng đầu hiện nay, đe dọa cả
“ông lớn” Windows Khả năng sắp xếp giao diện chủ và widget trong
Jelly Bean là phiên bản Android rất linh hoạt và tùy biến, giới thiệu Google Now - một trợ lý ảo hữu ích cho việc quản lý lịch trình, tìm kiếm thông tin và xác định vị trí Dịch vụ này được xem như câu trả lời của Google cho Siri, trợ lý ảo của Apple trên iOS.
Android 4.2: vẫn là Jelly Bean
Android 4.2 ra mắt tháng 11-2012 Chỉ sau gần năm tháng ra mắt Android 4.1, Google tiếp tục “bồi” thêm sức nặng cho Android với phiên bản 4.2 và vẫn mang tên mã Jelly Bean
Ưu – Nhược điểm của Android
Tính linh hoạt của Android xuất phát từ nền tảng mở của Linux, cho phép người dùng trải nghiệm một thế giới hoàn toàn tự do Ngược lại, Apple hạn chế người dùng với những gì hãng cho phép, chỉ cho phép các ứng dụng được công nhận hoạt động trên iPhone Apple kiểm soát toàn bộ hệ sinh thái của mình, từ thiết bị đến dịch vụ và ứng dụng Trong khi đó, Android mang đến cho người dùng sự tự do lựa chọn, cho phép các nhà phát triển sáng tạo và thương mại hóa ứng dụng, cũng như cho phép các nhà sản xuất tùy biến trải nghiệm Android theo nhu cầu của khách hàng.
Sự gia tăng về số lượng thiết bị iOS chỉ giới hạn ở iPhone và các sản phẩm của Apple, điều này có thể khiến người dùng cảm thấy thiếu lựa chọn Trong khi đó, hệ điều hành Android mang đến nhiều sự lựa chọn hơn cho khách hàng, tạo ra sự thoải mái và linh hoạt hơn trong việc chọn lựa thiết bị.
App Inventor của Google đã trao quyền cho người dùng bằng cách cung cấp nhiều công cụ phát triển tự tay thực hiện (Do-It-Yourself), giúp việc tạo ứng dụng trở nên dễ dàng hơn bao giờ hết Tuy nhiên, điều này cũng dẫn đến lo ngại rằng Android có thể bị tràn ngập bởi quá nhiều ứng dụng.
“rác”, nhưng chắc chắn một điều rằng, trong số đó sẽ có vài ứng dụng đáng đồng tiền bát gạo
Hiệu ứng từ thương hiệu Google đã giúp Android nổi bật giữa các hệ điều hành Linux khác như Bada của Samsung và MeeGo của liên doanh Nokia – Intel Sự khác biệt chính là Android nhận được sự hỗ trợ mạnh mẽ từ Google, tạo nên một thương hiệu giá trị đáng kể đi kèm với hệ điều hành này.
Thời lượng pin của các thiết bị Android thường thấp, đây là một vấn đề quan trọng mà Google và các nhà sản xuất đang nỗ lực khắc phục.
Android là một hệ điều hành đa năng nhưng có thể gây khó khăn cho người mới sử dụng trong việc kích hoạt các tính năng Khi lần đầu trải nghiệm, người dùng sẽ thấy nhiều widget, ứng dụng và tùy chọn mà họ chưa biết đến Ví dụ, Galaxy S III có những tính năng độc đáo mà iPhone không thể cung cấp Tuy nhiên, để tận dụng hết các chức năng này, người dùng cần thực hiện nhiều tùy chỉnh cài đặt, điều này có thể gây trở ngại cho những ai chưa quen với Android.
Nội dung giải trí: Google đang không ngừng cải tiến nội dung của
Play Store cung cấp nhiều chương trình giải trí truyền hình và phim cho thuê trên thiết bị Android, nhưng lựa chọn vẫn hạn chế so với iTunes trên iOS Trong lĩnh vực âm nhạc, Google Play thiếu nội dung từ Warner, một trong bốn hãng ghi âm lớn nhất thế giới.
Phụ kiện cho thiết bị Android hiện chưa đáp ứng được nhu cầu người dùng như phụ kiện cho iPhone Thị trường tràn ngập các sản phẩm độc đáo dành cho iPhone, không chỉ hỗ trợ chụp ảnh mà còn cải thiện dung lượng pin Sự thiếu quan tâm từ các nhà sản xuất phụ kiện đối với điện thoại Android khiến người dùng cảm thấy thiệt thòi.
Thiết bị Android dễ bị nhiễm phần mềm độc hại và virus do hoạt động như một hệ điều hành mở với nhiều kho ứng dụng không chính thức Gần đây, một loại virus đánh cắp thông tin qua SMS đã xuất hiện trên kho ứng dụng Android tại Trung Quốc, khiến hơn 500.000 người bị lây nhiễm.
2.5 GIỚI THIỆU VỀ NỀN TẢNG CỦA ANDROID a) Giới hạn của thiết bị cầm tay
Mặc dù các thiết bị cầm tay như điện thoại di động và máy tính bảng mang lại nhiều tiện ích cho người dùng, nhưng chúng vẫn tồn tại một số hạn chế đáng kể Những hạn chế này bao gồm khả năng xử lý hạn chế, thời gian sử dụng pin ngắn, và màn hình nhỏ, ảnh hưởng đến trải nghiệm người dùng.
Bộ nhớ lưu trữ trên các thiết bị cầm tay thường có giới hạn, nhưng nhờ vào những nỗ lực không ngừng của các tập đoàn công nghệ bán dẫn, vấn đề này sẽ sớm được khắc phục trong tương lai.
Năng lượng xử lý của các thiết bị cầm tay còn hạn chế, gây khó khăn cho việc sử dụng nhiều dịch vụ trực tuyến như game, nhạc và video, vốn yêu cầu bộ xử lý nhanh để hoạt động hiệu quả.
Nguồn năng lượng đóng vai trò quan trọng trong việc tiết kiệm năng lượng, vì việc thường xuyên di chuyển thiết bị có thể làm tiêu hao năng lượng nhanh chóng Nhiều nghiên cứu hiện nay đang phát triển các nguồn năng lượng mới, như pin nhiên liệu, với chu kỳ sống lâu hơn, nhằm giảm thiểu sự lãng phí năng lượng.
Mỗi thiết bị công nghệ được phát triển dựa trên các nền tảng và tiêu chuẩn riêng biệt do nhà sản xuất quy định, điều này tạo ra sự hạn chế trong khả năng tương thích và giao tiếp giữa các thiết bị.
Bàn phím của các thiết bị cầm tay thường có kích thước nhỏ và ít phím, gây khó khăn trong việc nhập dữ liệu Điều này dẫn đến việc sử dụng các dịch vụ trở nên chậm chạp và không thuận tiện.
Giao diện người dùng đơn giản, kích thước nhỏ gọn nên giao diện ứng dụng của các thiết bị cầm tay cũng rất đơn giản
Giới thiệu về nề tảng của Android
3.1 DOWNLOAD CÁC GÓI PHẦN MỀM CÔNG CỤ
+ SDK ADT bundle for windows: eclipse, sdk, sdk manager
Lưu ý: các file giải nén và cài đặt nên lưu cùng thư mục
Android SDK thực chất là tập hợp các công cụ và thư viện để phát triển các ứng dụng trên nền tảng hệ điều hành Android
To download the Android SDK ADT bundle for Windows, visit the official Android developer site at http://developer.android.com/sdk/index.html Choose the appropriate version based on your operating system, whether it's Mac, Linux, or Windows In this case, select the Windows version and follow the subsequent instructions to complete the installation.
PHẦN MỀM PHÁT TRIỂN ỨNG DỤNG
Cài đặt bộ JDK Platform (JDK) K7U21
Sau khi tải JDK k7u21 về, ta tiến hành cài đặt
Hình 3.7 Cài đặt bộ JDK Platform
Hình 3.8 Cài đặt bộ JDK Platform Để mặc định các thông số, tiếp tục Click Next
Hình 3.9 Cài đặt bộ JDK Platform
Quá trình cài đặt bộ JDK bắt đầu, đợi cho đến khi tiến trình kết thúc
Hình 3.10 Cài đặt bộ JDK Platform
Click close để hoàn tất quá trình cài đặt bộ JDK
Bộ Eclipse không cần cài đặt, các bạn vào file adt-bundle-windows- x86_64-20130219 vừa tải về, tìm file elclipse, chạy file eclipse.exe
Hình 3.11 Chạy eclipse.exe
Hình 3.12 Màn hình khởi động của Eclipse
Hình 3.13 Màn hình chọn thư mục làm việc của Eclipse
Hình 3.14 Màn hình làm việc của chương trình Eclipse
3.4 CÀI ĐẶT ANDROID PLUGIN ADT VÀO ECLIPSE
Chạy chương trình Eclipse, tại menu Help, chọn Install New Software
Hình 3.15 Quá trình cấu hình phần mềm Eclips
Chọn Add, gõ tên tùy ý vào ô Name và gõ địa chỉ để tải ADT vào ô Location hoặc tìm đến thư mục ADT đã tải ở trên
Hình 3.16 Quá trình cấu hình phần mềm Eclipse
Hình 3.17.Quá trình cấu hình phần mềm Eclipse
Tìm đến thư mục lưu file ADT đã tải về
Hình 3.18 Quá trình cấu hình phần mềm Eclipse
Hình 3.19 Quá trình cấu hình phần mềm Eclipse
Bấm Next để tiếp tục quá trình cài đặt
Hình 3.20 Quá trình cấu hình phần mềm Eclipse
Để tiếp tục cài đặt, bạn cần xác nhận việc chấp nhận hoặc không chấp nhận các điều khoản sử dụng Hãy chọn "I accept the terms of the license agreements" và nhấn "Finish" để hoàn tất quá trình cài đặt.
Hình 3.21 Quá trình cấu hình phần mềm Eclipse
Eclipse sẽ tự đồng tiến hành download và cài đặt bộ plugin Android
Hình 3.22 Quá trình cấu hình phần mềm Eclipse
Sau khi cài đặt xong bộ plugin Android, Eclipse yêu cầu khởi động lại chương trình, bấm Yes để hoàn tất quá trình cài đặt
Sau khi khởi động lại chương trình Eclipse, chúng ta cần cấu hình để Eclipse nhận diện các bộ Android SDK đã được cài đặt trước đó.
3.5 CẬP NHẬT CÁC CÔNG CỤ, THƯ VIỆN HỖ TRỢ CHO VIỆC LẬP TRÌNH HỆ ĐIỀU HÀNH ANDROID
Chọn window => Android SDK manager
Hình 3.23 Cài đặt các công cụ, thư viện lập trình
Hình 3.24 Cài đặt các công cụ, thư viện lập trình
Trước khi sử dụng SDK Manager, hãy đảm bảo máy tính của bạn đã kết nối Internet, vì quá trình cài đặt yêu cầu kết nối tới máy chủ của Google để cập nhật phiên bản mới nhất và tải các thành phần thiết yếu SDK Manager sẽ tự động tải các thành phần này Bạn cần đánh dấu các gói (Packages) mà bạn muốn tải, bao gồm tài liệu Javadoc mô tả các phương thức và lớp, các đoạn mã mẫu (Sample), nền tảng SDK tương ứng với các phiên bản hệ điều hành (như 2.2 – API level 8, 2.1 – API level 7), và Google API để phát triển phần mềm liên quan đến dịch vụ của Google Cuối cùng, nhấn "Install packages" ở góc phải để bắt đầu quá trình cài đặt.
Chọn tất cả các tùy chọn có thể giúp lập trình thuận tiện, nhưng quá trình tải và cài đặt sẽ kéo dài Để tối ưu hóa, bạn nên chọn mục công cụ và phiên bản 4.4.4, sau đó nhấn cài đặt các gói.
Hình 3.25 Cài đặt các công cụ, thư viện lập trình
Hình 3.26 Cài đặt các công cụ, thư viện lập trình
Quá trình download và cài đặt diễn ra khá lâu
Lưu ý: Ở cột status xuất hiện installed nghĩa là đã được cài đặt, not installed là chưa được cài đặt
3.6 TÍCH HỢP ANDROID VÀO ECLIPSE
Eclipse → Windows → Preferences → Android Nhấn nút Browse và chỉnh đường dẫn tới thư mục chứa các packages của Android SDK mà bạn đã tải khi chạy file SDK Manager
Hình 3.27 Quá trình cấu hình phần mềm Eclipse
Hình 3.28 Quá trình cấu hình phần mềm Eclipse
3.7.CÀI ĐẶT THIẾT BỊ CHẠY GIẢ LẬP(ANDROID VIRTUAL DEVICES)
Trong quá trình phát triển ứng dụng cho Android OS, lập trình viên cần một công cụ để gỡ rối và kiểm tra mã code trực tiếp trên máy tính Công cụ này giúp mô phỏng và xác nhận rằng mã đã viết hoạt động đúng theo yêu cầu trước khi được triển khai trên thiết bị thực tế Bộ công cụ Android SDK cung cấp plugin Android Emulator, cho phép người dùng trải nghiệm giao diện giống như một thiết bị di động thực thụ.
Android Emulator cung cấp hầu hết các tính năng của một thiết bị thật, nhưng một số chức năng như kết nối USB, camera, video, nghe điện thoại, nguồn điện giả lập và Bluetooth vẫn bị giới hạn.
Các bước thiết lập một Android Emulator
+ Từ menu Windows của Eclipse, chọn mục Android SDK and AVD Manager
Hình 3.29 Quá trình cài đặt máy ảo Android
+ Trong cửa sổ Android SDK and AVD Manager, trong danh sách chọn Virtual devices, bấm New để thiết lập một máy Android Emulator
Hình 3.30 Hộp thoại quản lý các máy ảo Android
Trong hộp thoại Create new Android Vitual Device (AVD) lần lượt cấu hình như sau:
Hình 3.31 Tạo máy ảo với cấu hình mong muốn
+ Name: tùy ý (nhưng ký tự được sử dụng các lý tự “A-Z”, “a- z”,”.-_”, nghĩa là khoảng trắng cũng không được)
+ Target: chọn phiên bản hệ điều hành bạn muốn
+ SD Card: gõ vào Size SD Card ảo cho AVD, hoặc chỉnh tới tập tin đã có sẵn Nhiều AVD có thể dùng chung Sdcard
+ Skin: có thể để Default (HVGA) hoặc chọn kích cỡ màn hình bạn muốn
+ Snapshot: cho phép chức năng tương tự như standby của windows
Sau khi hoàn tất cấu hình phần cứng cho máy ảo, hãy nhấn nút OK để tạo máy ảo Tiếp theo, trong cửa sổ Quản lý SDK Android và ADV, mục Máy ảo Android sẽ hiển thị danh sách các máy ảo đã được tạo thành công.
Hình 3.32 Trình quản lý các máy ảo đã thêm máy ảo ta mới tạo
+ New: tạo một máy ảo ADV khác
+ Edit: chỉnh sửa máy ảo ADV đã tạo trước đó
+ Delete: xóa máy ảo ADV đã tạo
+ Repair: trong quá trình debug, máy ảo có thể bị lỗi, để khác phục ta dùng chức năng Repair
+ Details: liệt kê thông tin chi tiết của máy ảo (Name, đường dẫn lưu file ADV, Target, SD card, …)
+ Start: khởi động máy ảo
Hình 3.33 Mình hình thiết lập khi khởi động máy ảo
Khi nhấn Start, một cửa sổ thiết lập nhanh về phần người dùng được thiết lập
Để điều chỉnh tỷ lệ màn hình về kích thước thực, bạn có thể chọn tùy chọn này hoặc để mặc định Sau khi chọn, hãy thiết lập các thông số màn hình trong khung bên dưới để đảm bảo hiển thị chính xác.
Xóa dữ liệu người dùng là quá trình loại bỏ toàn bộ thông tin từ phiên làm việc trước của máy ảo Nếu không thực hiện thao tác này, máy ảo sẽ tiếp tục lưu trữ các giá trị dữ liệu từ các phiên làm việc trước đó.
+ Launch from snapshot: cho phép máy ảo chạy lại sau khi thực hiện chức năng Snapshot
+ Save to snapshot: lưu các thông tin vào Snapshot cho lần khởi động sau
Sau khi thiết lập xong, nhấn Launch để chạy máy ảo ADV Quá trình khởi động máy ảo ADV tương đối lâu
Hình 3.34.Quá trình khởi động máy ảo
Hình 3.35.Màn hình máy ảo
Máy ảo ADV sở hữu đầy đủ các chức năng tương tự như một máy thực, bao gồm màn hình, bàn phím, các nút chức năng và nút điều hướng Người dùng có thể tương tác với màn hình cảm ứng trong máy ảo bằng cách nhấp chuột vào các đối tượng cần tác động.
Cài đặt Android Plugin ADT vào Eclipse
Chạy chương trình Eclipse, tại menu Help, chọn Install New Software
Hình 3.15 Quá trình cấu hình phần mềm Eclips
Chọn Add, gõ tên tùy ý vào ô Name và gõ địa chỉ để tải ADT vào ô Location hoặc tìm đến thư mục ADT đã tải ở trên
Hình 3.16 Quá trình cấu hình phần mềm Eclipse
Hình 3.17.Quá trình cấu hình phần mềm Eclipse
Tìm đến thư mục lưu file ADT đã tải về
Hình 3.18 Quá trình cấu hình phần mềm Eclipse
Hình 3.19 Quá trình cấu hình phần mềm Eclipse
Bấm Next để tiếp tục quá trình cài đặt
Hình 3.20 Quá trình cấu hình phần mềm Eclipse
Để hoàn tất quá trình cài đặt, bạn cần xác nhận việc chấp nhận hoặc không chấp nhận các điều khoản sử dụng Hãy chọn "Tôi chấp nhận các điều khoản của thỏa thuận cấp phép" và nhấn "Hoàn tất" để kết thúc bước cuối cùng.
Hình 3.21 Quá trình cấu hình phần mềm Eclipse
Eclipse sẽ tự đồng tiến hành download và cài đặt bộ plugin Android
Hình 3.22 Quá trình cấu hình phần mềm Eclipse
Sau khi cài đặt xong bộ plugin Android, Eclipse yêu cầu khởi động lại chương trình, bấm Yes để hoàn tất quá trình cài đặt
Sau khi chương trình Eclipse khởi động lại, bước tiếp theo là thiết lập cấu hình để Eclipse nhận diện các bộ Android SDK đã được cài đặt trước đó.
3.5 CẬP NHẬT CÁC CÔNG CỤ, THƯ VIỆN HỖ TRỢ CHO VIỆC LẬP TRÌNH HỆ ĐIỀU HÀNH ANDROID
Chọn window => Android SDK manager
Hình 3.23 Cài đặt các công cụ, thư viện lập trình
Hình 3.24 Cài đặt các công cụ, thư viện lập trình
Trước khi sử dụng SDK Manager, hãy đảm bảo máy tính của bạn đã kết nối Internet, vì việc cài đặt yêu cầu kết nối với máy chủ của Google để cập nhật phiên bản mới nhất và tải các thành phần thiết yếu SDK Manager sẽ tự động tải các thành phần này Bạn cần đánh dấu các gói (Packages) muốn cài đặt, bao gồm tài liệu Javadoc mô tả các phương thức và lớp, mã mẫu (Sample), nền tảng SDK tương ứng với các phiên bản hệ điều hành (như 2.2 – API level 8, 2.1 – API level 7) và Google API để phát triển phần mềm liên quan đến dịch vụ của Google Nhấn "Install packages" ở góc phải để tiếp tục quá trình cài đặt.
Chọn tất cả các gói cài đặt có thể thuận tiện cho lập trình, nhưng quá trình tải xuống sẽ mất thời gian Để tối ưu hóa, bạn nên chọn mục công cụ và phiên bản 4.4.4, sau đó nhấn vào cài đặt các gói.
Hình 3.25 Cài đặt các công cụ, thư viện lập trình
Hình 3.26 Cài đặt các công cụ, thư viện lập trình
Quá trình download và cài đặt diễn ra khá lâu
Lưu ý: Ở cột status xuất hiện installed nghĩa là đã được cài đặt, not installed là chưa được cài đặt
3.6 TÍCH HỢP ANDROID VÀO ECLIPSE
Eclipse → Windows → Preferences → Android Nhấn nút Browse và chỉnh đường dẫn tới thư mục chứa các packages của Android SDK mà bạn đã tải khi chạy file SDK Manager
Hình 3.27 Quá trình cấu hình phần mềm Eclipse
Hình 3.28 Quá trình cấu hình phần mềm Eclipse
3.7.CÀI ĐẶT THIẾT BỊ CHẠY GIẢ LẬP(ANDROID VIRTUAL DEVICES)
Trong quá trình lập trình ứng dụng cho Android OS, lập trình viên cần một công cụ để gỡ rối và kiểm tra mã nguồn trực tiếp trên máy tính Công cụ này giúp mô phỏng và xác nhận xem các đoạn mã đã viết có hoạt động đúng như yêu cầu hay không trước khi triển khai trên thiết bị thực tế Bộ công cụ Android SDK cung cấp plugin Android Emulator, mang đến giao diện giống như một thiết bị cầm tay thực sự.
Android Emulator cung cấp hầu hết các tính năng của một thiết bị thật, nhưng vẫn có một số hạn chế như không hỗ trợ kết nối qua cổng USB, camera và video, nghe điện thoại, nguồn điện giả lập và Bluetooth.
Các bước thiết lập một Android Emulator
+ Từ menu Windows của Eclipse, chọn mục Android SDK and AVD Manager
Hình 3.29 Quá trình cài đặt máy ảo Android
+ Trong cửa sổ Android SDK and AVD Manager, trong danh sách chọn Virtual devices, bấm New để thiết lập một máy Android Emulator
Hình 3.30 Hộp thoại quản lý các máy ảo Android
Trong hộp thoại Create new Android Vitual Device (AVD) lần lượt cấu hình như sau:
Hình 3.31 Tạo máy ảo với cấu hình mong muốn
+ Name: tùy ý (nhưng ký tự được sử dụng các lý tự “A-Z”, “a- z”,”.-_”, nghĩa là khoảng trắng cũng không được)
+ Target: chọn phiên bản hệ điều hành bạn muốn
+ SD Card: gõ vào Size SD Card ảo cho AVD, hoặc chỉnh tới tập tin đã có sẵn Nhiều AVD có thể dùng chung Sdcard
+ Skin: có thể để Default (HVGA) hoặc chọn kích cỡ màn hình bạn muốn
+ Snapshot: cho phép chức năng tương tự như standby của windows
Sau khi hoàn tất cấu hình phần cứng cho máy ảo, hãy nhấn nút OK để tạo máy ảo Tiếp theo, trong cửa sổ Android SDK và ADV Manager, mục Android Virtual Devices sẽ hiển thị danh sách các máy ảo đã được tạo thành công.
Hình 3.32 Trình quản lý các máy ảo đã thêm máy ảo ta mới tạo
+ New: tạo một máy ảo ADV khác
+ Edit: chỉnh sửa máy ảo ADV đã tạo trước đó
+ Delete: xóa máy ảo ADV đã tạo
+ Repair: trong quá trình debug, máy ảo có thể bị lỗi, để khác phục ta dùng chức năng Repair
+ Details: liệt kê thông tin chi tiết của máy ảo (Name, đường dẫn lưu file ADV, Target, SD card, …)
+ Start: khởi động máy ảo
Hình 3.33 Mình hình thiết lập khi khởi động máy ảo
Khi nhấn Start, một cửa sổ thiết lập nhanh về phần người dùng được thiết lập
Để điều chỉnh tỷ lệ màn hình về kích thước thực, bạn có thể để mặc định hoặc chọn vào mục này và thiết lập các thông số màn hình trong khung bên dưới.
Xóa dữ liệu người dùng: loại bỏ hoàn toàn tất cả thông tin từ phiên làm việc trước của máy ảo Nếu không chọn tùy chọn này, máy ảo sẽ giữ lại các giá trị dữ liệu từ các phiên làm việc trước đó.
+ Launch from snapshot: cho phép máy ảo chạy lại sau khi thực hiện chức năng Snapshot
+ Save to snapshot: lưu các thông tin vào Snapshot cho lần khởi động sau
Sau khi thiết lập xong, nhấn Launch để chạy máy ảo ADV Quá trình khởi động máy ảo ADV tương đối lâu
Hình 3.34.Quá trình khởi động máy ảo
Hình 3.35.Màn hình máy ảo
Máy ảo ADV được thiết kế với đầy đủ chức năng tương tự như một máy thực, bao gồm màn hình, bàn phím, các nút chức năng và nút điều hướng Người dùng có thể tương tác với màn hình cảm ứng thông qua việc nhấp chuột vào các đối tượng trên máy ảo.
Tích hợp Android vào Eclipse
Eclipse → Windows → Preferences → Android Nhấn nút Browse và chỉnh đường dẫn tới thư mục chứa các packages của Android SDK mà bạn đã tải khi chạy file SDK Manager
Hình 3.27 Quá trình cấu hình phần mềm Eclipse
Hình 3.28 Quá trình cấu hình phần mềm Eclipse
3.7.CÀI ĐẶT THIẾT BỊ CHẠY GIẢ LẬP(ANDROID VIRTUAL DEVICES)
Trong quá trình lập trình ứng dụng cho Android OS, lập trình viên cần một công cụ để gỡ rối và kiểm tra mã nguồn trên máy tính Công cụ này giúp mô phỏng hoạt động của mã đã viết, đảm bảo rằng ứng dụng đáp ứng yêu cầu trước khi triển khai trên thiết bị thực Bộ công cụ Android SDK cung cấp plugin Android Emulator, cho phép người dùng trải nghiệm giao diện giống như một thiết bị di động thực thụ.
Android Emulator cung cấp hầu hết các tính năng giống như một thiết bị thực, nhưng một số tính năng như kết nối USB, camera, video, gọi điện, nguồn điện giả lập và Bluetooth lại bị hạn chế.
Các bước thiết lập một Android Emulator
+ Từ menu Windows của Eclipse, chọn mục Android SDK and AVD Manager
Hình 3.29 Quá trình cài đặt máy ảo Android
+ Trong cửa sổ Android SDK and AVD Manager, trong danh sách chọn Virtual devices, bấm New để thiết lập một máy Android Emulator
Hình 3.30 Hộp thoại quản lý các máy ảo Android
Trong hộp thoại Create new Android Vitual Device (AVD) lần lượt cấu hình như sau:
Hình 3.31 Tạo máy ảo với cấu hình mong muốn
+ Name: tùy ý (nhưng ký tự được sử dụng các lý tự “A-Z”, “a- z”,”.-_”, nghĩa là khoảng trắng cũng không được)
+ Target: chọn phiên bản hệ điều hành bạn muốn
+ SD Card: gõ vào Size SD Card ảo cho AVD, hoặc chỉnh tới tập tin đã có sẵn Nhiều AVD có thể dùng chung Sdcard
+ Skin: có thể để Default (HVGA) hoặc chọn kích cỡ màn hình bạn muốn
+ Snapshot: cho phép chức năng tương tự như standby của windows
Sau khi hoàn tất việc cấu hình phần cứng cho máy ảo, hãy nhấn nút OK để tạo máy ảo Tiếp theo, trong cửa sổ Quản lý Android SDK và ADV, mục Android Virtual Devices sẽ hiển thị danh sách các máy ảo đã được tạo thành công.
Hình 3.32 Trình quản lý các máy ảo đã thêm máy ảo ta mới tạo
+ New: tạo một máy ảo ADV khác
+ Edit: chỉnh sửa máy ảo ADV đã tạo trước đó
+ Delete: xóa máy ảo ADV đã tạo
+ Repair: trong quá trình debug, máy ảo có thể bị lỗi, để khác phục ta dùng chức năng Repair
+ Details: liệt kê thông tin chi tiết của máy ảo (Name, đường dẫn lưu file ADV, Target, SD card, …)
+ Start: khởi động máy ảo
Hình 3.33 Mình hình thiết lập khi khởi động máy ảo
Khi nhấn Start, một cửa sổ thiết lập nhanh về phần người dùng được thiết lập
Để điều chỉnh tỷ lệ màn hình về kích thước thực, bạn có thể để mặc định hoặc chọn tùy chọn này và sau đó thiết lập các thông số màn hình trong khung bên dưới.
Xóa dữ liệu người dùng là quá trình loại bỏ toàn bộ thông tin từ phiên làm việc trước của máy ảo Nếu không thực hiện thao tác này, máy ảo sẽ tiếp tục lưu giữ các giá trị dữ liệu từ những phiên làm việc trước đó.
+ Launch from snapshot: cho phép máy ảo chạy lại sau khi thực hiện chức năng Snapshot
+ Save to snapshot: lưu các thông tin vào Snapshot cho lần khởi động sau
Sau khi thiết lập xong, nhấn Launch để chạy máy ảo ADV Quá trình khởi động máy ảo ADV tương đối lâu
Hình 3.34.Quá trình khởi động máy ảo
Hình 3.35.Màn hình máy ảo
Máy ảo ADV sở hữu đầy đủ chức năng tương tự như một máy thực, bao gồm màn hình, bàn phím, các nút chức năng và nút điều hướng Màn hình cảm ứng thực tế có thể hoạt động trong môi trường máy ảo thông qua việc click chuột vào các đối tượng cần tương tác.
Cài đặt thiết lập chạy giả lập (Android Virtual Devices)
Các thành phần trong một Android Project
In every Android project, the AndroidManifest.xml file plays a crucial role by defining the screens (known as Activities), permissions, and themes for the application It also contains essential information about the SDK version and the main activity that runs first This file is automatically generated when an Android project is created and consists of three main components: application, permission, and version.
Dưới đây là nội dung của file AndroidManifest.xml của một ứng dụng Android, với các thành phần được phân tích cụ thể Nội dung này có thể khác nhau tùy thuộc vào từng ứng dụng, nhưng ở đây chúng ta sẽ xem xét một trường hợp cụ thể để hiểu rõ hơn về cấu trúc và chức năng của nó.
Thẻ trong Android chứa các thuộc tính quan trọng cho ứng dụng, bao gồm android:icon để xác định biểu tượng ứng dụng với đường dẫn đến tài nguyên drawable, ví dụ: android:icon = “@drawable/icon” Ngoài ra, thuộc tính android:name được sử dụng để đặt tên cho ứng dụng.
Android là tên hiển thị trên màn hình sau khi cài đặt ứng dụng Thuộc tính android:theme = “drawable theme” được sử dụng để thiết lập giao diện cho ứng dụng, trong đó các theme giúp định hình cách hiển thị giao diện người dùng Bên cạnh đó, còn nhiều thuộc tính khác cũng quan trọng trong việc tùy chỉnh ứng dụng.
Trong file manifest của ứng dụng, cần khai báo các thuộc tính chỉ định quyền truy xuất và sử dụng tài nguyên Khi cần sử dụng một loại tài nguyên nhất định, các quyền truy xuất phải được xác định rõ ràng.
Thẻ xác định phiên bản SDK được khai báo như sau:
Ở đây chỉ ra phiên bản SDK thấp nhất mà ứng dụng hiện đang sử dụng
File R.java là một tệp tự động được tạo ra khi khởi tạo ứng dụng, có chức năng quản lý các thuộc tính được khai báo trong tệp XML và tài nguyên hình ảnh Mã nguồn của file này sẽ được cập nhật tự động khi có bất kỳ thay đổi nào trong ứng dụng, chẳng hạn như khi bạn thêm hoặc xóa hình ảnh Điều này có nghĩa là file R.java không cần phải chỉnh sửa trong suốt quá trình phát triển ứng dụng.
Dưới đây là nội dung của một filegen\ R.java
/* AUTO-GENERATED FILE DO NOT MODIFY
* This class was automatically generated by the
* aapt tool from the resource data it found It
* should not be modified by hand
*/ package com.example.guitextview; publicfinalclass R { publicstaticfinalclass attr {
/** Default screen margins, per the Android Design guidelines Customize dimensions originally defined in res/values/dimens.xml (such as screen margins) for sw720dp devices (e.g 10" tablets) in landscape here
Publicstaticfinalint activity_horizontal_margin=0x7f040000; Publicstaticfinalint activity_vertical_margin=0x7f040001;
Publicstaticfinalclass style { customizations can go here
All customizations that are NOT specific to a particular API-level can go here
4.1.3 Chu kỳ tồn tại của ứng dụng Android
Một tiến trình Linux đã được phát triển để gói gọn một ứng dụng Android, cho phép mã nguồn được thực thi và duy trì hoạt động liên tục cho đến khi hoàn thành.
- Nó không còn phụ thuộc
- Hệ thống cần lấy lại bộ nhớ mà nó chiếm giữ cho các ứng dụng khác
Một đặc điểm nổi bật của Android là thời gian sống của tiến trình ứng dụng không do chính ứng dụng kiểm soát, mà được quyết định bởi hệ thống thông qua một sự kết hợp các yếu tố.
- Những phần của ứng dụng mà hệ thống biết đáng chạy
- Những phần quan trọng như thế nào đối với người dùng
- Bao nhiêu vùng nhớ chiếm lĩnh trong hệ thống
Android quản lý các process dựa trên chế độ ưu tiên, trong đó các process có ưu tiên thấp sẽ bị giải phóng mà không có cảnh báo, nhằm tối ưu hóa việc sử dụng tài nguyên.
+ Foreground process: là process của ứng dụng hiện thời đang được người dùng tương tác
+ Visible process: là process của ứng dụng mà activity đang hiển thị đối với người dùng (onPaused() của activity được gọi)
+ Service process: là Service đang chạy (running)
+ Background process(xử lý nền): là process của ứng dụng mà các activity của nó ko hiển thị với người dùng (onStoped() của activity được gọi)
+ Empty process: process không có bất cứ một thành phần nào active
Theo chế độ ưu tiên thì khi cần tài nguyên, Android sẽ tự động kill process, trước tiên là các empty process
Chu kỳ sống của các thành phần trong ứng dụng Android OS
Trong một ứng dụng Android, mỗi thành phần như Activity, Service, và Broadcast Receiver đều có chu trình sống riêng, và ứng dụng chỉ được coi là kết thúc khi tất cả các thành phần này đều ngừng hoạt động Activity cho phép người dùng tương tác với ứng dụng, nhưng khi tất cả các Activity kết thúc, ứng dụng vẫn có thể tiếp tục hoạt động nhờ vào các thành phần không tương tác như Service, có thể chạy ngầm dưới sự giám sát của hệ điều hành cho đến khi người dùng quyết định tắt chúng.
Trong suốt chu trình sống của một thành phần, chúng có thể ở trạng thái active hoặc inactive Đối với các thành phần active, chúng có thể xuất hiện dưới dạng visible hoặc invisible.
Activity là thành phần quan trọng trong ứng dụng Android, chịu trách nhiệm hiển thị màn hình và xử lý các hoạt động như gọi điện, chụp ảnh, gửi email, hoặc xem bản đồ Mỗi activity hoạt động như một cửa sổ, cho phép vẽ giao diện người dùng, có thể chiếm toàn bộ màn hình hoặc nhỏ hơn và nổi lên trên các cửa sổ khác.
Một ứng dụng thường có nhiều activity liên kết lỏng lẻo với nhau, trong đó một activity được xác định là activity "chính" (main activity) và hiển thị cho người dùng khi ứng dụng khởi động lần đầu Các activity khác có thể được khởi động từ activity chính để thực hiện các hành động khác nhau.
Trong eclipse để tạo một Activity mới, bạn thực hiện các bước sau:
Bước 1: Chọn thư mục scr
Bấm chuột phải vào mục scr chọn new/ class
Hình 4.1 Tạo một lớp dự án
Trong thư mục new/class chứa các thông tin quan trọng sau:
+ source Folder: là thư mục chứa tập tin *.java mà bạn sắp tạo + package: Định nghĩa java package mà Activity của bạn thuộc về + Name: Tên của Activity mới
+ Superclass: là lớp cha Trong phần này, ta đang tìm hiểu cách tạo lớp con từ cha, nên thông tin phần này sẽ là android.app.Activity
Hình 4.2 New java Class
Sau khi điền đầy đủ thông tin Ta chọn finish, rồi kiểm tra trong thư mục scr có chứa Activity mới hay chưa
Trong hệ thống, các Activity được quản lý thông qua một cấu trúc dữ liệu ngăn xếp Khi một hoạt động được khởi tạo, nó sẽ được đẩy vào ngăn xếp và chuyển sang trạng thái thực thi, trong khi hoạt động trước đó sẽ chuyển sang trạng thái chờ Hoạt động này chỉ trở lại trạng thái kích hoạt khi hoạt động vừa khởi tạo hoàn thành việc thực thi.
Một activity có ba trạng thái chính:
- Active hoặc running: khi nó ở trên nhất của màn hình và nhận tương tác người dùng
- Paused: khi Activity không còn là trọng tâm trên màn hình nhưng vẫn hiện thị trước người dùng
Khi một hoạt động hoàn toàn bị che khuất, nó sẽ chuyển sang trạng thái Stopped, nhưng vẫn lưu trữ toàn bộ thông tin trạng thái Thông thường, hệ thống sẽ đóng lại trạng thái này khi gặp tình trạng thiếu bộ nhớ.
Ngôn ngữ Java trong lập trình Android trên phần mềm Eclipse
Ngôn ngữ lập trình Java, do Sun Microsystems phát triển và hiện thuộc sở hữu của Oracle, là một ngôn ngữ lập trình hướng đối tượng mạnh mẽ và phổ biến Ứng dụng Java được ưa chuộng nhờ khả năng hoạt động trên nhiều nền tảng và hệ điều hành khác nhau Với Java, mã lệnh được viết một lần có thể thực thi trên nhiều thiết bị và dòng máy, mang lại sự linh hoạt và tiện lợi cho lập trình viên.
Ngôn ngữ lập trình Java được ứng dụng rộng rãi trong việc phát triển từ các ứng dụng nhỏ gọn cho thiết bị cầm tay và giải trí đến các hệ thống lớn phục vụ doanh nghiệp Hiện nay, Java là lựa chọn phổ biến của các nhà phát triển trong việc xây dựng ứng dụng.
Biến là khu vực bộ nhớ dùng để lưu trữ giá trị trong chương trình, với mỗi biến gắn liền với một kiểu dữ liệu cụ thể và một tên biến duy nhất để nhận diện.
- Tên biến thông thường là một chuỗi các ký tự (Unicode), ký số
- Tên biến phải bắt đầu bằng một chữ cái, một dấu gạch dưới hay dấu dollar
- Tên biến không được trùng với các từ khóa (xem phụ lục các từ khóa trong java)
- Tên biến không có khoảng trắng ở giữa tên
Trong java, biến có thể được khai báo ở bất kỳ nơi đâu trong chương trình
;
=
Gán giá trị cho biến
Biến công cộng (toàn cục) là loại biến có thể được truy xuất từ mọi nơi trong chương trình, thường được khai báo bằng từ khóa public hoặc được đặt trong một lớp (class).
Biến cục bộ: là biến chỉ có thể truy xuất trong khối lệnh nó khai báo
Trong ngôn ngữ lập trình Java, việc phân biệt chữ in hoa và chữ in thường là rất quan trọng Do đó, khi đặt tên cho các đối tượng dữ liệu và thực hiện các xử lý trong chương trình, chúng ta cần chú ý đến quy tắc này để đảm bảo tính chính xác và hiệu quả trong mã nguồn.
4.2.2 Các kiểu dữ liệu cơ sở
Ngôn ngữ lập trình java có tám kiểu dữ liệu cơ sở: byte, short, int, long, float, double, boolean và char
Bảng 4.3 Các kiểu dữ liệu cơ sở
Giá trị mặc định byte 1 -256 255 0
Java cung cấp bốn kiểu số nguyên: byte, short, int và long Mỗi kiểu có kích thước, giá trị nhỏ nhất, giá trị lớn nhất và giá trị mặc định riêng, được mô tả chi tiết trong bảng.
- Kiểu mặc định của các số nguyên là kiểu int
- Các số nguyên kiểu byte và short rất ít khi được dùng
- Trong java không có kiểu số nguyên không dấu như trong ngôn ngữ C/C++
Khai báo và khởi tạo giá trị cho các biến kiểu nguyên: intx=0; longy0;
Một số lưu ý đối với các phép toán trên số nguyên
- Nếu hai toán hạng kiểu long thì kết quả là kiểu long
- Một trong hai toán hạng không phải kiểu long sẽ được chuyển thành kiểu long trước khi thực hiện phép toán
- Nếu hai toán hạng đầu không phải kiểu long thì phép tính sẽ thực hiện với kiểu int
- Các toán hạng kiểu byte hay short sẽ được chuyển sang kiểu int trước khi thực hiện phép toán
- Trong java không thể chuyển biến kiểu int và kiểu boolean như trong ngôn ngữ C/C++
Ví dụ: Có đoạn chương trình như sau: booleanbse; if(b= =0)
Lúc biên dịch đoạn chương trình trên trình dịch sẽ báo lỗi: không được phép so sánh biến kiểu boolean với một giá trị kiểu int
Kiểu dấu chấm động Đối với kiểu dấu chấm động hay kiểu thực, java hỗ trợ hai kiểu dữ liệu là float và double
Kiểu float có kích thước 4 byte và giá trị mặc định là 0.0f
Kiểu double có kích thước 8 byte và giá trị mặc định là 0.0
Số kiểu dấu chấm động không có giá trị nhỏ nhất cũng không có giá trị lớn nhất Chúng có thể nhận các giá trị:
Khai báo và khởi tạo giá trị cho các biến kiểu dấu chấm động: floatx0.0/7; doubley=1.56E6;
Một số lưu ý đối với các phép toán trên số dấu chấm động
- Nếu mỗi toán hạng đều có kiểu dấu chấm động thì phép toán chuyển thành phép toán dấu chấm động
- Nếu có một toán hạng là double thì các toán hạng còn lại sẽ được chuyển thành kiểu double trước khi thực hiện phép toán
- Biến kiểu float và double có thể ép chuyển sang kiểu dữ liệu khác trừ kiểu boolean
Trong ngôn ngữ lập trình Java, kiểu ký tự (char) có kích thước 2 bytes và được sử dụng để biểu diễn các ký tự trong bộ mã Unicode Điều này cho phép kiểu char trong Java có khả năng biểu diễn tất cả 65,536 ký tự khác nhau.
Giá trị mặc định cho một biến kiểu char là null
Kiểu boolean trong Java chỉ có hai giá trị là true và false, không thể chuyển đổi sang kiểu nguyên và ngược lại Giá trị mặc định của kiểu boolean là false.
- Hằng là một giá trị bất biến trong chương trình Tên hằng được đặt theo quy ước giống như tên biến
- Hằng số nguyên: trường hợp giá trị hằng ở dạng long ta thêm vào cuối chuỗi số chữ “l” hay “L” (ví dụ: 1L)
- Hằng số thực: truờng hợp giá trị hằng có kiểu float ta thêm tiếp vĩ ngữ “f” hay “F”, còn kiểu số double thì ta thêm tiếp vĩ ngữ “d” hay “D”
- Hằng Boolean: java có hai hằng boolean là true, false
- Hằng ký tự: là một ký tự đơn nằm giữa nằm giữa hai dấu ngoặc đơn
Ví dụ: ‘a’: hằng ký tự a
Một số hằng ký tự đặc biệt
Bảng 4.4 Một số ký tự đặc biệt
- Hằng chuỗi: là tập hợp các ký tự được đặt giữa hai dấu nháy kép “
” Một hằng chuỗi không có ký tự nào là một hằng chuỗi rỗng
Lưu ý: Hằng chuỗi không phải là một kiểu dữ liệu cơ sở nhưng vẫn được khai báo và sử dụng trong các chương trình
4.2.3 Lệnh, khối lệnh trong java
Giống như trong ngôn ngữ C, các câu lệnh trong java kết thúc bằng một dấu chấm phẩy (;)
Một khối lệnh là đoạn chương trình gồm hai lệnh trở lên và được bắt đầu bằng dấu mở ngoặc nhọn ({) và kết thúc bằng dấu đóng ngoặc nhọn (})
Bên trong một khối lệnh có thể chứa một hay nhiều lệnh hoặc chứa các khối lệnh khác
}//kết thúc khối lệnh 2 lệnh 1.1 lệnh 1.2
//Các lệnh thuộc khối lệnh 3
4.2.4 Toán tử và biểu thức
Bảng 4.5 Một số phép toán số học
Bảng 4.6 Các phép toán trên bit
>>> Dịch phải và điền 0 vào bit trống
- Toán tử quan hệ & logic
Bảng 4.7 Toán tử quan hệ và logic
>= So sánh lớn hơn hay bằng