Tiêu đề: Học lập trình trên điện thoại Android nên biết [In trang] Thành viên: amcorp166 Thời gian: 29/7/2016 23:09:26 Tiêu đề: Học lập trình trên điện thoại Android nên biết
Tham khảo các thông tin liên quan đến ngôn ngữ lập trình trên điện thoại Android
Java là ngôn ngữ lập trình chính thức của hệ điều hành Android. Song dù được phát triển trên cơ sở nền tảng Java nhưng hệ điều hành này lại không hỗ trợ 2 ngôn ngữ lập trình thông dụng nhất trên điện thoại là J2ME và J2SE HTC 10 xách tay
Dựa vào máy ảo Java thuộc hãng Sun, máy ảo Dalvik được Google tinh chỉnh để phục vụ hoạt động biên dịch mã Java nhanh chóng và hiệu quả hơn. Thời điểm phiên bản Froyo2.2 ra mắt, hệ điều hành Android đã hộ trợ JIT để tăng khả năng biên dịch Java nhanh chóng lên gấp nhiều lần so với trước đây ( Cụ thể là tốc độ biên dịch có thể nhanh hơn từ 2- 5 lần so với phiên bản cũ)
Hình minh họa biểu đồ cho thấy tốc độ của máy ảo Java được cải tiến rõ rệt của các phiên bản Android
Với việc sử dụng Framework của các hãng thứ 3 , người lập trình cũng đã có thể sử dụng các ngôn ngữ web thông dụng như HTML, CSS hay Javascript để xây dựng các ứng dụng trên hệ điều hành android, song trên thực tế thì không có nhiều ứng dụng đi theo chiều hướng phát triển này.
SQLite chính là công cụ hỗ trợ việc quản lý cơ sở dữ liệu của các ứng dụng nằm trên Android Hướng dẫn cài ADB & Fastboot.
Những lưu ý cần thiết
1.Sự phân chia của các phiên bản android trên thị trường.
Bởi là hệ điều hành sở hữu mã nguồn mở và không thu phí, vì vậy mà tất cả các nhà sản xuất phần cứng đều có thể dùng và tùy biến Android cho các thiết bị của mình. Chính nguyên nhân này đưa đến sự phân mảnh các phiên bản android trên thị trường hay nói cụ thể chính là trên thị trường tồn tại rất nhiều mẫu điện thoại android chạy với một phiên bản khác nhau. Một số trường hợp các nhà sản xuất còn đưa thêm vào mã nguồn của android những sự thay đổi về giao diện cũng như các chức năng. Điển hình có thể thấy là HTC đang sở hữu giao diện Sense. Xiaomi Redmi 3A
Hình minh họa cho thấy sự khác biệt của giao diện nguyên bản Androi so với giao diện Sense.
Bên cạnh đó, các nhà sản xuất còn đóng vai trò chủ chốt trong việc cập nhập hệ điều hành. Chính vì vậy mà khi có phiên bản Android mới thì người dùng phải mất khá lâu sau đó mới có thể cập nhập. Samsung Galaxy Note 7
Cũng chính bởi tình trạng phân mảnh thị trường này mà hiện tại hệ điều hành android có rất nhiều phiên bản khác nhau. Điều này đặt ra vấn đề cho người phát triển ứng dụng là phải kiểm tra kỹ lưỡng các phiên bản để xem tính khả dụng của chương trình mình viết ra có phù hợp với phiên bản android hay không. (Đặc việt là các phiên bản cũ có thể sẽ không sử dụng được hoặc thiếu hụt một vài chức năng)
Tổng hợp số lượng thiết bị điện thoại di động dùng các phiên bản của hệ điều hành Android
2.Liên quan đến vấn đề kích thước màn hình
Nguyên nhân dẫn đến là bởi trên thị trường hiện nay số lượng các nhà sản xuất điện thoại Android khá nhiều, vì vậy mà dù cho Google đã đưa ra một số các tiêu chí áp dụng chung cho phần cứng của thiết bị thì vấn đề kích cước cũng như độ phân giải đều được nhà sản xuất tự do quyết định.
Điều này nghĩa là người phát triển ứng dụng trên hệ điều hành android phải cân nhắc đến việc ứng dụng của mình sẽ sử dụng trên các thiết bị có kích thước màn hình khác nhau.
Song, điều chắc chắn là các thiết bị điện thoại sử dụng hệ điều hành android đều dùng màn hình cảm ứng đa điểm, còn tùy theo thiết bị mà sử dụng bàn phím vật lý hoặc cảm ứng quang.
Hình ảnh thống kê các kiểu màn hình thiết bị điện thoại android
3. Môi trường lập trình cho hệ điều hành android
Các công cụ riêng lẻ của android SDK gồm: debugger, hệ thống thư viện, trình giả lập thiết bị điện thoại Android, hệ thống tài liệu hỗ trợ và code mẫu. Hiện tại trên các nền tảng khác nhau như Mac, Linux, Windows chỉ cần đáp ứng điều kiện là đã có sẵn Java Development Kit, Apache Ant và từ Python 2.2 trở lên, Android đều cung cấp bộ công cụ này.
Eclipse có phiên bản từ 3.2 trở lên đi kèm sự hỗ trợ của plugin Android Development Tools chính là môi trường lập trình chính thức của hệ điều hành android. Song, những người phát triển ứng dụng vẫn có thể dùng một môi trường lập trình khác hoặc một trình soạn thảo văn bản để thực hiện thao tác viết code Java và XML, sau đó mới sử dụng các dòng lệnh để phiên dịch và hoàn chỉnh ứng dụng.
Các ứng dụng của hệ điều hành android sẽ được đóng gói thành các file. Apk và lưu trữ trong thư mục /data/app.
4. Các công cụ tiêu biểu hỗ trợ lập trình Android
SQLite Manager: chính là một addon thuộc Firefox hỗ trợ quản lý cơ sở dữ liệu SQLite của hệ điều hành android.
DroidDraw: công cụ hỗ trợ thiết kế file XML giao diện của ứng dụng.
Balsamiq Mockups và AdobeFireworks: Hỗ trợ người lập trình phác thảo ý tưởng cũng như giao diện sơ bộ một cách nhanh chóng.
StarUML: Lược đồ UML giúp phân tích thiết kế sẽ được công cụ này hỗ trợ vẽ ra
Các thành phần thiết yếu của một project Android trên Eclipse
Hình ảnh cấu trúc thư mục và file của một dự án phần mềm ứng dụng Android trên Eclipse
AndroidManifest.xml: Thành phần file XML dùng để mô tả ứng dụng và các thành tố được ứng dụng cung cấp.
build.xml: Khi compile và cài đặt ứng dụng lên thiết bị thì build.xml chính là file chưa mã cript Ant.
default.properties: đây là file property đươc hình thành bởi script Ant trên
bin/ : chính là kho chứa ứng dụng khi đã được compile
bin/classes/ : các lớp Java sau khi compile sẽ được chứa tại đây.
bin/classes.dex : nơi chứa các file executable hình thành nhờ các lớp Java.
bin/yourapp.ap_ : nơi chứa các tài nguyên thuộc về ứng dụng, đã được đóng gói thành file zip.
bin/yourapp-debug.apk hay bin/yourapp-unsigned.apk : là nơi chứa đựng chính ứng dụng Android.
libs/ : các file Java JAR ứng dụng theo yêu cầu (third party) sẽ được chứa ở libs
src/ : mã nguồn Java thuộc ứng dụng nằm ở src
res/ : kho để chứa đựng tài nguyên của ứng dụng, điển hình như các icons, GUI layouts,…
res/drawable/ : nơi lưu trữ file hình ảnh (PNG, JPEG,…).
res/layout/ : lưu trữ UI layout, dưới dạng XML.
res/menu/ : cụ thể chi tiết của các menu, dưới dạng XML.
res/raw/ : lưa trữ các file khác
res/values/ : lưu trữ, chứa đựng các strings, dimensions,…
res/zml/ : lưu trữ các file XML khác cần thiết cho ứng dụng.
assets/ : lưu trữ các files tĩnh (static) có yêu cầu cần thiết đi kèm với ứng dụng.
File AndroidManifest.xml
Mọi ứng dụng android đều có chung nền tảng là file AndroidManifest.xml. File này được đặt tại thư mục root cho thấy các thành tố nằm trong ứng dụng của services, các activities … và cả cách mà các thành tố ấy liên kế với nhau.
Yếu tố quan trọng nhất khi tạo nên một file manifest là phải cung ứng thuộc tính của package hay chính là tên của java package được dùng làm cơ sở tạo nên ứng dụng. Sau khi việc đặt tên lên packake hoàn thành người lập trình cần ghi tên lớp trong file manifest. Tuy nhiên có thể được rút ngắn.
Các thành phần manifest khác là :
uses-persmission: Để chỉ quyền mà ứng dụng được cấp để hoạt động tốt nhất.
permission: để chỉ quyền mà activities hay services đòi hỏi các ứng dụng khác phải trang bị thì mới được truy cập dữ liệu của ứng dụng đó.
nstrumentation: Khi các hoạt động quan trọng diễn ra, hỗ trợ việc ghi chú và rà soát thì đây là thành phần chỉ định code được gọi
uses-library: để thực hiện việc kết nối với các thành phần sẵn có của android.
uses-sdk: là thành phần chỉ ra phiên bản android cần sử dụng mà ứng dụng yêu cầu, thành phần này có thể có hoặc không có.
application: là khái niệm chỉ phần trung tâm ứng dụng.
Thành phần application chính là yếu tố quan trọng nhất của một file manifest. Khi khởi tạo một protecck android mới thì mặc định sẽ có sẵn thành phần activity
Tất nhiên, phần quan trọng của 1 file manifest chính là thành phần application. Mặc định, khi ta tạo 1 project Android mới, ta có sẵn 1 thành phần activity:
Thành phần này cho thấy các thông tin sau
android:name : chính là tên class để hiện thực activity này.
android:label : tên của activity.
intent-filter : Đây là thành phần con để chỉ ra điều kiện để activity hiển thị