Home > Operating System > [Android] HelloWorld application

[Android] HelloWorld application

Máy ảo Android (Android Emulator-AE)có giao diện như hình bên dưới. Cũng xin nhắc rằng, khởi động AE tương đối chậm, vì vậy trong suốt quá trình design & coding không nên tắt AE đi.

Bài viết này chủ yếu giới thiệu các bước cơ bản nhất để viết một ứng dụng trên nền Android. Tôi, không phải là chuyên gia trong lĩnh vực này, chỉ muốn chia sẻ với các bạn những gì tôi học được với hi vọng sẽ có càng nhiều bạn thích thú, tìm tòi và đóng góp thêm cho cộng đồng IT Việt Nam. Hoan nghênh các bạn thảo luận và chia sẻ tài liệu cũng như ý tưởng.

Chúng ta bắt đầu bằng tạo một project mới trong Eclipse: File –>New–>Android Project, đặt tên Project trong Project Name (ví dụ HelloWorld), chọn Build Target là Android 2.2, Package Name tùy ý(ví dụ com.cat123vn.hello.activity), các thứ khác để mặc định rồi click Finish. Phần mềm viết trên nền Android 2.2 có thể không chạy được trên các version cũ hơn, nhưng hoàn toàn ok trên các version sau này. Bạn cũng nên chọn Package Name sao cho unique vì nếu trùng lặp với chương trình khác thì mình không thể up lên Google cho người ta dùng được. Kiểm tra xem Package Explorer của bạn có giống như hình sau không?

Nhấp chuột phải lên HelloWorld chọn Run asà Android application, màn hình AE xuất hiện dòng chữ Hello World, HelloWorldActivity!

Dòng chữ này được định nghĩa trong file strings.xml với tên là hello và được dùng trong file main.xml. Việc khai báo các chuỗi trong strings.xml giúp cho việc chuyển đổi ngôn ngữ được thuận tiện, còn main.xml dành cho thiết kế giao diện, hỗ trợ gravical design và coding. Trong file HelloWorldActivity có hàm onCreate() dùng tới giao diện main này.

 package com.cat123vn.hello.activity;

import android.app.Activity;
import android.os.Bundle;

public class HelloWorldActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

Một ứng dụng có thể có nhiều activity, nhưng tại mỗi thời điểm chỉ có thể có một activity hiện lên trước mặt người dùng. Khi một activity được gọi thì sẽ dùng hàm onCreate() để gọi giao diện, gán tham số ban đầu…Trong ví dụ này chỉ có việc hiện ra giao diện main thôi (còn việc in ra chữ là việc của “anh” main nhà ta).

Cần lưu ý là file R.java trong folder gen được tự động sinh ra, mỗi lần mình thêm ảnh vào hay định nghĩa biến thì file này tự động thay đổi, chúng ta không nên sửa bất cứ điều gì trong đó. Folder assets thường để lưu các tài nguyên tương đối lớn như file nhạc, phim…Folder res để lưu tài nguyên tương đối nhỏ như các file config, phim ngắn, hình ảnh…Ở đây ta thấy có 3 folder drawable-hdpi, drawable-ldpi, drawable-mdpi để lưu 3 file ảnh (của cùng 1 ảnh)với độ phân giải khác nhau, vì có nhiều kích cỡ màn hình điện thoại android, nếu chỉ dùng 1 file ảnh thì khi hiện trên màn hình lớn có thể làm bể hình. Khi đóng gói chương trình, chỉ có những file trong res đã được chương trình dùng thì mới được đóng gói kèm, trong khi tất cả các file trong assets đều được đóng gói. Tất nhiên res còn có thể chứa nhiều folder khác nữa.

Categories: Operating System Tags:
  1. July 23, 2011 at 10:25 PM

    Trong bước đầu tiên tạo ứng dụng, mình nghĩ nên chọn Build Target là Android 1.6. Sau khi viết xong, thì chạy thử trên các phiên bản Android cao hơn, như Android 2.1, Android 2.2
    Như zậy ứng dụng của bạn sẽ tương thích với nhiều dòng máy, cũng như tương thích với nhiều phiên bản Android hơn. Hehe.

  2. July 23, 2011 at 10:35 PM

    Tất nhiên là được, nhưng version 2.2 có nhiều tính năng hơn 1.6

  3. August 2, 2011 at 10:52 PM

    Thanks

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: