哈喽大家好!如果你感觉SQLiteOpenHelper不懂的可以看一下。
onCreate(SQLiteDatabase db) : 当数据库被首次创建时执行该方法,一般将创建表等初始化操作在该方法中执行。
直接上代码:
新建一个QqlText类
package com.example.sjk; import android.content.Context; import android.database.sqlite.SQLiteCursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; public class SqlText extends SQLiteOpenHelper{ private static final String DB_NAME = "mydata.db"; //数据库名称 private static final int version =1; // 数据库版本
//调用父类构造器 public SqlText(Context context) { super(context, DB_NAME, null, version); //context 注意一下 } @Override public void onCreate(SQLiteDatabase db) { //新安装的软件从这里开始 String sql_message = "create table t_message (id int primary key,name varchar(50),age varchar(50))"; db.execSQL(sql_message); Log.i("hi", "创建表成功"); String sql_up1 = "insert into t_message values(1,'小白','18')"; db.execSQL(sql_up1); Log.i("hi", "版本1.0插入数据成功了"); } @Override //在原来的软件上更新会从这里开始,不卸载在线更新 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
public void onCreate(SQLiteDatabase db) //本人理解为:新安装的软件从这里开始 ,其他的都不关事;
这个时候我们的数据库已经创建好了,并且建立表,插入了数据
选择导出:
数据库有数据了,小白乱码了;但还是插入了数据。
//增加点查询功能 MainActivity.java
package com.example.sjk;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
private SqlText st; //得到SqlText这个类的context
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.TextView);//找到这个TextView组件
st = new SqlText(MainActivity.this);
String text = query();//调用查询这个方法
tv.setText("id \t"+"name\t"+"age\n"+text);//显示
}
public String query(){//查询数据库的数据
String result = "";
//获取数据库对象
SQLiteDatabase db = st.getReadableDatabase();//只读:ReadableDatabase;读写:WritableDatabase
//查询数据库中的数据
Cursor cursor = db.query("t_message", null, null, null, null, null, null);
//结果集
for(int i=0;i<cursor.getCount();i++) {
cursor.moveToNext();
result += cursor.getInt(cursor.getColumnIndex("id"));
result += cursor.getString(cursor.getColumnIndex("name"));
result += cursor.getString(cursor.getColumnIndex("age"));
}
cursor.close();//关闭结果集
db.close();//关闭数据库对象
return result;
}
}
结果: