Sunday, April 20, 2014

Widget căn bản & Quản lý sự kiện

Các Widget căn bản

Bao gồm:
  1. Textview: để hiển thị chuỗi dạng label.
  2. Edittext: để nhận dữ liệu từ bàn phím, có thể là chuỗi, số, tiền tệ, mật khẩu, định dạng viết hoa đầu mỗi từ, viết hoa đầu mỗi câu....
  3. Button: là nút bấm cơ bản
  4. Checkbox: là nút hộp kiểm cơ bản
  5. RadioButton: là nút radio cơ bản, nó thường được bọc theo nhóm radio group.
  6. ImageView: là widget dùng để hiển thị ảnh trong Android.
  7. ImageButton: là nút bấm có chèn ảnh biểu tượng bên trong.
Ngoài ra Android còn rất nhiều widget đặc trưng khác như DateTime Picker, Spinner, Rating Bar, Progress Bar, Switch button, Listview, GridView, Sliding Drawable....

Quản lý sự kiện

Bao gồm:

  1. Hàm sự kiện bên ngoài Activity.
  2. Hàm sự kiện bên trong Activity.
  3. Hàm sự kiện gán trực tiếp cho widget.
  4. Activity được implement sự kiện.
  5. Sự kiện được gán trên layout xml.

Hàm sự kiện bên ngoài Activity

  • Ưu điểm: code được tổ chức tốt, dễ bảo trì và sử dụng lại.
  • Nhược điểm: muốn sử dụng phải khởi tạo đối tượng, hàm thực hiện phải là public.


Hàm sự kiện bên trong Activity

  • Ưu điểm: có thể thay đổi dữ liệu trực tiếp ngay bên trong Activity, kể cả các dữ liệu dạng private.
  • Nhược điểm: lớp lắng nghe sự kiện nằm trong cùng Activity nên việc tổ chức code không tường minh, khó sửa chữa, bảo trì hoặc nâng cấp.


Hàm sự kiện gán trực tiếp cho widget.

  • Ưu điểm: cấu trúc code viết nhanh, gọn.
  • Nhược điểm: chỉ có thể áp dụng cho một control, nhiều hơn thì phải copy/paste, nếu đoạn mã xử lý dài sẽ khiến cho code khó đọc.


Activity được implement sự kiện.

  • Ưu điểm: thích hợp cho trường hợp muốn xử lý cùng thể loại sự kiện (vd: onClickListener).
  • Nhược điểm: nếu xử lý nhiều hơn một loại sự kiện sẽ gây rối code, đồng thời cũng không thể truyền tham số cho Listener.


Sự kiện được gán trên layout xml.

  • Ưu điểm: mã code đơn giản.
  • Nhược điểm: không rõ ràng trong cách xử lý từ mã nguồn Java vì chương trình sẽ không kiểm soát được lỗi (ví dụ như sự kiện được gán trên layout xml nhưng mã xử lý lại không được viết trên Activity => lỗi).


Các thành phần Layout

Các Layout căn bản

Bao gồm:
  1. LinearLayout:  
  2. RelativeLayout
  3. TableLayout
  4. FrameLayout
  5. AbsoluteLayout
  6. ScrollView
LinearLayout


    
Tính chất là các thành phần đặt bên trong nó sẽ được sắp xếp theo chiều dọc, hoặc chiều ngang tùy vào thuộc tính "android:orientation" là "vertical" hoặc "horizontal".

RelativeLayout


    
Các thành phần bên trong nó sẽ được sắp xếp có quan hệ với nhau hoặc mỗi thành phần có mối quan hệ với layout cha bên ngoài như là: nằm bên phải, nằm bên trái, căn giữa, căn phải, căn trái, nằm ở trung tâm, nằm sau thành phần nào, nằm trên thành phần nào....

TableLayout

 
    
    
 
        
 
        
 
    
    
 
        
    
 
    
    
 
    
    
 
        
 
        
 
    
    
 
        
 
    
    
 
        
 

Là layout giúp sắp xếp các thành phần thành hàng và cột.

FrameLayout


    

    

        

    

    

        


Layout này phân biệt các thành phần như là các lớp, thành phần nào thêm sau cùng sẽ là lớp trên cùng.

AbsoluteLayout


    
Các thành phần nằm bên trong Layout này phải xác định tọa độ chính xác để hiển thị, các thành phần có thể nằm cùng 1 vị trí.

ScollView

.......




Đây là layout đặc biệt có khả năng tạo thanh cuộn khi nội dung vượt quá chiều dài màn hình. ScrollView chỉ có thể chứa duy nhất một layout bên trong nó

Saturday, April 19, 2014

Tổng quan môi trường phát triển: Cài đặt, thiết lập và khởi tạo

Công cụ phát triển

Để phát triển ứng dụng Android các bạn cần công cụ phát triển (IDE), trong suốt loạt bài hướng dẫn về lập trình Android này tôi sẽ sử dụng công cụ Eclipse.
Các bạn tải tại: https://www.eclipse.org/downloads/
Sau khi tải Eclipse về cài đặt xong bạn cần tích hợp plugin ADT cho Eclipse bằng cách vào: .
Help -> Install New Software

Paste đường link: http://dl-ssl.google.com/android/eclipse/
Click chọn vào Development Tool và nhấn next để bắt đầu cài đặt.
Một cách khác: các bạn có thể tải trọn bộ công cụ ADT + Eclipse đã được Google tùy chỉnh cho phát triển ứng dụng Android tại địa chỉ Android ADT

Tạo Project

Để tạo project các bạn nhấp chuột phải lên vùng package project chọn New -> Android Application Project hoặc vào File -> New - Android Application Project.

Các thành phần của project Android

  1. src: Chứa source nguồn java
  2. assets: Chứa các file cần thiết cho dự án như file database sqlite khởi tạo ban đầu, file ảnh, file âm thanh, font chữ...
  3. bin: Chứa những file sau khi build dự án, file .apk cũng nằm tại đây.
  4. libs: Thư mục này chứa tất cả các thư viện muốn đính vào dự án.
  5. res:
    1. drawable: thư mục chứa ảnh.
    2. layout: chứa các file giao diện xml của ứng dụng.
    3. menu: chứa file cấu hình menu.
    4. values: chứa file xml giá trị như String, kích thước, màu sắc dùng cho dự án.
  6. AndroidManifest.xml: Là file cấu hình của project, các activity, broadcast, service cần được khai báo ở đây.

Emulator

Các bạn có thể sử dụng Emulator mặc định của Android hoặc các Emulator từ nhà phát triển thứ 3 như:
  1. BlueStacks
  2. Genymotion
Bởi vì emulator mặc định của Android khá chậm trên Windown nên nếu điều kiện không thể sắm thiết bị thật thì các emulator của nhà phát triển thứ 3 là sự lựa chọn hợp lý. Tất nhiên là các emulator này sẽ có cả bản trả phí và free, theo nhận định thì bản free dùng cũng khá ổn.