新浪微博 登陆  注册   设为首页 加入收藏

学PHP >> Android开发应用 >> android 中关于SQLite的简单操作示例

android 中关于SQLite的简单操作示例

查看次数2524 发表时间2013-06-06 19:36:34

SQLiteOpenHelper类是一个抽象类,在操作SQLite数据库的时候需要写一个类继承于它,比如:MySqliteOpenHelper下面是我写的一个SQLiteOpenHelper类:public class MySQLiteOpenHelper extends SQLiteOpenHelper {...

SQLiteOpenHelper类是一个抽象类,在操作SQLite数据库的时候需要写一个类继承于它,比如:MySqliteOpenHelper

下面是我写的一个SQLiteOpenHelper类:

public class MySQLiteOpenHelper extends SQLiteOpenHelper {

 public MySQLiteOpenHelper(Context context, String name,
   CursorFactory factory, int version) {
  super(context, name, factory, version);----------------------------(1)需要有构造函数
  // TODO Auto-generated constructor stub
 }

 public MySQLiteOpenHelper(Context context, String name,
   CursorFactory factory, int version,
   DatabaseErrorHandler errorHandler) {
  super(context, name, factory, version, errorHandler);
  // TODO Auto-generated constructor stub
 }

 @Override
 public void onCreate(SQLiteDatabase arg0) {
  // TODO Auto-generated method stub
  arg0.execSQL("create table user(id int,name varchar(20));");-------------------------------(2)创建表结构
  //arg0.close();------------------------(3)这个地方不要多此一举,不然会报错

 }

 @Override
 public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
  // TODO Auto-generated method stub

 }

}

//然后简单的向user表中插入一些数据:

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sqlite_demo);
        //创建MySQLiteOpenHelper类
        mydbHelper = new MySQLiteOpenHelper(SQLiteDemoActivity.this,"myUserDb",null,1);
        //通过创建的MySQLiteOpenHelper类,获得SQLiteDatabase
        SQLiteDatabase db = mydbHelper.getWritableDatabase();
        //实例化待插入数据的内容
        cvs = new ContentValues();//------------------创建一个数据内容类
        cvs.put("id",1);
        try {
            cvs.put("name", new String("你好").getBytes("gb2312")); -------------------存储中文需转下格式
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       db.insert("user",null,cvs);
       Toast.makeText(SQLiteDemoActivity.this, "数据插入完毕", Toast.LENGTH_LONG).show();
       db.close();
  }

//值得注意的是:ContentValues实例类在一次数据库插入过程中只能put数据库表中一行记录

在dos中我们使用adb shell命令进入,找到创建的myUserDb数据库,进入数据库这个时候的命令变成了sqlite3 myUserDb

然后select * from user-------------------------查看数据是否插入。

 

 

 

 

 


(转发请注明转自:学PHP)    


  相关推荐




  发表评论
昵称:
(不超过20个字符或10个汉字)
内容: