Android中SQLite使用

现在的主流移动设备像Android、iPhone等都使用SQLite作为复杂数据的存储引擎,在我们为移动设备开发应用程序时,也许就要使用到SQLite来存储我们大量的数据,所以我们就需要掌握移动设备上的SQLite开发技巧。对于Android平台来说,系统内置了丰富的API来供开发人员操作SQLite,我们可以轻松的完成对数据的存取。
[java]
package com.gaoxueping;

import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import android.view.Menu;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
SQLiteDatabase db = openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null);
db.execSQL("DROP TABLE IF EXISTS person");
db.execSQL("CREATE TABLE person (_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age SMALLINT)");

Person person = new Person();
person.name = "gavin";
person.age = 25;

db.execSQL("INSERT INTO person VALUES (NULL, ? ,?)", new Object[]{person.name, person.age});

person.name = "nameForKey";
person.age = 24;
ContentValues cv = new ContentValues();
cv.put("name", person.name);
cv.put("age", person.age);
db.insert("person", null, cv);

cv = new ContentValues();
cv.put("age", 23);
db.update("person", cv, "name = ?", new String[]{"gavin"});

Cursor c = db.rawQuery("SELECT * FROM person WHERE age >= ?", new String[]{"23"});
while(c.moveToNext()){
int _id = c.getInt(c.getColumnIndex("_id"));
String name = c.getString(c.getColumnIndex("name"));
int age = c.getInt(c.getColumnIndex("age"));
Log.i("db", "_db=>" + _id + ",name=>" + name + ",age=>" + age);
}
c.close();
db.close();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}
[/java]
person.java
[java]
package com.gaoxueping;

public class Person {
public int _id;
public String name;
public int age;
public String info;

public Person(){};

public Person(String name, int age, String info){
this.name = name;
this.age = age;
this.info = info;
}
}
[/java]
完整项目下载地址
http://pan.baidu.com/s/1kTK95Kb

Avatar photo

About Blackford

这是个最好的时代,这是个最坏的时代,这是个充满希望的春天,这是个令人绝望的冬天,我们前面什么都有,我们前面什么都没有。梦想,让我们一次次的走远,又一次次的回头,一个关于人生的梦想还在不断奔跑,带着喜悦和疼痛,不过一切才刚刚开始,并且直到今天也远远没有结束
This entry was posted in Android开发 and tagged , . Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用*标注