Một project Android sẽ chứa những file cần thiết dành cho một ứng dụng Android.
Tạo project trong Android Studio
Tạo project trong Android Studio rất đơn giản, chỉ cần vào File→New Project. Sau đó chúng ta thiết lập các thông số cho project:
- Application Name: tên project, mình đặt là My First App
- Company domain: đây là tên sẽ được chèn vào trước tên package
- Package name: đây là tên package cho project, mình đặt com.phocode
- Project location: đường dẫn đến thư mục chứa project
- Select the form factors your app will run on: chọn Phone and Tablet
- Minimum SDK: chọn API 8 nếu bạn đã cài phiên bản Android 2.2 (Froyo) trong SDK Manager, không thì bạn chọn API thấp nhất hiện có trong SDK Manager. Đây là phiên bản Android thấp nhất mà ứng dụng của bạn hỗ trợ.
- Add an Activity to Mobile: chọn Empty Activity
- Activity Name và Layout Name: đặt tên file Activity là file layout, bạn có thể để mặc định
Cuối cùng nhấn Finish.
Tạo project từ dòng lệnh
Nếu bạn không cài Android Studio mà chỉ cài bộ SDK thôi thì bạn có thể tạo project từ dòng lệnh như sau:
C:\Project\Android\MyFirstApp>android create project --target android-8 --name MyFirstApp --path . --activity MainActivity --package com.phocode Created directory C:\Project\Android\src\com\phocode Added file C:\Project\Android\src\com\phocode\MainActivity.java Created directory C:\Project\Android\res Created directory C:\Project\Android\bin Created directory C:\Project\Android\libs Created directory C:\Project\Android\res\values Added file C:\Project\Android\res\values\strings.xml Created directory C:\Project\Android\res\layout Added file C:\Project\Android\res\layout\main.xml Created directory C:\Project\Android\res\drawable-hdpi Created directory C:\Project\Android\res\drawable-mdpi Created directory C:\Project\Android\res\drawable-ldpi Added file C:\Project\Android\AndroidManifest.xml Added file C:\Project\Android\build.xml Added file C:\Project\Android\proguard-project.txt
Lệnh android create project
sẽ tạo một project Android tại thư mục hiện hành trong Command Prompt. Tham số target là phiên bản SDK thấp nhất, name là tên project, path là đường dẫn đến thư mục tạo project, ở đây dấu chấm có nghĩa là đường dẫn chỉ đến thư mục hiện tại, package là tên package, activity là tên file Activity được tạo ra.
Project được tạo ra cho dù là từ Android Studio hay từ dòng lệnh cũng đều có các thư mục và file cơ bản sau đây:
bin/ libs/ res/ src/ AndroidManifest.xml ant.properties build.xml local.properties proguard-project.txt project.properties
Trong đó file AndroidManifest.xml sẽ mô tả các tính chất của chương trình. Các file .java sẽ nằm trong thư mục src/. Các file tài nguyên như file XML, file ảnh… sẽ nằm trong thư mục res/. Các file apk sau khi được tạo ra sẽ nằm trong thư mục bin/. Thư mục libs/ chứa các thư viện hỗ trợ. Hai file ant.properties và build.xml là các file Ant dùng cho việc biên dịch project. Cuối cùng là file local.properties và project.properties lưu các đặc tính của project.
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.phocode" android:versionCode="1" android:versionName="1.0"> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> <activity android:name="MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
File AndroidManifest.xml
lưu trữ các thông tin về project mà chúng ta đã tạo, như tên package, tên file Activity… Hai chuỗi @string/app_name
và @drawable/ic_launcher
là các giá trị tài nguyên được lưu trong các file tài nguyên trong thư mục res/,
chúng ta sẽ tìm hiểu sau. Thẻ <intent-filter>
nằm bên trong thẻ <activity>
khai báo các công việc mà Activity có thể thực hiện, trong đó có một thẻ <action>
và một thẻ <category>,
cả 2 thẻ này cho biết Activity này là Activity chính được chạy khi ứng dụng chạy.
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">MainActivity</string> </resources>
File strings.xml
nằm bên trong thư mục res/values
định nghĩa các giá trị chuỗi được sử dụng trong ứng dụng. Có thể hiểu đây giống như các biến toàn cục/hằng số được định nghĩa trước vậy. Thẻ <string>
sẽ định nghĩa một biến với tên nằm trong thuộc tính name.
Mặc định mỗi project Android được tạo ra sẽ có một biến tên là app_name
có giá trị là tên Activity mà chúng ta tạo ra.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello World, MainActivity" /> </LinearLayout>
File main.xml
nằm trong thư mục res/layout.
File này định nghĩa giao diện cho một Activity. Khi chạy ứng dụng thì giao diện này sẽ được gọi từ phương thức onCreate().
package com.phocode; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
File MainActivity.java
sẽ tạo một Activity trong phương thức onCreate()
như đã nói ở trên. Mặc định phương thức này sẽ thiết lập giao diện ứng dụng là file main.xml
với phương thức setContentView().
Chạy chương trình từ Android Studio
Để biên dịch và chạy ứng dụng android thì chúng ta bật máy ảo lên hoặc kết nối máy thật vào máy tính thông qua cổng USB rồi bấm nút Run có biểu tượng hình tam giác màu xanh lá cây. Android Studio sẽ hiển thị một hộp thoại cho chúng ta chọn danh sách các thiết bị có thể chạy.
Lưu ý là nếu bạn chạy trên thiết bị thật thì bạn phải bật chế độ USB Debugging trên máy thật bằng cách vào Settings → General → Developer options và check vào dòng USB Debugging. Nếu máy bạn không có tùy chọn Developer options thì tức là chế độ này đã bị ẩn, bạn phải vào Settings → About phone → Software information rồi tìm đến dòng Build number và nhấp vào đó 7 lần, sau đó tùy chọn Developer options sẽ hiện ra.
Chạy chương trình từ dòng lệnh
Để có thể biên dịch và chạy từ dòng lệnh thì bạn phải tải thêm trình ant tại địa chỉ http://ant.apache.org/bindownload.cgi, sau đó giải nén và thêm đường dẫn đến thư mục bin
trong thư mục ant
mà bạn vừa giải nén vào biến môi trường Path.
C:\Project\Android>ant debug install
Sau đó chạy lệnh ant debug install
tại thư mục chứa project để dịch chương trình. Lệnh này sẽ biên dịch và tạo ra file có tên là <tên project>-debug.apk tại thư mục bin/, ở đây là file MyFirstApp-debug.apk do chúng ta đặt tên project là MyFirstApp.
C:\Project\Android>adb devices List of devices attached LGD325f7d0c658 device
Để chạy ứng dụng thì chúng ta tìm các máy Android hiện đang kết nối với máy tính. Hiện tại ở đây mình sử dụng máy thật để chạy, lệnh adb devices
liệt kê máy mình có tên là “LGD325f7d0c658”.
C:\Project\Android>adb install -r bin/MyFirstApp-debug.apk
Lệnh adb install
<tên file apk>
sẽ cài file apk vào thiết bị để chạy, tham số -r cho biết nếu trên máy đã tồn tại ứng dụng rồi thì ghi đè lên. Nếu lệnh adb devices
liệt kê ra nhiều thiết bị tức là hiện tại máy bạn có nhiều thiết bị android kết nối đến, thì trong lệnh adb install
bạn phải chỉ ra cả tên thiết bị đó nữa bằng tham số -s
phía sau lệnh adb
, ví dụ adb -s "LGD325f7d0c658" install -r bin/MyFirstApp-debug.apk
.
Thế là xong, bạn có thể thấy project đã được cài trên máy mình và có thể nhấp vào đó để chạy.