AndroidでSqliteデータベースを呼び出す
4491 ワード
簡単な過程で、直接コードを貼って、後で使う時直接コードを見ればいいです.
Ctrl+Shift+Fフォーマットコード.とても使いやすいです.
データベースファイルの場所はdatadataアプリケーションパッケージ名databases
1.SQLiteとSQL文の使用
2.呼び出し方法:
Ctrl+Shift+Fフォーマットコード.とても使いやすいです.
データベースファイルの場所はdatadataアプリケーションパッケージ名databases
1.SQLiteとSQL文の使用
package com.example.sqlitetest;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DBOperateHelper extends SQLiteOpenHelper {
private final static String TAG = "DBOperateHelper";
public DBOperateHelper(Context context) {
// /data/data//database/
// , , null
// , 0, 0
super(context, "smallpig", null, 4);
}
/**
*
*/
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table person(personid integer primary key autoincrement,name varchar(20),phone varchar(12) null)");
}
/**
*
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("alter table person add amount Integer null");
}
public int insertRecord(String name, String phone){
// ,
SQLiteDatabase sqldb = this.getWritableDatabase();
sqldb.execSQL("insert into person(name,phone) values(?,?)", new Object[]{name, phone});
sqldb.close();
return 1;
}
/**
*
*
* @param name
*/
public void deleteRecord(String name) {
SQLiteDatabase sqldb = this.getWritableDatabase();
sqldb.execSQL("delete from person where name=?", new Object[] { name });
sqldb.close();
}
/**
*
*
* @param person
*/
public void updateRecord(String name, String phone) {
SQLiteDatabase sqldb = this.getWritableDatabase();
sqldb.execSQL("update person set phone=? where name=?", new Object[] { phone, name});
sqldb.close();
}
/**
*
*
* @return
*/
public long getCount() {
SQLiteDatabase sqldb = this.getReadableDatabase();
Cursor cursor = sqldb.rawQuery("select count(1) from person", null);
//
cursor.moveToFirst();
long result = cursor.getLong(0);
cursor.close();
return result;
}
/**
* ,limit 2,8,
*
* @param offset
* @param maxResult
* @return
*/
public List Traverse(int offset, int maxResult) {
SQLiteDatabase sqldb = this.getReadableDatabase();
Cursor cursor = sqldb.rawQuery(
"select * from person order by personid asc limit ?,?",
new String[] { String.valueOf(offset),
String.valueOf(maxResult) });
int personid;
String name;
String phone;
List persons = new ArrayList();
while (cursor.moveToNext()) {
personid = cursor.getInt(cursor.getColumnIndex("personid"));
name = cursor.getString(cursor.getColumnIndex("name"));
phone = cursor.getString(cursor.getColumnIndex("phone"));
Person p = new Person(name, phone);
persons.add(p);
}
cursor.close();
return persons;
}
}
2.呼び出し方法:
db = new DBOperateHelper(this);
View.OnClickListener onclick = new View.OnClickListener() {
public void onClick(View v) {
List p = null;
switch (v.getId()){
case R.id.button1:
db.insertRecord("lin" + (++index), "135" + (++phone));
break;
case R.id.button2:
db.deleteRecord("lin0");
break;
case R.id.button3:
db.updateRecord("lin1", "17");
break;
case R.id.button4:
p = db.Traverse(5, 10);
for (int i=0; i