Android 数据存储与读取:SQLite

    xiaoxiao2021-12-13  18

    http://blog.csdn.net/mimitracely/article/details/7982976

    在Android平台上,集成了一个嵌入式关系型数据库—SQLite。如果你想要开发 Android 应用程序,一定需要在 Android 上存储数据,使用SQLite 数据库是一种非常好的选择。

    下面介绍的基本使用:

    是一个抽象类不能直接实例化,所以新建一个类DBOpenHelper继承自SQLiteOpenHelper :

    [java]  view plain  copy  print ? public class DBOpenHelper extends SQLiteOpenHelper {       public DBOpenHelper(Context context) {           super(context, "yhn.db"null1);       }          //数据库第一次创建时候调用,       public void onCreate(SQLiteDatabase db) {           db.execSQL("create table user(uid integer primary key autoincrement, uname varchar(20), uaddress varchar(20))");       }          //数据库文件版本号发生变化时调用       public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {          }  

    如果执行上边的代码,则会创建一个数据库文件xx.db

    数据库操作类:

    [java]  view plain  copy  print ? public class DBDao {       DBOpenHelper dbOpenHelper;              public DBDao(Context context){           this.dbOpenHelper=new DBOpenHelper(context);       }       /**       * 添加一条数据       * @param user       */       public void save(User user){           SQLiteDatabase db=dbOpenHelper.getWritableDatabase();           db.execSQL("insert into user(uname,uaddress) values(?,?)"new Object[]{user.getUname(),user.getUaddress()});           db.close();       }       /**       * 删除一条数据       * @param uid       */       public void delete(Integer uid){           SQLiteDatabase db=dbOpenHelper.getWritableDatabase();           db.execSQL("delete from user where uid=?"new Object[]{uid});           db.close();       }       /**       * 更新一条数据       * @param user       */       public void update(User user){           SQLiteDatabase db=dbOpenHelper.getWritableDatabase();           db.execSQL("update user set uname=?,uaddress=? where uid=?"new Object[]{user.getUname(),user.getUaddress(),user.getUid()});           db.close();       }       /**       * 查找一条数据       * @param uid       */       public User find(Integer uid){           SQLiteDatabase db=dbOpenHelper.getReadableDatabase();           Cursor cursor =db.rawQuery("select * from user where uid=?"new String[]{uid.toString()});           if(cursor.moveToFirst()){               int uid2=cursor.getInt(cursor.getColumnIndex("uid"));               String uname=cursor.getString(cursor.getColumnIndex("uname"));               String uaddress=cursor.getString(cursor.getColumnIndex("uaddress"));               User user=new User();               user.setUid(uid2);               user.setUname(uname);               user.setUaddress(uaddress);               return user;           }           cursor.close();           return null;       }       /**       * 分页查找数据       * @param offset 跳过多少条数据       * @param maxResult 每页多少条数据       * @return        */       public List<User> getScrollData(int offset, int maxResult){           List<User>users=new ArrayList<User>();           SQLiteDatabase db=dbOpenHelper.getReadableDatabase();           Cursor cursor =db.rawQuery("select * from user order by uid asc limit ?,?"new String[]{String.valueOf(offset), String.valueOf(maxResult)});           while(cursor.moveToNext()){               int uid2=cursor.getInt(cursor.getColumnIndex("uid"));               String uname=cursor.getString(cursor.getColumnIndex("uname"));               String uaddress=cursor.getString(cursor.getColumnIndex("uaddress"));               User user=new User();               user.setUid(uid2);               user.setUname(uname);               user.setUaddress(uaddress);               users.add(user);           }           return users;       }       /**       * 获取数据总数       * @return       */       public long getCount(){           SQLiteDatabase db=dbOpenHelper.getReadableDatabase();           Cursor cursor =db.rawQuery("select count(*) from user"null);           cursor.moveToFirst();           long reslut=cursor.getLong(0);           return reslut;       }   }   示例:向数据库中添加一条数据

    [java]  view plain  copy  print ? DBDao dbDao=new DBDao(this);           User user=new User();           user.setUname("qixiaohu");           user.setUaddress("chengdu");           dbDao.save(user);  

    PC上管理SQLite数据库的方法:

    上边添加数据后可以看到数据添加成功:

    顶 8 踩 1     上一篇Android 解析 json 下一篇Android 漂浮的Activity

    参考知识库

    转载请注明原文地址: https://ju.6miu.com/read-950241.html

    最新回复(0)