.:: CODE SNIPPET ::.

"Your time is limited, so don't waste it living someone else's life"

Ứng dụng nhỏ demo cho các thao tác với SQLite trong android


Ở đây mình viết lại các bước tìm hiểu và xây dựng ứng dụng danh bạ điện thoại đơn giản. Ứng dụng chỉ có mục đích là demo cho việc sử dụng SQLite trong Android mà thôi, nên mọi thứ còn rất sơ sài.
Đầu tiên là chúng ta cần có kiến thức cơ bản về SQLite, Activity, XML, java để xây dựng nhá.

Đầu tiên là cần xây dựng các màn hình cho ứng dụng:

+ Tạo file main.xml trong thư mục res/layout. Code XML của giao diện chính:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/RelativeLayout01"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<ListView
		android:id="@+id/mainListView"
		android:layout_alignParentTop="true"
		android:layout_width="fill_parent"
		android:layout_height="fill_parent"/>
	<LinearLayout
		android:id="@+id/LinearLayout01"
		android:layout_below="@+id/ListView01"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:layout_alignParentBottom="true">
	<Spinner
		android:id="@+id/spinner"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:prompt="@string/planet_prompt"
		android:layout_alignParentBottom="true"
		android:layout_weight="1"/>
	<Button
		android:id="@+id/ButtonCancel"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:layout_weight="1"
		android:text="AddNew"
		android:layout_alignParentBottom="true"/>
	</LinearLayout>
</RelativeLayout>
 

Giao diện chính là 1 RelativeLayout trong đó bao gồm 1 ListView và 1 LinearLayout.

+ Tạo file simplerow.xml trong thư mục res/layout với nội dung như sau:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <TextView android:id="@+id/rowTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:textSize="16sp"/>
  <TextView
    android:id="@+id/rowTextView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="false"
    android:layout_below="@+id/rowTextView"
    android:textSize="10px"/>
  <CheckBox android:id="@+id/CheckBox01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:layout_alignParentRight="true"
    android:layout_marginRight="6sp"
    android:focusable="false"/>
</RelativeLayout>

Đây chính là các thành phần của 1 Item trong ListView. Gồm có 2 TextView và 1 checkbox. File simplerow.xml giúp thể hiện một dòng của danh sách các contact.

+ Tiếp theo tạo file new_edit_contact.xml trong thư mục res/layout:

<?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="wrap_content"
		android:layout_height="wrap_content"
		android:text="Contact Activity"
		android:textStyle="bold"
		android:typeface="normal"
		android:textSize="18px"
		android:padding="15px"
		android:gravity="center_horizontal"/>
	<LinearLayout
		android:orientation="horizontal"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content">
		<TextView
			android:layout_width="70px"
			android:layout_height="wrap_content"
			android:text="Name :"
			android:textStyle="bold"
			android:typeface="normal"
			android:textSize="15px"
			android:padding="5px"/>
		<EditText
			android:id="@+id/cname_edit"
			android:layout_width="150px"
			android:layout_height="wrap_content"
			android:hint="Enter name"
			android:textColorHint="@color/hint_color"
			android:textSize="15px"
			android:gravity="center"
			android:lines="1"
			android:padding="5px"/>
	</LinearLayout>
	<LinearLayout
		android:orientation="horizontal"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content">
		<TextView
			android:layout_width="70px"
			android:layout_height="wrap_content"
			android:text="Phone :"
			android:textStyle="bold"
			android:typeface="normal"
			android:textSize="15px"
			android:padding="5px"/>
		<EditText
			android:id="@+id/cphone_edit"
			android:layout_width="150px"
			android:layout_height="wrap_content"
			android:hint="Enter  phone"
			android:textColorHint="@color/hint_color"
			android:textSize="15px"
			android:gravity="center"
			android:padding="5px"
			android:numeric="integer"
			android:maxLength="11"/>
	</LinearLayout>
	<LinearLayout
		android:orientation="horizontal"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content">
		<TextView
			android:layout_width="70px"
			android:layout_height="wrap_content"
			android:text="Email :"
			android:textStyle="bold"
			android:typeface="normal"
			android:textSize="15px"
			android:padding="5px"/>
		<EditText
			android:id="@+id/cemail_edit"
			android:layout_width="150px"
			android:layout_height="wrap_content"
			android:hint="Enter  email"
			android:textColorHint="@color/hint_color"
			android:textSize="15px"
			android:gravity="center"
			android:padding="15px"
			android:lines="1"/>
	</LinearLayout>
	<LinearLayout
		android:orientation="horizontal"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:gravity="center">
		<Button
			android:id="@+id/bsave"
			android:layout_width="80px"
			android:layout_height="wrap_content"
			android:padding="5px"
			android:text="Save"
			android:background="@drawable/save_button"/>
		<Button
			android:id="@+id/bcancel"
			android:layout_width="80px"
			android:layout_height="wrap_content"
			android:text="Cancel"
			android:padding="5px"
			android:background="@drawable/delete_button"/>
	</LinearLayout>
</LinearLayout>

Trong file có 1 LinearLayout chính, trong đó có 1 Text và 3 LinearLayout nhỏ gồm có:
– 3 LinearLayout nhỏ đầu có 1 TextView và 1 EditText
– LinearLayout cuối có 2 button.

Màn hình detail

 

Màn hình edit

 

Màn hình add

+ Tiếp theo chúng ta sẽ tạo ra file DBAdapter để cung cấp các hàm xử lý cơ sở dữ liệu SQLite như bài viết trước
+ Một thực thể Employee được viết trong file Employee.java để mô tả các thông tin của một nhân viên.
+ Việc tiếp theo là viết các Activity xử lý cho ứng dụng. Các Activity bao gồm:
– EmployeeActivity: Để xử lý màn hình giao diện chính của ứng dụng.
– EditActivity: Thao tác xem chi tiết và chỉnh sủa thông tin của nhân viên.
– AddActivity: Xử lý thao tác thêm mới một nhân viên
– DeleteActivity: Xử lý thao tác xóa một nhân viên.
Chi tiết về các Activity cũng có mô tả trong code.
Các bạn có thể download sourcode tại đây
password: hoangminhuit

Advertisements

11 responses to “Ứng dụng nhỏ demo cho các thao tác với SQLite trong android

  1. Pingback: Sử dụng android.hardware.Camera để khai thác camera của android « .:: Hoàng Minh ::.

  2. vai qua April 15, 2013 at 12:59 AM

    sao trong project mình down về chạy thì không thấy chức năng EDIT vậy bạn (trong spinner không có item edit)

  3. Hoàng Minh April 15, 2013 at 9:54 PM

    mình viết cũng lâu rồi, nên ko nhớ rõ lắm, bạn thử xem lại cái event của nó xem nhé.

  4. Anonymous April 20, 2013 at 2:34 PM

    bạn có thể up lại cái src đc ko, mediafire ko cho down nua

  5. cuong May 1, 2013 at 8:38 PM

    bạn ơi có thể gửi project cho mình dc không. nguồn mediafire die oy

  6. cuong May 1, 2013 at 8:41 PM

    mail của mình là trancuong08s@gmail.com

  7. Hoàng Minh May 3, 2013 at 8:13 PM

    Các bạn thử link sau nhé: https://docs.google.com/file/d/0B202_wr-OOfucWF3QURmRVhQNjg/edit?usp=sharing

  8. Trần Văn Lưu May 6, 2013 at 12:20 AM

    Anh ơi. Anh gửi cho em source code ví dụ trên với ạ. Link trên em ko dowload được ạ. Email của em là: tvanluu1990@gmail.com

  9. Hoàng Minh May 6, 2013 at 9:04 AM

    Bạn vào File->Download để down nhé, nhưng mà code cho phần này hiện tại mình chưa kiếm ra, tại mình viết lâu quá rồi, đây là code tương tự thôi.
    Mình sẽ cố gắng kiếm và đưa lại cho các bạn.

  10. Ky Trong May 31, 2013 at 5:14 PM

    Anh cho em xin Code hoàn chỉnh có cả phần EDit, Em đã test nhưng kết quả chạy ở chức năng Edit không đúng. Email em : kytrong.at@gmail.com

  11. Văn Tăng Lê July 14, 2014 at 5:31 PM

    add ơi mình mới học cái này…mình cài elip 64 bit sao 2 cái source của add mình k import đc..nguyên nhân tại sao z add, cái demo seach của add thì import đc

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: