Thứ Ba, 1 tháng 12, 2015

Bắt đầu tự học lập trình Android - Phần 2 - Tạo ứng dụng đầu tiên

- Sau khi bạn đã tạo xong một Project, bước tiếp theo bạn cần làm là lập trình cho ứng dụng của bạn, đây là giao diện sau khi bạn đã tạo xong một Project

- Các thành phần chính của một ứng dụng Android: 
      + File layout (file xml): Đây là giao diện bạn nhìn thấy trên màn hình thiết bị của bạn.
      + File Java (Thường là file chứa Activity, trong hình là file MainActivity): Là nơi bạn lập trình các chức năng cho ứng dụng của bạn, ví dụ như khi bạn ấn vào một nút trên màn hình, đây là nơi sẽ xử lý xem hoạt động diễn ra khi bạn ấn nút đó là gì.
      + File AndroidManifest.xml: File để khai báo thông tin, khi bạn lập trình xong một Activity, bạn khai báo ở đây thì Activity đó mới có thể chạy được, đây cũng là nơi khai báo các yêu cầu cần thiết cho ứng dụng của bạn, ví dụ như ứng dụng cần có kết nối Internet, cần lưu trữ bộ nhớ ngoài, hay cần mở định vị GPS.

- Đầu tiên, bạn cần tạo một giao diện, đơn giản là bằng cách kéo thả các thành phần bạn cần ở cột Palette sang layout. 
- Tuy nhiên với một số thiết bị thì giao diện có thể sẽ không đồng đều, tức là với những thiết bị có màn hình khác nhau thì vị trí của các thành phần trên layout cũng khác nhau, vì vậy bạn nên thiết lập các vị trí mặc định cho các thành phần, ví dụ như EditText có id là editText1 sẽ ở dưới một EditText khác có id là editText2 và chúng mặc định là nằm ở giữa, vậy thì cho dù bạn sử dụng kích thước màn hình nào, editText2 cũng sẽ nằm bên dưới editText1 và cả hai sẽ nằm ở giữa màn hình. Bạn có thể thiết lập bằng cách chon các yếu tố như below, above, center, left, right trên cột Properties, hoặc chuyển sang code khi bạn đã quen với cách tạo giao diện bằng cách chọn tab Text và sau đó các bạn có thể thiết lập layout bằng code.


- Ví dụ trong hình này, đoạn code mình nhập vào android:ems="10" là để mặc định trước độ dài cho EditText, bạn có thể bấm trở lại phần Design dể xem sự khác biệt.

- Sau khi đã thêm các thành phần cần thiết như mình đã đề cập ở trên, một EditText (ở đây mình chọn Plain Text), một TextView (Large Text) và một Button là bạn đã làm xong phần layout cho ứng dụng này.

- Tiếp theo là bước viết code cho file MainActivity để thiết lập hoạt động bạn cần khi chọn một thành phần trên layout.
- Hàm onCreate trong một class Activity là hàm chính, bạn có thể hình dung như hàm main trong lập trình C hay Java.
- Đầu tiên bạn cần khai báo biến cho các phần tử trên layout, bạn có thể khai báo theo hai cách, cách thứ nhất:

- Hoặc theo cách thứ hai:

- id trong findViewById(R.id.editTextlà id của các thành phần trên layout của file activity_main.xml.

- Điểm khác nhau giữa hai cách khai báo là nếu bạn khai báo theo cách thứ nhất, bạn có thể sử dụng biến đã khai báo ở tất cả các hàm trong một file java.

- Tiếp theo, bạn cần gán hoạt động cho Button bằng cách sử dụng hàm setOnClickListener() set hoạt động cho Button khi được click, ở đây, mình lấy nội dung từ nhập vào từ EditText và gán giá trị đó cho TextView khi bạn ấn vào Button. Vậy là bạn đã hoàn thành phần code.

- Tiếp theo bạn có thể chạy ứng dụng của mình trên thiết bị ảo.
- Đầu tiên bạn cần tạo máy ảo, bạn chọn AVD Manager > Create Virtual Device.

- Sau đó bạn chọn kiểu thiết bị.


- Hệ điều hành.

- Và ấn vào Finish để tạo thiết bị ảo.

- Bạn trở về giao diện chính, chọn Run 'app' để chạy ứng dụng của bạn.

- Và đây là kết quả.

- Về phần file AndroidManifest.xml, sau mỗi khi tạo ra một Activity Class, bạn phải khai báo activity trong AndroidManifest thì ứng dụng mới có thể chạy activity đó được, trong trường hợp trên, file MainActivity đã được khai báo sẵn, nên mình không cần phải khai báo nữa.

- Nhưng nếu bạn tạo thêm một activity khác, ví dụ như Activity2.java, bạn phải khai báo trong AndroidManifest.xml thì activity mới có thể chạy được.

- Khai báo Activity2 trong AndroidManifest.xml.

- Code để chuyển sang một Activity khác, bạn có thể đặt code này vào hàm on click trong Button để khi bạn ấn vào Button đó nó sẽ đưa bạn sang Activity khác, hoặc tùy theo yêu cầu của bạn.
Intent intentName = new Intent(MainActivity.this, Activity2.class); 
//tên activity hiện tại và tên activity muốn khởi động
startActivity(intentName);

- Vậy là các bạn đã tạo ra được ứng dụng đơn giản đầu tiên của mình, sau đó các bạn có thể build ra file apk và chạy thử trên thiết bị Android thật.


Thứ Hai, 30 tháng 11, 2015

Bắt đầu tự học lập trình Android - Phần 1 - Cài đặt IDE Android Studio và tạo một Project

Chào các bạn. Bài viết này mình muốn chia sẻ với các bạn những gì mình biết, cũng như kinh nghiệm của mình khi mình vừa bắt đầu học lập trình Android, để giúp những bạn có sở thích về lập trình Android và muốn bắt đầu tự học lập trình sẽ có cái nhìn đơn giản hơn chỉ với các bước cần thiết để tạo ra được một ứng dụng đầu tiên cho mình.

Bước 1:  Cài đặt IDE
- Đầu tiên các bạn cần cài đặt jdk, các bạn có thể download tại đây, chọn hệ điều hành phù hợp, bấm vào Accept License Agreement và bấm vào link download, sau đó bạn tiến hành cài đặt.







- Tiếp theo bạn cần một IDE để lập trình, ở đây mình chọn Android Studio, bạn có thể tải về Android Studio tại đây trên trang web developer chính thức của Google.
- Sau khi cài đặt xong, bạn mở Android Studio lên, chọn Configure > SDK Manager > Lauch Standalone SDK Manager > Bạn chọn các Tools và các nền tảng Android cần sử dụng, sau đó chọn Install package và chờ download.





- Sau đó bạn tắt tất cả cửa sổ SDK đi và trở về với giao diện chính.

Bước 2: Tạo một Project
- Đầu tiên bạn chọn Start a new Android Studio project.


- Bạn đặt tên cho application, domain tùy ý, sau đó chọn Next.


- Bạn chọn kiểu thiết bị và nền tảng Android thấp nhất mà thiết bị đó có thể sử dụng được cho ứng dụng của bạn rồi chọn Next.


- Chọn kiểu ứng dụng bạn muốn làm, ví dụ như ứng dụng với Google Map, ứng dụng có đăng nhập hoặc là ứng dụng cần cho phần setting, ở đây mình chọn Empty Activity, ứng dụng chưa biết sẽ có đặc trưng gì, sau đó bạn chọn Next rồi Finish.

- Như vậy bạn đã tạo xong một project mới trên Android Studio, và tiếp theo sẽ là bước bạn viết code để lập trình cho ứng dụng của mình.