首先必须继承自:SQLiteOpenHelper,实现其onCreate,onUpgrade方法
构造方法:
public DatabaseHelper(Context context, String name, CursorFactory factory, int version)
第一个参数:Context类型,上下文。
第二个参数:String类型,数据库名称
第三个参数:CursorFactory类型
第四个参数:int,数据库版本(>0)
DbHelper 继承自:SQLiteOpenHelper。。。。创建表:sqtb
package com.android.lp;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DbHelper extends SQLiteOpenHelper{
public DbHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
//创建一个表sqtb,仅两个字段id,name
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
Log.v("dbhelperlog", "dbhelperlog");
db.execSQL("create table if not exists sqtb("
+"id int,"
+"name vachar)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
操作数据的类:
package com.android.lp;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.TextView;
public class TestSqliteActivity extends Activity {
/** Called when the activity is first created. */
private DbHelper dbHelper;
private TextView textVText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//DbHelper(context, name, factory, version)
textVText= (TextView) findViewById(R.id.textview);
dbHelper = new DbHelper(this, "sqlite.db", null, 1);//此处是必须大于0,艹 12-22 19:10:22.759: E/AndroidRuntime(672): Caused by: java.lang.IllegalArgumentException: Version must be >= 1, was 0
this.addData(dbHelper);
String rs = this.getData(dbHelper);
textVText.setText("id\t"+"name\n"+rs);
}
public void addData(DbHelper dbHelper){
SQLiteDatabase sqDb = dbHelper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("id", 28);
cv.put("name", "lp2");
sqDb.insert("sqtb", "id", cv);
}
public String getData(DbHelper dbHelper){
String rs = null;
//得到一个可写的db
SQLiteDatabase sqDb = dbHelper.getWritableDatabase();
Cursor c = sqDb.query("sqtb", null, null, null, null, null, null);
int idindex = c.getColumnIndex("id");
int nameindex = c.getColumnIndex("name");
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
rs = rs + c.getString(idindex)+"\t";
rs = rs + c.getString(nameindex)+"\n";
}
return rs;
}
}
main。xml中定义一个Textview用来显示数据
<TextView
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
运行,显示结果:
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com