Các tính năng mà Android hỗ trợ rất rộng, bao gồm đồ họa 2D, 3D (dựa trên OPENGLES), khả năng định vị (hiện chỉ dùng GPS), Bluetooth, EDGE, 3G, WiFi, hỗ trợ thoại GSM, dữ liệu có thể được lưu trữ trong cơ sở dữ liệu SQLLite… tất nhiên các thiết bị hỗ trợ Android sẽ không do Google sản xuất, và một số tính năng nâng cao như Wifi, GPS, 3D hardware accelerator… sẽ phụ thuộc vào từng dòng thiết bị cụ thể.
Một tin vui cho các lập trình viên là các bước phát triển ứng dụng trên Android rất đơn giản, với sự hỗ trợ của nhiều thư viện có sẵn, mô hình lập trình khá sáng sủa, cùng với IDE Eclipse, đến thời điểm hiện tại thì bộ tài liệu của nó còn khá sơ sài, đặc biệt là về API. Tuy nhiên, đối với những người đã thành thạo Java, đặc biệt là đã từng xây dựng các ứng dụng cho di động thì việc tiếp cận rất dễ dàng.
Địa chỉ chính thức của Android hiện tại là: http://code.google.com/android/
Sau khi đọc qua tài liệu về Android, bạn có thể theo hướng dẫn của nó để tải về bộ SDK, Eclipse và cấu hình, cài đặt các thành phần liên quan. Tôi đã thử viết một chương trình cực kỳ phức tạp, đó là chương trình giải phương trình bậc 2 . Thật đáng kinh ngạc, chỉ sau ít phút, tôi đã có ngay một chương trình để chạy trên thiết bị Android.
Trước khi thử viết chương trình, bạn nên đọc qua tài liệu của nó, tối thiểu bạn phải có khả năng tạo một bộ khung chương trình trong Eclipse, sau đó hãy thay nội dung của hai file main.xml và GPTB2.java như sau (dự án có tên GPTB2, tên lớp activity chính cũng đặt là GPTB2.java)
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=“Giải phương trình bậc 2“ />
<EditText id=“@+id/a“ android:layout_width=“300pt“ android:layout_height=“80pt“ android:numeric=“true“/>
<EditText id=“@+id/b“ android:layout_width=“300pt“ android:layout_height=“80pt“ android:numeric=“true“/>
<EditText id=“@+id/c“ android:layout_width=“300pt“ android:layout_height=“80pt“ android:numeric=“true“/>
<Button id=“@+id/calculate“ android:layout_width=“250pt“ android:layout_height=“80pt“android:text=“Calculate“ />
<TextView id=“@+id/result“ android:layout_width=“fill_parent“ android:layout_height=“fill_parent“ />
LinearLayout>
Tiếp theo là file GPTB2.java
package com.daohainam.ptb2;
import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
import android.view.*;
public class PTB2 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
final Button button = (Button) findViewById(R.id.calculate);
final TextView result = (TextView) findViewById(R.id.result);
button.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
String sa = ((EditText) findViewById(R.id.a)).getText().toString();
String sb = ((EditText) findViewById(R.id.b)).getText().toString();
String sc = ((EditText) findViewById(R.id.c)).getText().toString();
try
{
double a = Double.parseDouble(sa);
double b = Double.parseDouble(sb);
double c = Double.parseDouble(sc);
if (a == 0)
{
result.setText(“Phương trình bậc I: “);
if (b == 0)
{
if (c == 0)
result.setText(result.getText() + “Phương trình có vô số nghiệm”);
else
result.setText(result.getText() + “Phương trình vô nghiệm”);
}
else
{
result.setText(result.getText() + “x = “ + (-c/b));
}
}
else
{
double delta = b*b – 4*a*c;
if (delta <>
{
result.setText(“Phương trình vô nghiệm\n”);
}
else
if (delta == 0)
{
result.setText(“Phương trình có nghiệm kép = “ + (-b/(2*a)));
}
else
{
double delta_sqrt = Math.sqrt(delta);
result.setText(“x1 = “ + ((b*b + delta_sqrt)/(2 * a)) + “\n” + “x2 = “ + ((b*b – delta_sqrt)/(2 * a)));
}
}
} catch (Exception ex)
{
result.setText(ex.toString());
}
}
});
}
}
Vậy là xong, khi chạy bạn sẽ có thể thấy giao diện chương trình như sau:
Nhập các giá trị cần thiết và nhấn vào nút Calculate để xem kết quả.
Bạn cũng có thể download toàn bộ dự án tại đây (mã nguồn này được xây dựng dựa trên bản SDK đầu tiên)
Cập nhật: Mã nguồn tại đây được xây dựng dựa trên bản SDK 1.5r2.
reflink; http://namdh.wordpress.com/2008/07/27/android-ptb2/