Professional Documents
Culture Documents
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
Đ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
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
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
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