Giới thiệu ngôn ngữ và môi trường lập trình android
Đối với những bạn chưa tiếp xúc qua với lập trình android thì chắc chắn những thông tin cơ bản liên quan đến vấn đề này như: ngôn ngữ lập trình, môi trường lập trình, cách cài đặt, … cũng đang khá mơ hồ.
Bạn đừng lo lắng, đến với chúng tôi_khóa học lập trình Android cơ bản của ITP Việt Nam bạn sẽ được cung cấp tất cả những kiến thức cơ bản nhất để bạn có thể tự mình đứng vững.
Sau đây chúng tôi xin giới thiệu một số vấn đề cơ bản về lập trình android.
I. Ngôn ngữ lập trình:
Ngôn ngữ lập trình chính thức của Android là Java. Mặc dù các ứng dụng trên Android được phát triển dựa trên nền tảng Java, những Android không hỗ trợ J2ME và J2SE, là hai ngôn ngữ lập trình phổ dụng cho các thiết bị di động.
Dựa trên máy ảo Java của Sun, Google đã tinh chỉnh và phát triển nên máy ảo Dalvik để biên dịch mã Java với tốc độ biên dịch nhanh hơn và nhẹ hơn. Đến phiên bản Froyo 2.2, Android đã hỗ trợ Just-in-time Compiler (JIT) làm tăng tốc độ biên dịch Java lên gấp 2-5 lần so với các phiên bản trước.
Ngoài ra, vơi sự hỗ trợ của các frameworks của hãng thứ ba, các ứng dụng Android có thể được viết bằng các ngôn ngữ web phổ dụng như HTML, CSS, … tuy nhiên đây là hướng đi chưa phổ biến
II. Môi trường lập trình ứng dụng cho android
Android SDK bao gồm các công cụ riêng lẻ như: debugger, các thư viện, trình giả lập điện thoại Android, các tài liệu hỗ trợ và code mẫu. Hiện Android cung cấp bộ công cụ này trên nhiều nền tảng hệ điều hành khác nhau (Windows, Linux, Mac,…), miễn là có sẵn Java Development Kit, Apache Ant và Python2.2 trở lên.
Môi trường lập trình (IDE) chính thức của Android là Eclipse (từ phiên bản 3.2) với sự hỗ trợ của plugin Android Development Tools (ADT). Tuy nhiên, người lập trình có thể sử dụng bất kỳ 1 IDE hay trình soạn thảo văn bản nào để viết code Java và XML rồi biên dịch nên ứng dụng hoàn chỉnh bằng cách sử dụng dòng lệnh (command lines)
Ứng dụng Android được đóng gói thành các file .apk và đuợc lưu trong thư mục /data/app của hệ điều hành Android.Java Development Kit (JDK) 5.0.
Một số công cụ hỗ trợ lập trình Android tiêu biểu:
– SQLite Manager: Là một addon của Firefox giúp quản lí cơ sở dữ liệu SQLite của Android.
– DroidDraw: Giúp thiết kế file XML giao diện ứng dụng.
– Balsamiq Mockups và AdobeFireworks: Giúp nhanh chóng phác thảo ý tưởng và giao diện sơ bộ của ứng dụng.
– StarUML: Vẽ các lược đồ UML hỗ trợ phân tích thiết kế.
1. Các thành phần cơ bản của một project Android trên Eclips
AndroidManifest.xml: file XML mô tả ứng dụng và các thành phần đuợc cung cấp bởi ứng dụng (activities, services,…).
build.xml: Một file chứa mã script Ant (ant.apache.com) nhằm compile và cài đặt ứng dụng lên máy.default.properties: file property tạo bởi script Ant trên.
bin/ : nơi chứa ứng dụng sau khi được compile.
bin/classes/ : chứa các lớp Java đã được compile.
bin/classes.dex : chứa các file executable tạo bởi các lớp Java.
bin/yourapp.ap_ : chứa các tài nguyên của ứng dụng, đóng gói thành 1 file zip.
bin/yourapp-debug.apk hay bin/yourapp-unsigned.apk : chứa chính ứngdụng Android của ta.
libs/ : nơi chứa các file Java JAR ứng dụng yêu cầu (third party).
src/ : nơi chứa mã nguồn Java của ứng dụng.
res/ : chứa các tài nguyên của ứng dụng, như các icons, GUI layouts,…
res/drawable/ : chứa file hình ảnh (PNG, JPEG,…).
res/layout/ : chứa UI layout, dưới dạng XML.
res/menu/ : chi tiết các menu, dưới dạng XML.
res/raw/ : chứa các file khác (CSV chứa thông tin account,…).
res/values/ : chứa các strings, dimensions,…
res/zml/ : chứa các file XML khác cần cho ứng dụng.
assets/ : nơi chứa các files tĩnh (static) được yêu cầu đi kèm với ứng dụng.
2. File AndroidManifest.xml
Là nền tảng của mọi ứng dụng Android, file AndroidManifest.xml được đặt trong thư mục root và cho biết những thành phần có trong ứng dụng của: các activities, các services,…cũng như cách các thành phần ấy gắn bó với nhau.
Mỗi file manifest đều bắt đầu với một thẻ manifest:
<manifest xmlns:android=”http://schemas.android.com/apk/res/android”
package=”com.commonsware.android.search”>
…
</manifest>
Khi tạo file manifest, điều quan trọng nhất là phải cung cấp thuộc tính của package, tức tên của Java package dùng làm cơ sở cho ứng dụng của ta. Sau khi đã đặt tên package, sau này khi cần ghi tên lớp trong file manifest, ta có thể rút ngắn, chẳng hạn với lớp “com.yourapp.android.search.Someclass” ta chỉ cần ghi “.Someclass” là đủ.
Các thành phần manifest khác là :
uses-persmission: chỉ định các quyền mà ứng dụng của ta đuợc cấp để hoạt động trôi chảy (như đã nói, các ứng dụng Android nằm dưới nhiều lớp bảo mật khác nhau).
permission: chỉ định các quyền mà các activities hay services yêu cầu các ứng dụng khác phaỉ có mới được truy cập dữ liệu của ứng dụng của ta.
instrumentation: chỉ định phần code cần được gọi khi xảy ra những sự kiện quan trọng (chẳng hạn khởi động activities) nhằm phục vụ việc ghi chú (logging) và tra soát (monitoring)
uses-library: nhằm kết nối với các thành phần có sẵn của Android (như service tra bản đồ,…)
uses-sdk: có thể có hoặc không, chỉ ra phiên bản củaAndroid mà ứng dụng này yêu cầu.
application: định nghĩa phần trung tâm của ứng dụng của file manifest.
Ví dụ file AndroidManifest:
<manifest xmlns:android=”http://schemas.android.com/apk/res/android”
package=”com.commonsware.android”>
<uses-permission
android:name=”android.permission.ACCESS_LOCATION” />
<uses-permission
android:name=”android.permission.ACCESS_GPS” />
<uses-permission
android:name=”android.permission.ACCESS_ASSISTED_GPS” />
<uses-permission
android:name=”android.permission.ACCESS_CELL_ID” />
<application>
…
</application>
</manifest>
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:
<manifest xmlns:android=”http://schemas.android.com/apk/res/android”
package=”com.commonsware.android.skeleton”>
<application>
<activity android:name=”.Now” android:label=”Now”>
<intent-filter>
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
</application>
</manifest>
Thành phần này cung cấp các thông tin sau
- android:name : tên class hiện thực activity này.
- android:label : tên activity.
- intent-filter : Một thành phần con, chỉ ra dưới điều kiện nào thì activity này được hiển thị.
Trên đây là phẩn giới thiệu về ngôn ngữ và môi trường lập trình bạn cần chú ý khi bắt đầu học lập trình android.
0 nhận xét: