You are on page 1of 66

CH1: GIỚI THIỆU MÔI TRƯỜNG PHÁT Ths.

Vũ Tuấn Anh
TRIỂN ỨNG DỤNG DI ĐỘNG
MỤC LỤC
1.1 Giới thiệu sự phát triển ứng dụng Mobile/Tablet
1.2 Sự phát triển của Android và so sánh với Windows Phone, iOS
1.3 Giới thiệu ADT,SDK,Android Platform, API
1.4 Hệ điều hành Android
1.5 Môi trường phát triển Android Studio
1.6 Các thư viện Android
1.1 GIỚI THIỆU SỰ PHÁT TRIỂN ỨNG
DỤNG MOBILE/TABLET
o Sự phát triển của hệ thống mạng di dộng, những thiết bị chạy trên nó,
và những dịch vụ chúng ta sử dụng hàng ngày đã phát triển với một tốc
độ kinh ngạc từ những điện thoại trông giống như những chiếc radio từ
thế chiến thứ 2 tới những trạng thái thời trang bóng mượt.
o 1940: SCR-300 nhận tín hiệu sóng được
phát triển bởi lực lượng quân đội Mỹ. Máy
nặng khoảng 32-38 pount, phát 3 dặm.
o Sau này được thay thế bởi SCR-195 với
với khoảng 50 000 thiết bị.
1.1 GIỚI THIỆU SỰ PHÁT TRIỂN ỨNG
DỤNG MOBILE/TABLET
o Soyes D18 mini phone 3G GSM, 1G RAM
8G ROM Android 6.0
o Kích thước: 3.39 x 1.73 x 0.39 inches
o Trọng lượng: 1.76 ounces
1.1 GIỚI THIỆU SỰ PHÁT TRIỂN ỨNG
DỤNG MOBILE/TABLET
o Nếu có một nguồn gốc cơ bản về mobile phone, đó là tất cả mọi thứ
dấn đến 1 lý do.
o Sự phát triển của ngành công nghiệp mobile khó nếu không theo ý
khách hàng và sự đam mê.
o Định nghĩa: Thế nào là ứng dụng mobile?
o Ứng dụng điện thoại di động: là một ứng dụng phần mềm để chạy trên những thiết
bị di động như điện thoại thông minh hay máy tính bảng. Đó là một kết quả những
cải tiến kỹ thuật gần đây.
o Ứng dụng di động đã xuất hiện bởi vì sự giao thoa của truyền thông, công nghệ
thông tin, Internet và những kỹ thuật chuyên sâu.
1.1 GIỚI THIỆU SỰ PHÁT TRIỂN ỨNG
DỤNG MOBILE/TABLET
o Trong nhiều năm, truyền thông di động đã và đang dưới sự đầu tư
mạnh mẽ dựa trên sản xuất thiết bị di động, nhà cung cấp dịch vụ di
động, những nhà phát triển ứng dụng, và nhiều nhà nghiên cứu trong
quả cầu kỹ thuật thông tin (IT) và hệ thống thông tin (IS).
o Tuy nhiên hầu hết các khu vực quan tâm cho nghiên cứu là sự phát
triển của ứng dụng.
o Việc người dùng di động gia tăng đột biến hơn so với người dùng PC
hay laptop dẫn đến khu vực ưa thích được thảo luận chính là thanh toán
online di động.
o Trend gần đây là tiền điện tử được giữ trên ví di động sẽ thay thế ví vật
lý và thậm chí thẻ tín dụng.
1.1 GIỚI THIỆU SỰ PHÁT TRIỂN ỨNG
DỤNG MOBILE/TABLET
o Những loại dịch vụ đặc biệt của ứng dụng di động
Brower Access Hybrid Apps – Web Hybrid Apps – Mixed Native Apps
Ứng dụng sử dụng Ứng dụng đặc thù Ứng dụng có chức Ứng dụng đã cài
thông qua trình đòi hỏi Internet năng của ứng dụng đặt mặc định trên
duyệt web như như (Facebook, có thể đòi hỏi thiết bị: Reminder,
m.yahoo.com, Twitter), Instant Internet như clock, note,
www.google.com, Messenger Games online. paint .v.v.
m.redbus.in .v.v. (Skype), E- Apps sức khỏe lưu
commerce trữ thông tin sức
(Flipkart), Internet khỏe để chia sẻ với
Speed Testing bạn bè và bác sĩ
(Speedtest), .v.v.v
1.1 GIỚI THIỆU SỰ PHÁT TRIỂN ỨNG
DỤNG MOBILE/TABLET
o Những loại phần mềm nền tảng để xây dựng các ứng dụng di động
oAppery.io.
oMobile Roadie.
oTheAppbuilder.
oGood Barber.
oAppy Pie
oAppMachine.
oGameSalad
oBiznessApps
oAppMakr
oShoutEm
1.1 GIỚI THIỆU SỰ PHÁT TRIỂN ỨNG
DỤNG MOBILE/TABLET
oMục đích của các ứng dụng di động
oThỏa mãn những mục đích người dùng
oKhả năng đạt đến đại đa số người sử dụng
oKhả năng được bảo vệ
oTrở nên thân thiện người dùng
oĐang tiếp tục hỗ trợ cải thiện và sự cam kết
1.1 GIỚI THIỆU SỰ PHÁT TRIỂN ỨNG
DỤNG MOBILE/TABLET
oNhững ứng dụng thỏa mãn ứng với sự phát triển của xã hội:
oSearch nhanh chỗ trống nghề nghiệp
oTruyền tin nhanh
oTiết kiệm chi phí được xem xét
oTiết kiệm thời gian và gia tăng sản xuất
oTổng công suất thấp đi bởi vì kéo dài thời gian sử dụng
oCải thiện nền tảng IT trong những đất nước đang phát triển.
oGiải trí.
1.1 GIỚI THIỆU SỰ PHÁT TRIỂN ỨNG
DỤNG MOBILE/TABLET
oThời gian đầu phát triển ứng dụng lãng phí vào lĩnh vực game. Nokia
nổi tiếng đặt game snake vào những điện thoại sớm nhất (1970s).
oSau khi phát triển internet đòi hỏi thêm ứng dụng phải có onine. Hiện
nay 80% người dung onine thông qua điện thoại di động.
oHọ trở nên phụ thuộc vào ứng dụng di động như: book vé phim, kiểm
tra tỷ số môn thể thao, mua va bán, hoặc nhiều hoạt động định tuyến
(maps).
oHầu hết apps có sẵn trên app store nên có nhiều cơ hội để chuyển từ
ghé thăm thành kinh doanh. Điều này tăng tỷ lệ bán hàng.
1.1 GIỚI THIỆU SỰ PHÁT TRIỂN ỨNG
DỤNG MOBILE/TABLET
o Cái nhìn tổng quan về cái phần mềm nổi tiếng:
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS

oThế giới di động đang biến đối không ngừng cùng với sự phát triển
của các nền tảng lớn.
oĐể cung cấp một cái nhìn tổng quan, dưới đây chúng ta hãy xem một
số điểm khác biệt lớn nhất giữa 3 nền tảng lớn của thị trường di động:
iOS, Android và Windows Phone.
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS

oiOS dẫn đầu về số lượng ứng dụng. Điều này không chỉ có nghĩa số
lượng ứng dụng tại App Store nhiều hơn trên Android Market, mà iOS
còn có nhiều ứng dụng chất lượng hơn, và ít ứng dụng "rác" hơn
Android Market. Điều này có thể sẽ thay đổi khi một lượng lớn các
thiết bị Android đang trên đà chiếm đa số thị phần.
oMarketplace của Windows Phone là "non trẻ" nhất và chưa được sử
dụng rộng rãi như iOS và Android. Số lượng hơn 50.000 của Windows
Phone vẫn còn rất "khiêm tốn".
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS

oKhông phải điều ngẫu nhiên khi iPad có nhiều ứng dụng được tối ưu
hóa cho máy tính bảng nhất. Máy tính bảng Android đạt doanh số
không mấy khả quan một phần vì có ít ứng dụng.
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS

oĐiều đó sẽ có thể thay đổi nếu thị phần của tablet Android gia tăng
(một phần nhỏ nhờ Kindle Fire) và thu hút các nhà phát triển. Nhưng
hiện tại thư viện ứng dụng của iPad hoàn toàn chiếm ưu thế.
oĐiều đáng lưu ý là cả iPad và máy tính bảng Android đều có thể chạy
các ứng dụng của smartphone. Tuy nhiên, các ứng dụng smartphone
Android chạy trên tablet Android đem lại hình ảnh tốt hơn các ứng
dụng iPhone chạy trên iPad, một phần vì màn hình iPad có số lượng
pixel lớn hơn rất nhiều so với iPhone.
oHiện chưa có máy tính bảng chạy Windows Phone. Microsoft đang
chuẩn bị Windows 8 cho các thế hệ máy tính bảng tương lai.
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS

oNgười dùng bình thường có thể không lo lắng về vấn đề này, nhưng
nếu bạn chú ý đến quyền tự do cài đặt phần mềm, đây sẽ là điểm đáng
lưu ý.
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS

oApple và Microsoft đều áp dụng chiến lược "walled garden" (bức tường
bảo mật), theo đó các ứng dụng cần trải qua một quy trình phê duyệt trước
khi được hoạt động trên các thiết bị iOS hoặc Windows Phone.
oTrong khi đó, Android Market mở cửa cho hầu hết các ứng dụng (tất
nhiên trừ những nội dung bị phát hiện chứa mã độc), bạn có thể cài đặt các
ứng dụng thứ ba bằng cách tải về từ mạng Internet.
oĐể tải các ứng dụng chưa kiểm duyệt về iOS hoặc Windows Phone, bạn
phải tiến hành jailbreak (bẻ khóa thiết bị). Một số ứng dụng Android cũng
cần "root" (chiếm quyền quản trị gốc) thiết bị trước khi cài đặt.
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS

4G
oHiện tại Android đang là "ông vua" 4G với chiếc điện thoại 4G đầu
tiên là HTC EVO 4G, và điện thoại LTE đầu tiên là HTC Thunderbolt.
Ngoài ra còn rất nhiều các sản phẩm khác.
oWindows Phone có 3 thiết bị 4G, đó là Samsung Focus S 4G, Samsung
Focus Flash 4G, và HTC Radar 4G.
oPhiên bản iPhone tiếp theo (thường được gọi là iPhone 5) có khả năng
sẽ hỗ trợ LTE, và các dòng sản phẩm Windows Phone cũng sẽ theo xu
hướng này. Một nhược điểm rất lớn của các thiết bị LTE hiện tại là
chúng ngốn pin kinh khủng.
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS

oMột trong những bước đột phá của năm 2011 là "đám mây" cho phép
chúng ta lưu trữ dữ liệu trên các máy chủ từ xa. Việc này giúp tiết
kiệm dung lượng ổ đĩa và dễ dàng đồng bộ nhiều thiết bị.
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS

oGoogle không xa lạ gì với đám mây, với Gmail và rất nhiều các dịch
vụ trên nền tảng web (Google Music, Google Docs, Google Voice).
oBên cạnh đồng bộ địa chỉ liên lạc và cho phép sao lưu số một số ứng
dụng, Android vẫn chưa có dịch vụ đám mây tích hợp. Tuy nhiên,
người dùng Android có thể sử dụng các ứng dụng của hãng thứ ba như
Dropbox hoặc Box.net.
oTrong lần ra mắt iOS 5, dịch vụ lưu trữ trực tuyến iCloud cũng được
giới thiệu, cho phép đồng bộ dữ liệu - ảnh, nhạc, địa chỉ liên lạc, bản
ghi nhớ, đánh dấu trình duyệt (bookmark), tài liệu, lịch làm việc và nội
dung một số ứng dụng thứ ba - giữa các thiết bị iOS và máy tính Mac.
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS
oNgoài ra, bạn cũng có thể sao lưu toàn bộ thiết bị thông qua iCloud. Với tính
chất đơn giản và dễ sử dụng, iCloud là dịch vụ đám mây tiên tiến nhất hiện
nay.
oSkyDrive là dịch vụ đám mây của Microsoft, nhưng không được liền mạch
và tự động như iCloud.
oThậm chí SkyDrive còn không được cài đặt sẵn trên Windows Phone, mà
phải được tải về từ Marketplace. Giống như các dịch vụ của hãng thứ ba như
Dropbox, Google Drive, SkyDrive là dịch vụ lưu trữ hơn là dịch vụ đồng bộ
hóa tự động. Nó yêu cầu việc các thao tác thủ công bằng tay.
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS

Điều khiển bằng giọng nói


oTừ lâu, Android và Windows Phone đã bước chân vào công nghệ điều khiển
bằng giọng nói, nhưng chính Apple mới là người tạo ra tiếng vang với Siri.
oNhiều thông tin cho rằng Google đang chuẩn bị đưa ra "câu trả lời" dành cho
Siri, nhưng hiện tại, "trợ lí ảo" Siri của Apple vẫn thuộc "đẳng cấp" cao hơn
so với Voice Commands của Android hoặc Tellme của Microsoft. Siri cho
phép bạn đưa ra câu lệnh bằng ngôn ngữ tự nhiên.
oSiri dĩ nhiên chưa hoàn hảo và cần tiếp tục được cải tiến trong vài năm tới.
Tuy nhiên, điểm nổi bật của Siri là ứng dụng này tạo cho người dùng cảm
giác về một cuộc đối thoại, khiến bạn không phải nhớ một lô những câu lệnh
cứng nhắc cụ thể.
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS

Đa nhiệm
Trong khi sử dụng phương pháp khác nhau, tất cả ba nền tảng đều hỗ
trợ đa nhiệm. Nhiều người cho rằng chỉ Android mới cung cấp đa
nhiệm, nhưng trong thực tế, trải nghiệm chuyển giữa các ứng dụng trên
iOS và Windows Phone cũng tương tự.
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS
oCả ba nền tảng đều cung cấp nhiều lựa chọn điều hướng GPS, nhưng Android có lợi
thế lớn nhất. Google Maps Navigation rất tuyệt vời, tích hợp với Voice Commands
của Android và hoàn toàn miễn phí.
oNgoài ra, ngày càng xuất hiện nhiều ứng dụng điều hướng giá rẻ hoặc miễn phí cho
cả 3 nền tảng, nhưng ít ứng dụng nào sánh được với dịch vụ của Google.
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS
oNgoài LTE và đám mây, 2011 còn là năm chứng kiến sự ra đời của thiết bị di động
lõi kép. Giống như 4G, Android có rất nhiều thiết bị dẫn đầu xu hướng này. Chúng ta
có thể đếm số lượng chính xác các thiết bị lõi kép chạy Android, nhưng chỉ sau 2
tuần con số đó sẽ trở nên lỗi thời.
oiPad 2 và iPhone 4S của Apple đều có chip A5 lõi kép. Windows Phone hiện vẫn
chưa có thiết bị lõi kép nào.
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS
1.2 SỰ PHÁT TRIỂN CỦA ANDROID VÀ SO
SÁNH VỚI WINDOWS PHONE, IOS
oĐối với nhiều người, việc soạn thảo với bàn phím ảo quả là rắc rối. Hiện nay,
Android là nền tảng duy nhất cho phép bạn tùy chỉnh bàn phím ảo trên màn hình.
Ngoài bàn phím Android mặc định (hoặc bàn phím mặc định của nhà sản xuất thiết
bị), bạn có thể lựa chọn cài đặt các loại bàn phím khác như Swype, SlideIt, Swiftkey,
hoặc 8pen.
oNFC
oTrong khi NFC – giao tiếp trường gần (thường được dùng cho thanh toán di động)
chưa được hỗ trợ bởi nhiều hãng bán lẻ, đây vẫn là một tính năng hấp dẫn của các
loại smartphone tương lai.
oHiện tại, Android đã có một số điện thoại gắn chip NFC (như Galaxy Nexus và
Nexus S). Hai nền tảng còn lại chưa có thiết bị nào.
1.3 GIỚI THIỆU ADT, SDK, ANDROID
PLATFORM, API
o ADT là gì?
o ADT- Android Development Tool là một công cụ nhúng cho Eclipse IDE cung cấp
một sức mạnh, môi trường tích hợp để xây dựng app Android. ADT mở rộng những
khả năng của Eclipse để bạn nhanh chóng cài đặt những dự án Android mới, tạo
một giao diện ứng dụng người dung, kiểm tra lỗi apps của bạn sử dụng những công
cụ Android SDK.
o SDK là gì?
o Là tập hợp những công cụ cần để xây dựng bất cứ apps Android nào. Bất cứ khi
nào bạn kết thúc tạo một app với Java, Kotlin hoặc C#, bạn cần SDK để đưa nó
chạy trên một thiết bị Android và truy cập những yếu tố đặc biệt của hệ điều hành.
Ngày nay SDK được tích hợp trong Android Studio.
1.3 GIỚI THIỆU ADT, SDK, ANDROID
PLATFORM, API
Android Platform là gì?
oNền tảng Android cung cấp các API khung để hiển thị chức năng của một số thư
viện gốc này cho ứng dụng.
API là gì?
o API là viết tắt của Application Programming Interface – phương thức trung gian kết
nối các ứng dụng và thư viện khác nhau. Sử dụng API giúp developer đẩy nhanh quá
trình phát triển phần mềm, tạo ra sự nhanh chóng, thuận tiện để hướng đến mục tiêu
cuối là nâng cao hiệu suất công việc.
oAndroid: v2.3- API 9; v3.0 –API 11; v4.0 – API 14; v5.0- API 21; v6.0 –API 23;
v7.0- API 24; v8.0- API 26, v9.0- API 28, v10.0- API 30, v12.0 – API 31, 32; v13.0
API 33; v14.0 – API 34.
1.4 HỆ ĐIỀU HÀNH ANDROID

o Android là một hệ điều


hành mã nguồn mở, được
xây dựng dựa
trên Linux và có thể sử
dụng cho nhiều thiết bị
khác nhau.
o Bao gồm các thành phần
chính theo sơ đồ bên phải:
1.4 HỆ ĐIỀU HÀNH ANDROID

Nhân Lunix (The Linux Kernel )


o Nhân Linux là nền tảng của nền tảng Android. Nó giúp Android trong
các dịch vụ và chức năng hệ thống cốt lõi như phân luồng, cấp thấp
quản lý bộ nhớ, bảo mật, quản lý quy trình, mạng và trình điều khiển
phần cứng.
o Nhân Linux cũng hoạt động như một lớp trừu tượng (abstraction
layer) giữa phần cứng và phần mềm của nền tảng.
1.4 HỆ ĐIỀU HÀNH ANDROID
1.4 HỆ ĐIỀU HÀNH ANDROID

Hardware Abstraction Layer (HAL)


o Hardware Abstraction Layer (HAL) cung cấp các giao diện tiêu
chuẩn thể hiện các khả năng của phần cứng thiết bị với framework
API Java cấp cao hơn (higher-level Java API framework). HAL bao
gồm nhiều mô-đun thư viện, mỗi mô-đun thực hiện một giao diện cho
một loại thành phần phần cứng cụ thể, chẳng hạn như mô-đun Camera
hoặc Bluetooth. Khi một framework API thực hiện cuộc gọi để truy
cập phần cứng của thiết bị, hệ thống Android sẽ tải mô-đun thư viện
cho thành phần phần cứng đó.
1.4 HỆ ĐIỀU HÀNH ANDROID

Android Runtime
oĐối với các thiết bị chạy Android phiên bản 5.0 (API cấp 21) trở lên, mỗi ứng dụng
chạy trong quy trình riêng và với phiên bản Android Runtime (ART) riêng.
oART được viết để chạy nhiều máy ảo trên các thiết bị có bộ nhớ thấp bằng cách thực
thi các tệp DEX, một định dạng bytecode được thiết kế đặc biệt cho Android được
tối ưu hóa cho bộ nhớ tối thiểu.
oXây dựng các công cụ, chẳng hạn như d8, biên dịch các mã nguồn Java thành DEX
bytecode, có thể chạy trên nền tảng Android.
1.4 HỆ ĐIỀU HÀNH ANDROID

Một số tính năng chính của ART bao gồm:


oBiên dịch trước thời gian (AOT) và đúng lúc (JIT)
oThu gom rác tối ưu hóa (GC)
oTrên Android 9 (API cấp 28) trở lên, chuyển đổi tệp định dạng
Dalvik Executable (DEX) của gói ứng dụng thành mã máy nhỏ gọn
hơn.
oHỗ trợ debug tốt hơn, bao gồm trình biên dịch lấy mẫu chuyên dụng
(profiler), các ngoại lệ chẩn đoán chi tiết và báo cáo sự cố cũng như
khả năng thiết lập các điểm theo dõi để giám sát các trường cụ thể
1.4 HỆ ĐIỀU HÀNH ANDROID

oTrước phiên bản Android 5.0 (API cấp 21), Dalvik là Android runtime.
Nếu ứng dụng của bạn chạy tốt trên ART, thì ứng dụng đó cũng sẽ hoạt
động trên Dalvik, nhưng điều ngược lại có thể không đúng.
oAndroid cũng bao gồm một bộ thư viện thời gian chạy cốt lõi cung cấp
hầu hết các chức năng của ngôn ngữ lập trình Java, bao gồm một số
tính năng của ngôn ngữ Java 8, mà framework API Java sử dụng.
1.4 HỆ ĐIỀU HÀNH ANDROID

Native C/C++ Libraries


oNhiều thành phần và dịch vụ hệ thống cốt lõi của Android, chẳng hạn
như ART và HAL, được xây dựng từ mã gốc (native code) yêu cầu thư
viện gốc được viết bằng C và C ++. Nền tảng Android cung cấp các
API khung Java để hiển thị chức năng của một số thư viện gốc này cho
các ứng dụng. Ví dụ: bạn có thể truy cập OpenGL ES thông qua
API Java OpenGL của Android framework để thêm hỗ trợ vẽ và thao
tác đồ họa 2D và 3D trong ứng dụng của bạn.
oNếu bạn đang phát triển một ứng dụng yêu cầu mã C hoặc C ++, bạn
có thể sử dụng Android NDK để truy cập trực tiếp vào một số thư viện
nền tảng gốc (native platform libraries) này từ mã gốc của mình.
1.4 HỆ ĐIỀU HÀNH ANDROID
1.4 HỆ ĐIỀU HÀNH ANDROID

Java API Framework


oToàn bộ tập hợp tính năng của Hệ điều hành Android có sẵn cho bạn
thông qua các API được viết bằng ngôn ngữ Java. Các API này tạo
thành các khối xây dựng mà bạn cần để tạo ứng dụng Android bằng
cách đơn giản hóa việc sử dụng lại các thành phần (components) và
dịch vụ (services) hệ thống mô-đun, cốt lõi, bao gồm những nội dung
sau:
oView System đa đạng và có thể mở rộng, bạn có thể sử dụng để xây dựng giao diện
người dùng (UI) của ứng dụng. Bao gồm lists, grids, text boxes, buttons,... và thậm
chí cả trình duyệt web có thể nhúng (embeddable web browser).
1.4 HỆ ĐIỀU HÀNH ANDROID

o Những nội dung của API trong Android (tt):


oResource Manager, cung cấp quyền truy cập vào các tài nguyên không phải mã
( non-code resources) như các chuỗi string, graphic, và các file layout
oNotification Manager cho phép tất cả các ứng dụng hiển thị cảnh báo tùy chỉnh
trên thanh trạng thái
oActivity Manager quản lý vòng đời của ứng dụng và cung cấp ngăn xếp điều
hướng chung
oContent Providers cho phép ứng dụng truy cập dữ liệu từ các ứng dụng khác,
chẳng hạn như ứng dụng Danh bạ hoặc chia sẻ dữ liệu của riêng họ.
o Các Developer có toàn quyền truy cập vào các framework API giống
nhau mà các ứng dụng hệ thống Android sử dụng.
1.4 HỆ ĐIỀU HÀNH ANDROID

System Apps
Android đi kèm với nhiều ứng dụng cốt lõi được cài đặt sẵn cho email,
nhắn tin, lịch, v.v ... Tuy nhiên, bất kỳ ứng dụng tương ứng nào khác có
thể được tạo thành một ứng dụng mặc định thay cho các lõi này ứng
dụng. Các ứng dụng hệ thống (System Apps) này có thể được gọi từ
ứng dụng của riêng bạn. Ví dụ, nếu bạn muốn cung cấp chức năng nhắn
tin cho một ứng dụng, bạn không cần để tự xây dựng chức năng đó.
Bạn có thể gọi ứng dụng hệ thống cho nhắn tin từ trong ứng dụng của
bạn để gửi tin nhắn.
1.5 MÔI TRƯỜNG PHÁT TRIỂN
ANDROID STUDIO
o Chúng ta đã hiểu về Android qua tìm hiểu các ý trên đây rồi. Nhưng
bài hôm nay sẽ không dừng lại sớm vậy, hãy cùng xem thêm chút nữa
về cái gọi là Môi trường phát triển phần mềm là gì nhé.
o Môi trường phát triển phẩm mềm là một môi trường mà ở đó nhà
Phát Triển Phần Mềm có được những công cụ cần thiết nhất để viết ra
một ứng dụng hoàn chỉnh. Vì bài học liên quan đến Android, do
đó chúng ta sẽ tập trung vào tìm hiểu Môi trường phát triển phần
mềm Android (Android Development Environment) sẽ bao gồm
những công cụ cần thiết gì tiếp theo đây.
1.5 MÔI TRƯỜNG PHÁT TRIỂN
ANDROID STUDIO
Hệ Điều Hành (Operating System)
o Như chúng ta có nói trên kia, ứng
dụng Android có thể được lập trình
trên hầu hết các nền tảng hệ điều
hành phổ biến nhất hiện nay như
Windows, Mac, Linux hay thậm chí
Chrome OS.
1.5 MÔI TRƯỜNG PHÁT TRIỂN
ANDROID STUDIO
Java Development Kit (JDK)
oBộ Công Cụ Phát Triển Cho Java, chắc
chắn rồi, vì ứng dụng Android được viết
dựa trên ngôn ngữ Java mà, do đó chúng ta
cần phải có bộ JDK này để các công cụ
khác có thể dùng nó để biên dịch ra mã
Java, rồi từ Java sẽ biên dịch tiếp thành các
mã máy. Ngay cả như nếu bạn dùng Kotlin
để lập trình Android, thì bạn vẫn cần đến
bộ JDK này, vì Kotlin vẫn tận dụng máy ảo
JVM bên trong JDK mà thôi.
1.5 MÔI TRƯỜNG PHÁT TRIỂN
ANDROID STUDIO
Android Software Development Kit
(Android SDK)
oTương tự như JDK, Android SDK
là Bộ Công Cụ Phát Triển Cho
Android. SDK này sẽ cung cấp cho
chúng ta một bộ các thư viện và công
cụ cần thiết để chúng ta có thể build,
kiểm tra và debug cho các ứng dụng
Android mà chúng ta sắp lập trình đây.
1.5 MÔI TRƯỜNG PHÁT TRIỂN
ANDROID STUDIO
Android Studio
oCuối cùng chúng ta phải cần công cụ
này, như đã nói ở trên, đây là công cụ
mà chúng ta sẽ tương tác trực tiếp và
dài lâu. Android Studio cung cấp cho
chúng ta một giao diện trực quan để
chúng ta có thể viết code, chỉnh sửa,
biên dịch, debug, quản lý bộ nhớ,…
tất cả mọi thứ cần thiết để chúng ta có
thể tạo nên một phần mềm trên đó.
1.6 CÁC THƯ VIỆN ANDROID

oTrong xây dựng các ứng dụng Android thì để giúp cho việc lập trình nhanh, tiện lợi,
hiệu quả thì bạn nên sử dụng những thư viện hữu ích trong lập trình Android được
cung cấp miễn phí.
oSau đây là danh sách những thư viện trong Android hữu ích mà bạn nên áp dụng
trong dự án của mình.
1. Thư viện Retrofit
Retrofit – A type-safe HTTP client for Android and Java.
Retrofit là gì? Retrofit trong Android là một type-safe HTTP client cho Android và Java
được phát triển bởi Square. Thư viện Retrofit cung cấp một khuôn khổ mạnh mẽ để xác
thực, tương tác với các API và gửi yêu cầu mạng với OkHttp. Đối với phiên bản Retrofit 2
hỗ trợ khá nhiều trình phân tích cú pháp khác nhau để xử lý dữ liệu bao gồm như Gson,
Jackson, Moshi…
1.6 CÁC THƯ VIỆN ANDROID
1.6 CÁC THƯ VIỆN ANDROID
1.6 CÁC THƯ VIỆN ANDROID

2. Thư viện ButterKnife


ButterKnife – Field and method binding for Android views.
ButterKnife là gì? Thư viện ButterKnife được phát triển
bởi Jakewharton là một lập trình viên chủ đạo của Square. Sau quá
trình làm việc thì ông mới đưa ra ý tưởng để giảm thiểu thời gian lập
trình phát triển ứng dụng, có nghĩa là chúng ta sẽ loại bỏ thao
tác findViewById.
Ví dụ sau đây mô tả cách sử dụng thư viện ButterKnife trong ứng dụng
Android:
1.6 CÁC THƯ VIỆN ANDROID
1.6 CÁC THƯ VIỆN ANDROID

3. Thư viện OkHttp


OkHttp – An HTTP & HTTP/2 client for Android and Java applications
OkHttp là gì? Đối với thư viện OkHttp sẽ giúp bạn dễ dàng quản lý
việc kết nối mạng khi sử dụng giao thức http, thư viện OkHttp
giúp kiểm soát các kết nối không tốt và thử kết nối lại khi có vấn đề
mạng xảy ra.
Ví dụ sau đây mô tả cách sử dụng thư viện OkHttp trong ứng dụng
Android:
1.6 CÁC THƯ VIỆN ANDROID
1.6 CÁC THƯ VIỆN ANDROID

4. Thư viện Picasso


Picasso – A powerful image downloading
and caching library for Android
Picasso là gì? Nếu như trong ứng dụng của
bạn cần hiển thị hình ảnh được tải từ máy
chủ về thì chỉ cần thêm thư viện Picasso vào
ứng dụng. Chỉ cần một dòng mã là bạn có
thể tải được hình ảnh từ máy chủ về, quả
thật đây là một thư viện quá đơn giản và đầy
hữu ích.
1.6 CÁC THƯ VIỆN ANDROID
1.6 CÁC THƯ VIỆN ANDROID

5. Thư viện Volley


Volley – is an HTTP library that makes networking for Android apps
easier and, most importantly, faster.
Volley là một thư viện HTTP giúp gởi và nhận các yêu cầu, Volley là
thư viện do các kỹ sư Google phát triển. Volley chỉ hỗ trợ các phương
thức trả về dạng String, Image, JsonObject, JsonArray.
Xem thêm: https://github.com/google/volley/
1.6 CÁC THƯ VIỆN ANDROID

6. Thư viện RxAndroid


RxAndroid – Reactive Extensions for Android
RxAndroid là gì? RxAndroid là một phần của RxJava, giúp lập trình dễ dàng
hơn. Ví dụ sau đây mô tả cách sử dụng thư viện RxAndroid trong ứng dụng
Android:
1.6 CÁC THƯ VIỆN ANDROID

7. Thư viện Gson


Gson là thư viện cho phép người sử dụng có thể dễ dàng chuyển đổi qua lại
từ một đối tượng Java sang JSON hoặc ngược lại. Bạn có thể sử dụng các
phương thức toJson() hoặc fromJson() để chuyển đổi các đối tượng Java sang
JSON và ngược lại.
Ví dụ sau đây mô tả cách sử dụng thư viện Gson trong ứng dụng Android:
1.6 CÁC THƯ VIỆN ANDROID

8. Thư viện EventBus


EventBus là thư viện mã nguồn mở nhằm giải quyết các bài toán về giao tiếp
giữa các thành phần trong ứng dụng chẳng hạn Activity, Service,
BroadcastReceiver…
Xem thêm: http://greenrobot.org/eventbus/
9. Thư viện MPAndroidChart
MPAndroidChart là một thư viện biểu đồ mạnh mẽ và dễ sử dụng trong
Android, với thư viện này bạn có thể vẽ biểu đồ một số dạng như LineChart,
BarChart, PieChart, ScatterChart, CandleStickChart, RadarChart…
1.6 CÁC THƯ VIỆN ANDROID
1.6 CÁC THƯ VIỆN ANDROID

10. Thư viện Realm Database


Thư viện Realm Database là một cơ sở dữ liệu
nhẹ nhằm thay thế thư viện SQLite and Core
Data trong các ứng dụng Android. Realm nhanh
hơn nhiều so với ORM và SQLite, thư viện này
hỗ trợ đa nền tảng như Java, Swift, Xamarin…
1.6 CÁC THƯ VIỆN ANDROID
1.6 CÁC THƯ VIỆN ANDROID

11. Thư viện Universal Image Loader


Universal Image Loader là một thư viện giúp hiển thị ảnh trong
Android, thư viện Universal Image Loader có chức năng tương tự như
thư viện Picasso.
1.6 CÁC THƯ VIỆN ANDROID
CÂU HỎI VÀ BÀI TẬP
A. Phần Lý Thuyết: Viết tự luận nội dung tự chọn 1 trong những nội dung sau:
oLựa chọn 1: Appery.io, Mobile Roadie, TheAppbuilder, ShoutEm
oLựa chọn 2: Good Barber, Appy Pie, AppMachine, ShoutEm
oLựa chọn 3: GameSalad, BiznessApps, AppMakr, ShoutEm
B. Phần Thực Hành:
1) Th1: Tiến hành cài đặt môi trường java (quay video màn hình nộp)
2) Th2: Tiến hành cài đặt Android Studio (quay video màn hình nộp)
3) Th3: Tiến hành tạo new project ứng dụng đầu tiên hello my group (quay màn
hình laptop quá trình tạo project, và quay màn hình điện thoại quá trình sử dụng
phần mềm)
C. Làm và nộp theo nhóm (3 người) lấy điểm thường kỳ.

You might also like