You are on page 1of 6

S ử d ụng Database trên SDCard Sử dụng database trong sdcard: Hướng dẫn tạo database với SQLite browser

Link down: [Only registered and activated users can see links.click here to register]
Open Sqlite browser

Chọn file-> new database Chúng ta sẽ tạo một database có tên db file là db_ex .

Đây là table quan trọng nếu không có thì android sẽ không thể đọc dc.Nhập tên tên table là user. Click add để tạo các fields trong table: Ví dụ ở đây ta sẽ tạo bảng user gồm các trường: Id (integer primary key). Chọn tab Browse data: Chọn Table android_metadata chọn new record nhập vào en_US . name (text) Chọn edit -> create table Nhập tên table là android_metadata Table này có trường locale kiểu text.

android.CursorFactory factory. public static final String COLUMN_ID = "id". android. String pathDb.getExternalStorageDirectory().d("DB".toString() + "/" + DATABASE_NAME. import import import import import android. File file = new File(pathDb). // SONG public static final String TABLE_USER = "user". public class DbManager/* extends SQLiteOpenHelper */{ public static final String DATABASE_NAME = "db_ex".util.sqlite.ArrayList.File.database. public void openDatabase() { pathDb = Environment.java PHP Code: import java. Chúng ta đã có file database đế sử dụng.content. } else { Log. android. SQLiteDatabase database. Tạo một project và bắt tay vào làm thôi: Tạo một file DbManager.io.d("DB". if (file.exists()) { Log. android.Log.database. public static final String COLUMN_NAME = "name".Environment.os. "File khong ton tai").Giờ chúng ta làm tương tự với bảng user.SQLiteDatabase. import java. private SQLiteDatabase. } . Sau đó trọn Save.Cursor.util.ContentValues. Giờ thì copy vào sdcard của máy android. "file ton tai").

cv. } } File User. ContentValues cv = new ContentValues(). database.close().close(). } public void insertUser(int id. .moveToFirst()) { do { User temp = new User(). null.setId(Integer.put(COLUMN_NAME. } public ArrayList<User> getUser() { getReadableDatabase().isClosed()) { cursor. } while (cursor. temp. listUser. Cursor cursor = database. null. } public SQLiteDatabase getReadableDatabase() { database = SQLiteDatabase.getString(1)).query(TABLE_USER. ContentValues cv = new ContentValues(). null.insert(TABLE_USER. cv). if (cursor. cv. null).valueOf(id) }).put(COLUMN_NAME.java để chứa thông tin của User. SQLiteDatabase. String name) { getWritableDatabase(). name). temp. cv.moveToNext()). COLUMN_ID + "=?". } public SQLiteDatabase getWritableDatabase() { database = SQLiteDatabase.update(TABLE_USER. id). cv. cv.openDatabase(pathDb. new String[] { COLUMN_ID.} public void closeDatabase() { database. database. String name) { getWritableDatabase(). null. ArrayList<User> listUser = new ArrayList<User>(). null.OP EN_READWRITE). } if (cursor != null && !cursor.put(COLUMN_ID.getString(0))).add(temp).parseInt(cursor. COLUMN_NAME }. return database.OPE N_READWRITE). closeDatabase(). } public void updateUser(int id.openDatabase(pathDb . id).setName(cursor. name). new String[] { String. null. closeDatabase(). } return listUser. return database. SQLiteDatabase. null.put(COLUMN_ID.

Log.size()).util. public class Db_SdcardActivity extends Activity { /** Called when the activity is first created. /** * @return the id */ public int getId() { return id. "bb").getUser().id = id. } } . } } Hiện tại mình chỉ ghi log để kiểm tra dư liệu thôi các bạn có thể copy file db trong sdcard rồi dùng SQLite browser để kiểm tra dữ liệu đã dc insert hay chưa.PHP Code: public class User { private int id. private String name.ArrayList. import android."list size "+ list. db.Bundle.Activity.main).Log. ArrayList<User> list = db.layout."list size "+ list.getUser().name = name.os. PHP Code: import java.d("test".openDatabase().size()). import android. } /** * @param id the id to set */ public void setId(int id) { this.insertUser(3.app. } /** * @return the name */ public String getName() { return name.util. DbManager db = new DbManager(). */ @Override public void onCreate(Bundle savedInstanceState) { super. Phần giao diện các bạn tự làm nhé. db. import android. db. setContentView(R.d("test".onCreate(savedInstanceState). } /** * @param name the name to set */ public void setName(String name) { this. Log.