您的位置:首页 > 数据库

安卓开发培训(3.3 SQLite的使用方法)

2016-04-20 14:25 288 查看
在开发中常常需要将一些内容本地保存,比如获取的新闻列表等,这类数据不方便使用键值对存取,更不适合使用文件存取,最方便的办法是使用SQLlite,SQLite是一套轻量化的数据库,可以使用大部分的SQL语句进行查询。

在使用SQLlite时,可以首先创建一个工具类MySQLiteHelper,代码如下:

public class MySQLiteHelper extends SQLiteOpenHelper {

private Context mContext;
public MySQLiteHelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
mContext = context;
}

@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String create = "";
db.execSQL("create table news (id integer primary key autoincrement, title text, info text)");
Log.e("panda","created");
}

@Override
public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS news");
Log.e("panda","这个东西要被更新了");
this.onCreate(db);
}

}当新的数据库被创建时,会执行onCreate方法,而当之后在执行时就仅仅获取数据库对象,因此,如果想要在后期对数据库进行修改,就需要使用onUpgrade方法中的内容了。然后在ACTIVITY中执行数据库的操作。
public class MainActivity extends Activity{

Button btn1,btn2,btn3,btn4,btn5;
private MySQLiteHelper dbHelper;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

btn1 = (Button)findViewById(R.id.button1);
btn2 = (Button)findViewById(R.id.button2);
btn3 = (Button)findViewById(R.id.button3);
btn4 = (Button)findViewById(R.id.button4);
btn5 = (Button)findViewById(R.id.button5);

dbHelper = new MySQLiteHelper(this, "news.db", null, 2);

btn1.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
dbHelper.getWritableDatabase();
}

});

btn2.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("title", "这个是文章标题");
values.put("info", "这个是文章内容");
db.insert("news", null, values);
Log.e("cat", "插入了一条数据");
}

});

btn3.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM news", null);
if(cursor.moveToFirst()){
do{
int id = cursor.getInt(cursor.getColumnIndex("id"));
String title = cursor.getString(cursor.getColumnIndex("title"));
String info = cursor.getString(cursor.getColumnIndex("info"));
Log.e("cat", id + "||" + title + "||" + "" + info);
}while(cursor.moveToNext());
}
}

});

btn4.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("title", "123456");
db.update("news", values, "title = ?", new String[]{"这个是文章标题"});
}

});

btn5.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.delete("news", "title = ?", new String[]{"123456"});
}

});
}

}

不难看出,在activity中一共有5个按钮,分别对应着1-5五个button。



应该都比较容易看懂就不解释了,除此之外,数据的更新和删除等都是可以直接通过SQL语句进行操作的,像这个样子:

Cursor cursor = db.rawQuery("SELECT * FROM news", null);

代码在这里下载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android android开发