Posts tagged ‘android_tutorial’

Cơ Bản Android – ViewGroup Và Custom Adapter – P4

I.Custom ViewGroup

ViewGroup thông thường chúng ta hay gặp là LinearLayout, Relative Layout. Xây dựng custom ViewGroup cho phép chúng ta tạo 1 tập các widget được sắp xếp theo ý muốn rồi đưa vào sử dụng.

Yêu cầu: Xây dựng ứng dụng dạng To Do List: Cho phép nhập vào nội dung công việc và thời gian thực hiện công việc rồi đưa vào list công việc. Cho phép xóa các công việc khỏi list.

B1: Khởi tạo project: File -> New -> Android Project
Project name: Example 3
Build Target: Chọn Android 1.5
Application name: Example 3
Package name: at.exam
Create Activity: Example
=> Kích nút Finish.

B2: Xây dựng custom view group trong XML. Đi tới res\layout tạo 1 file XML mới là list.xml. Gõ nội dung sau vào: Read more…

Cơ Bản Android – Xây Dựng Giao Diện Đơn Giản – P3

I.Android Manifest

Trong khung Package Explorer, ở phía dưới thư mục res, bạn sẽ thấy 1 file có tên là AndroidManifest.xml. Mỗi ứng dụng đều cần có AndroidManifest.xml để mô tả những thông tin quan trọng của nó cho hệ thống Android biết. Let’s look closer:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="at.exam"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Example"
                  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>
    <uses-sdk android:minSdkVersion="3" />
</manifest>

Cụ thể những công việc mà AndroidManifest.xml thực hiện:
– Đặt tên cho Java package của ứng dụng.
– Mô tả các thành phần (component) của ứng dụng: activity, service, broadcast receiver hoặc content provider.
– Thông báo những permission mà ứng dụng cần có để truy nhập các protected API và tương tác với các ứng dụng khác.
– Thông báo những permission mà các ứng dụng khác cần có để tương tác với ứng dụng hiện thời.
– Thông báo level thấp nhất của Android API mà ứng dụng cần để chạy. (Android 1.0 là level 1, 1.1 là level 2, 1.5 level 3, 1.6 level 4 và 2.0 là level 5). Read more…

Notepad Example – Phần 1

NotePad Exercise 1

Trong bài tập này, bạn sẽ construct một notes list đơn giãn cho phép user thêm mới các notes nhưng không được edit chúng. Trong bài này, chúng ta sẽ làm hiểu các phần cơ bản sau:

  • Cơ bản về ListActivity, tạo và xử lý menu options.
  • Sử dụng SQLite database để lưu trữ các notes.
  • Bind dữ liệu từ một database cursor vào một ListView sử dụng một SimpleCursorAdapter.
  • Cơ bản về screen layout (layout một list view), thêm các item vào activity menu, và cách thức activity xử lý các selection cho menu.

Trước khi bắt đầu, bạn vào đây để download bài tập có chứa NotepadCodeLab.

I.Step 1

  • B1.Trong Eclipse, click vào File->New->Android Project.
  • B2.Chọn Create project from existing source.
  • B3.Click Browse và navigate đến nơi có chứa thư mục NotepadCodeLab và chọn Notepadv1.
  • B4.Click Finish.

II.Step 2

  • Sau khi tạo project Notepadv1, bạn sẽ thấy lớp NotesDbAdapter – lớp này được cung cấp để đóng gói dữ liệu truy cập vào SQLite database mà sẽ nắm giữ các notes data và cho phép bạn cập nhật nó.
  • Ở phía trên của lớp là một số định nghĩa constant sẽ được sử dụng trong ứng dụng để tìm kiếm dữ liệu từ các tên trường thích hợp trong database.
  • Tên của database là “data” và tên của table là “notes” gồm có 3 field: _id, title và body.
  • Constructor của NotesDbAdapter có chứa một Context, cho phép nó giao tiếp với các khía cạnh của OS Android. Lớp Activity implement lớp Context, vì vậy bạn thường sẽ sử dụng từ khóa “this” từ Activity, khi cần một Context.
  • Phương thức open() gọi một thể hiện của lớp DatabaseHelper (lớp này được cài đặt cục bộ trong lớp NotesDbAdapter và kết thừa từ SQLiteOpenHelper). Nó gọi getWritableDatabase() để xử lý việc tạo và mở database cho bạn.
  • Phương thức createNote() có chứa các string cho title và body của một note mới, sau đó tạo note đó trong database. Giả sử note mới được tạo ra thành công, phương thức này cũng trả về giá trị _id cho note mới được tạo ra.
  • Phương thức deleteNote() có chứa một rowId cho một note cụ thể, và xóa note đó từ database.
  • Phương thức fetchAllNote() thực hiện truy vấn và trả về một Cursor cho tất cả các note trong database, đó là nó gọi phương thức query(). Trong phương thức query(), tham số đầu tiên là tên của database table để truy vấn (trong ví dụ này, DATABASE_TABLE là “notes”), tham số tiếp theo là danh sách các column mà bạn muốn trả về, trong ví dụ này đó là các column: _id, title, và body, vì vậy chúng được xác định là một mảng String. Các tham số thiếp theo lần lượt là: selection, selectionArgs, groupBy, having và orderBy; giá trị của having bằng null, có nghĩa là bạn muốn tất cả data, không cần group chúng và có thứ tự mặc định. Xem thêm SQLiteDatabase.
  • Lưu ý: Một Cursor được trả về chứ không phải là một collection của các row. Điều này cho phép Android sử dụng các resource một cách hiệu quả – thay vì put các dữ liệu trực tiếp vào bộ nhớ, con trỏ sẽ retrieve và release dữ liệu khi cần thiết, điều này hiệu quả hơn nhiều việc sử dụng các table có chứa nhiều row.
  • Phương thức fetchNote() tương tự như fetchAllNote() nhưng chỉ nhận một note với rowId.
  • Cuối cùng, phương thức updateNote() có chứa rowId, title và body, và sử dụng một thể hiện của ContentValues để cập nhật note của rowId cho trước. Read more…

Cơ Bản Android – Tích Hợp Android Vào Eclipse – Phần 1

I.Hướng Dẫn Cài Đặt Android Với Eclipse

1.Download Android SDK

Android SDK thực chất là tập hợp các công cụ và thư viện để phát triển các ứng dụng trên nền tảng hệ điều hành Android.

B1: Vào trang http://developer.android.com/sdk/index.html để tải Android SDK Starter. Tùy thuộc vào hệ điều hành mà bạn chọn bản Mac, Linux hay Window. Ở đây mình chọn tải bản cho Window.

B2: Giải nén file zip bạn vừa tải về. Chạy SDK Setup.exe. Bạn có thể gặp thông báo lỗi Fetching https://dl-sl… Failed to fetch… Close thông báo này lại. Tiếp theo cửa sổ Choose Packages to Install xuất hiện. Nếu cửa sổ này trống rỗng -> Cancel.

-> Quay về cửa sổ Android SDK and AVD manager -> Chọn Setting, đánh dấu vào ô Force https://...

-> Chọn Available Packages. Read more…