android Sqlite数据库的操作
来源:互联网 发布:mac更改软件安装路径 编辑:程序博客网 时间:2024/04/30 08:01
首先必须继承自: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" />
运行,显示结果:
- android Sqlite数据库的操作
- android sqlite数据库的操作
- android的sqlite数据库操作
- 【android】SQLite数据库的创建和操作、SQLite数据库可视化
- android sqlite数据库操作
- Android数据库操作--------SQLite
- android数据库SQLite操作
- android 数据库 sqlite 操作
- android SQLite数据库操作
- Android SQLite数据库操作
- Android SQLite数据库操作
- Android sqlite 数据库操作
- Android操作Sqlite数据库
- Android sqlite 数据库操作
- android操作sqlite数据库
- android sqlite 数据库操作
- Android-操作SQLite数据库
- android操作SQLite数据库
- 有n(0<n<=50,且n为整数)个人围成一圈,顺序排号(1,2,…,n)。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
- 输入一串元素均不相等的自然数数列(以0结尾表示结束且0不是该数列的元素),分别求出所有的递增和递减子序列的总数目。如数列7,2,6,9,3,8,5,2,1可分为(7,2),(2,6,9),(9,8,3
- 读入一个字符串(长度不大于100,不包括换行符’\n’),删去字符串中相同的排在后面的字符并输出。
- NSGA 2 学习笔记 -- crowding distance
- 编写一个程序,输入一串不超过60个字符组成的且不包含换行符的字符串,将字符串中的A到Z的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度相同,并且要求只对A到Z的字母重新排列,其
- android Sqlite数据库的操作
- 给定n个整数,编程求它们中所有奇数的乘积。
- 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数(2,4,6,8,10,…),现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值
- 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?请编程实现。
- 寒假的时候,小明同学要去拜访很多朋友,恰巧他所有朋友的家都处在坐标平面的X轴上。小明可以任意选择一个朋友的家开始访问,但是每次访问后他都必须回到出发点,然后才能去访问下一个朋友。
- 一条单链表可以表示一个一元多项式,每个节点包含三个域:指数、系数和后继节点(指针或引用)。
- VC中C++的输入输出I/O 流函数
- Box2d源码学习<十二>b2Collision之碰撞(上)公共部分的实现
- 循序渐进学unix——上机记录(四)