Android开发SQLite的数据在哪里怎么存储
我用SQLite做数据库,在主活动里new DataBaseHelper()。
已经写了DataBaseHelper(继承自SQLiteOpenHelper),建了HomeIemData表。
实体类HomeItemData,操作类HomeDataOperator(写有添加、查询等函数)
现在我的问题是不知道在哪里调用添加函数进行数据存储。网上查的都是在测试类里。
有人给我说写一个类处理并组装参数(需要保存的数据)并调用保存函数,
在业务逻辑需要保存数据时调用此方法去存储。
但还是不知道具体是什么类,怎么组装啊,如果是本地的数据是怎么存储。
有没有实例的链接或者讲一下方法。谢谢了!
以下为相关代码,有问题也可以指出啊,谢谢了!
已经写了DataBaseHelper(继承自SQLiteOpenHelper),建了HomeIemData表。
实体类HomeItemData,操作类HomeDataOperator(写有添加、查询等函数)
现在我的问题是不知道在哪里调用添加函数进行数据存储。网上查的都是在测试类里。
有人给我说写一个类处理并组装参数(需要保存的数据)并调用保存函数,
在业务逻辑需要保存数据时调用此方法去存储。
但还是不知道具体是什么类,怎么组装啊,如果是本地的数据是怎么存储。
有没有实例的链接或者讲一下方法。谢谢了!
以下为相关代码,有问题也可以指出啊,谢谢了!
public class DataBaseHelper extends SQLiteOpenHelper {
//DataBaseHelper继承自SQLiteOpenHelper。
private Context mContext;
/*
DataBaseHelper中:
(Context 对数据库进行操作,
数据库名字 创建数据库时使用这个名称,
一般null 在查询数据时返回一个自定义的Cursor,
当前数据库版本号,用于对数据库进行升级操作)
*/
public DataBaseHelper(Context context,String name,SQLiteDatabase.CursorFactory factory,int version){
super(context,name,factory,version);
mContext=context;
}
@Override
public void onCreate(SQLiteDatabase db){
db.execSQL("CREATE TABLE HomeIemData (" +
"home_ID integer primary key autoincrement," +
"hometitle text unique," +
"homecontent text unique," +
"homedata text unique);");
//db.execSQL(CREATE_HOMEITEMDATA);//建表,而非数据库。
Toast.makeText(mContext,"Create HomeItemData succeeded",Toast.LENGTH_SHORT).show();
Log.d("TAG", "***********************已经创建好HomeItemData表********************** ");
System.out.println("***********************已经创建好HomeItemData表********************** ");
}
@Override
public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){
switch (oldVersion){
case 1:
db.execSQL("drop table if exists HomeItemData ");
onCreate(db);
default:
}
}
}
public class HomeItemData {
//HomeItemData 实体类
public static final String TABLE="HomeItemData";
private int home_ID;
private String hometitle;
private String homecontent;
private String homedata;
public int getHome_ID() {
return home_ID;
}
public void setHome_ID(int home_ID) {
this.home_ID = home_ID;
}
public String getHometitle() {
return hometitle;
}
public void setHometitle(String hometitle) {
this.hometitle = hometitle;
}
public String getHomecontent() {
return homecontent;
}
public void setHomecontent(String homecontent) {
this.homecontent = homecontent;
}
public String getHomedata() {
return homedata;
}
public void setHomedata(String homedata) {
this.homedata = homedata;
}
}
public class HomeDataOperator {
// HomeDataOperator 操作类。
private DataBaseHelper dbHelper;
//private SQLiteDatabase db;
public HomeDataOperator(Context context){
dbHelper =new DataBaseHelper(context,"HomeItemData.db",null,1);
}
public void Insert(HomeItemData homeItemData){
SQLiteDatabase db=dbHelper.getWritableDatabase();
//准备数据。
ContentValues values=new ContentValues();
values.put("hometitle",homeItemData.getHometitle());
values.put("homecontent",homeItemData.getHomecontent());
values.put("homedata",homeItemData.getHomedata());
//通过ContentValues中的数据拼接SQL语句,执行插入操作,id为表中的一个列名。
db.insert("HomeItemData","home_ID",values);
db.close();
}
public void delete(int home_ID){
SQLiteDatabase db=dbHelper.getWritableDatabase();
//执行删除操作,在person表中删除id为指定值的记录。
db.delete("HomeItemData","home_ID=?",new String[]{String.valueOf(home_ID)});
db.close();
}
public void update(HomeItemData homeItemData){
SQLiteDatabase db=dbHelper.getWritableDatabase();
//要更新的数据。
ContentValues values=new ContentValues();
values.put("hometitle",homeItemData.getHometitle());
values.put("Homecontent",homeItemData.getHomecontent());
values.put("Homedata",homeItemData.getHomedata());
//更新person表中id为指定值的记录。
db.update("HomeItemData",values,"Home_ID=?",new String[]{String.valueOf(homeItemData.getHome_ID())});
db.close();
}
public HomeItemData query(int Home_ID){
SQLiteDatabase db=dbHelper.getWritableDatabase();
//用游标Cursor接收从数据库检索到的数据。
Cursor cursor=db.query(false,"HomeItemData",new String[]{"hometitle","Homecontent","Homedata"},
"Home_ID=?",
new String[]{String.valueOf(Home_ID)},null,null,null,null);
//判断游标是否为空。
HomeItemData homeItemData=null;
//判断Cursor是否有下一条记录。
//依次取出数据。
if (cursor.moveToFirst()){
homeItemData =new HomeItemData();
homeItemData.setHome_ID(cursor.getInt(cursor.getColumnIndex("home_ID")));
homeItemData.setHometitle(cursor.getString(cursor.getColumnIndex("hometitle")));
homeItemData.setHomecontent(cursor.getString(cursor.getColumnIndex("homecontent")));
homeItemData.setHomedata(cursor.getString(cursor.getColumnIndex("homedata")));
}
//释放资源。
cursor.close();
db.close();
return homeItemData;
}
public List<HomeItemData> findAll(){
//查询所有记录。
List<HomeItemData> lists=new ArrayList<HomeItemData>();
HomeItemData homeItemData=null;
SQLiteDatabase db=dbHelper.getWritableDatabase();
//rawQuery()方法的第一个参数为select语句;第二个参数为select语句中占位符参数的值。
Cursor cursor=db.rawQuery("select * from HomeItemData",null);
while (cursor.moveToNext()){
homeItemData=new HomeItemData();
homeItemData.setHome_ID(cursor.getInt(cursor.getColumnIndex("home_ID")));
homeItemData.setHometitle(cursor.getString(cursor.getColumnIndex("hometitle")));
homeItemData.setHomecontent(cursor.getString(cursor.getColumnIndex("homecontent")));
homeItemData.setHomedata(cursor.getString(cursor.getColumnIndex("homedata")));
lists.add(homeItemData);
}
db.close();
return lists;
}
}
//主活动oncreate里:
dataBaseHelper =new DataBaseHelper(this,"HomeData.db",null,1);
db=dataBaseHelper.getWritableDatabase();
...全文
相关推荐
Android开发之使用SQLite存储数据的方法分析
主要介绍了Android开发之使用SQLite存储数据的方法,结合实例形式分析了Android使用SQLite数据库实现针对数据的增删改查操作相关技巧,需要的朋友可以参考下
Android开发基础
本文详细介绍了Android开发的基础知识,包括安卓体系结构、Java与Dalvik虚拟机的区别、AndroidManifest.xml的作用,以及UI开发、Activity生命周期、数据存储方式、SQLite数据库、BroadcastReceiver、Service等内容,涵盖了Android开发的重要概念和技术要点。
Fragment实例,数据存储,数据库SQLite
这篇博客探讨了Android开发中的Fragment用法,如何创建一个可以滑动切换的界面。接着介绍了Android中的数据存储方式,包括SQLite数据库,强调了内部存储和外部存储的读写权限设置。进一步深入讲解了SQLite数据库的使用,需要继承SQLiteOpenHelper来操作数据库,并展示了如何在活动中进行数据库的增删改查操作。
解释在Android中如何实现本地存储,包括SQLite数据库和SharedPreferences。
本文深入探讨了Android开发中两种常见的本地存储方式:SQLite数据库和SharedPreferences。解析了它们的技术难点,如数据建模、性能优化、数据类型限制及安全性,并提供了实际代码示例。
xamarin学习笔记A09(安卓数据简单存储)
xamarin学习笔记A09(安卓数据简单存储)


Eclipse
