`
djun100
  • 浏览: 165768 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Android 数据存储与读取:SQLite

 
阅读更多

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

下面介绍的基本使用:

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

  1. publicclassDBOpenHelperextendsSQLiteOpenHelper{
  2. publicDBOpenHelper(Contextcontext){
  3. super(context,"yhn.db",null,1);
  4. }
  5. //数据库第一次创建时候调用,
  6. publicvoidonCreate(SQLiteDatabasedb){
  7. db.execSQL("createtableuser(uidintegerprimarykeyautoincrement,unamevarchar(20),uaddressvarchar(20))");
  8. }
  9. //数据库文件版本号发生变化时调用
  10. publicvoidonUpgrade(SQLiteDatabasearg0,intarg1,intarg2){
  11. }

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



数据库操作类:

  1. publicclassDBDao{
  2. DBOpenHelperdbOpenHelper;
  3. publicDBDao(Contextcontext){
  4. this.dbOpenHelper=newDBOpenHelper(context);
  5. }
  6. /**
  7. *添加一条数据
  8. *@paramuser
  9. */
  10. publicvoidsave(Useruser){
  11. SQLiteDatabasedb=dbOpenHelper.getWritableDatabase();
  12. db.execSQL("insertintouser(uname,uaddress)values(?,?)",newObject[]{user.getUname(),user.getUaddress()});
  13. db.close();
  14. }
  15. /**
  16. *删除一条数据
  17. *@paramuid
  18. */
  19. publicvoiddelete(Integeruid){
  20. SQLiteDatabasedb=dbOpenHelper.getWritableDatabase();
  21. db.execSQL("deletefromuserwhereuid=?",newObject[]{uid});
  22. db.close();
  23. }
  24. /**
  25. *更新一条数据
  26. *@paramuser
  27. */
  28. publicvoidupdate(Useruser){
  29. SQLiteDatabasedb=dbOpenHelper.getWritableDatabase();
  30. db.execSQL("updateusersetuname=?,uaddress=?whereuid=?",newObject[]{user.getUname(),user.getUaddress(),user.getUid()});
  31. db.close();
  32. }
  33. /**
  34. *查找一条数据
  35. *@paramuid
  36. */
  37. publicUserfind(Integeruid){
  38. SQLiteDatabasedb=dbOpenHelper.getReadableDatabase();
  39. Cursorcursor=db.rawQuery("select*fromuserwhereuid=?",newString[]{uid.toString()});
  40. if(cursor.moveToFirst()){
  41. intuid2=cursor.getInt(cursor.getColumnIndex("uid"));
  42. Stringuname=cursor.getString(cursor.getColumnIndex("uname"));
  43. Stringuaddress=cursor.getString(cursor.getColumnIndex("uaddress"));
  44. Useruser=newUser();
  45. user.setUid(uid2);
  46. user.setUname(uname);
  47. user.setUaddress(uaddress);
  48. returnuser;
  49. }
  50. cursor.close();
  51. returnnull;
  52. }
  53. /**
  54. *分页查找数据
  55. *@paramoffset跳过多少条数据
  56. *@parammaxResult每页多少条数据
  57. *@return
  58. */
  59. publicList<User>getScrollData(intoffset,intmaxResult){
  60. List<User>users=newArrayList<User>();
  61. SQLiteDatabasedb=dbOpenHelper.getReadableDatabase();
  62. Cursorcursor=db.rawQuery("select*fromuserorderbyuidasclimit?,?",newString[]{String.valueOf(offset),String.valueOf(maxResult)});
  63. while(cursor.moveToNext()){
  64. intuid2=cursor.getInt(cursor.getColumnIndex("uid"));
  65. Stringuname=cursor.getString(cursor.getColumnIndex("uname"));
  66. Stringuaddress=cursor.getString(cursor.getColumnIndex("uaddress"));
  67. Useruser=newUser();
  68. user.setUid(uid2);
  69. user.setUname(uname);
  70. user.setUaddress(uaddress);
  71. users.add(user);
  72. }
  73. returnusers;
  74. }
  75. /**
  76. *获取数据总数
  77. *@return
  78. */
  79. publiclonggetCount(){
  80. SQLiteDatabasedb=dbOpenHelper.getReadableDatabase();
  81. Cursorcursor=db.rawQuery("selectcount(*)fromuser",null);
  82. cursor.moveToFirst();
  83. longreslut=cursor.getLong(0);
  84. returnreslut;
  85. }
  86. }

示例:向数据库中添加一条数据

  1. DBDaodbDao=newDBDao(this);
  2. Useruser=newUser();
  3. user.setUname("qixiaohu");
  4. user.setUaddress("chengdu");
  5. dbDao.save(user);

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


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

分享到:
评论

相关推荐

    数据存储与读取

    Android 数据存储与读取,操作Sqlite数据库

    Android Studio如何获取SQLite数据并显示到ListView上

    我们在使用ListView的时候需要和数据进行绑定,那么问题来了,如何获取SQLite数据库中的数据并动态的显示到ListView当中呢?其实过程很简单:首先要获取SQLite数据(当然首先你要创建一个SQLite数据库并填写了一些...

    实验10-Android数据存储和IO.doc

    实验报告封面 课程名称: Android平台开发与应用 课程代码: SM3004 任课老师: 梁郁君 实验指导老师: 梁郁君 实验报告名称:实验10 Android数据存储与IO 学生姓名: 学号: 教学班: 递交日期: 签收人: 我申明,...

    Android SQLite--小巧好用的SQLite GUI管理工具

    它可以读取sqlite3文件并执行SQL。图形用户界面使得它很容易分析和操纵sqlite3的数据库。 注意:SQLiteSpy是免费供个人和教育用途,SQLiteSpy主要特点: 1、数据库一览:树状显示所有的架构,包括表,列,索引和...

    第8章 移动信息仓库—Android的数据存储操作.pdf

    典型的桌面操作系统提供一种公共文件系统——任何应用软件可以...在Android中,可供选择的存储方式有SharedPreferences、文件存储、SQLite数据库方式、内容提供器(content provider)和网络,我们将在本章详细介绍。

    Android SQLite基本操作_文件数据读写_SharePerference存储

    实现文件读写,可以将数据库内容存储到文件中,并且可以通过读取文件中的数据条目进行添加 文本编辑框自动记录程序最后输入的内容,下次启动依然保留 注意:在删除数据库后不能进行除显示外其他操作。

    Android开发实验---通讯录.docx

    实验项目名称 通讯录 实验目的与要求: 目的:练习掌握 Android 软件开发基本编程技术、Android 系统 SQLite 数据库的使用、通话、短信的使用等,设计制作一 Android 通讯录软件。 要求: (1)每位同学独立设计...

    Android学习之文件存储读取

    相信大家都知道知道,在AndroidOS中,提供了五中数据存储方式,分别是:ContentProvider存储、文件存储、SharedPreference存储、SQLite数据库存储、网络存储。那么这一篇,我们介绍文件存储。 1.Android文件的操作...

    Android Studio DuDuMusic实例及源码 音乐播放器实现SQLite用户注册登录 管理员服务器数据交互

    3.实现了管理员登录,使用的是与Tomcat服务器进行数据交互验证信息的正确性,我使用的是myeclipse进行布置的服务器信息,此时使用的是SQLserver 2008 数据库存储的管理员的信息,读取完以后然后返回到管理界面 ...

    mooc_android_lesson21_sqlite通讯录

    根据本讲学习内容,学会运用Sqlite进行数据存储、读取、修改、删除等操作。 (1)创建一个通讯录。 (2) 提交的作业包中含有应用程序运行效果截图

    android开发入门与实战(下)

    第8章 移动信息仓库——Android的数据存储操作 8.1 Android数据存储概述 8.2 轻轻地我保护——SharedPreferences存储 8.3 谁的文件,谁主宰——文件存储 8.4 打造自己的数据库存储——SQLite存储方式 8.4.1 Android...

    数据存储和购物车设计

    storage工程演示了Android常用的几种数据存储方式,包括:共享参数SharedPreferences的键值对存取、数据库SQLite的关系型数据存取、SD卡的文件写入与读取操作(含文本文件读写和图片文件读写)、App全局内存的读写、...

    android开发入门与实战(上)

    第8章 移动信息仓库——Android的数据存储操作 8.1 Android数据存储概述 8.2 轻轻地我保护——SharedPreferences存储 8.3 谁的文件,谁主宰——文件存储 8.4 打造自己的数据库存储——SQLite存储方式 8.4.1 Android...

    安卓手机传感器数据.zip

    不仅仅是一个简单的计步器源码,还是个手机传感器数据采集工具,加速度、重力和陀螺仪数据被保存到sqlite数据库中,存储在手机的Download目录下,以便后续取出来进行数据处理。压缩包包含Android源码(Android ...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 ...• SQLite SQLite SQLite SQLite 用作结构化的数据存储 • 多媒体支持 包括常见的音频、视频和...

    Android应用中使用SharedPreferences类存储数据的方法

    比如sharedpreferences可以将数据保存着应用软件的私有存储区,这些存储区的数据只能被写入这些数据的软件读取.当然Android还支持文件存储、SQLite数据库和Content Provider。在这里我们将对sharedpreferences存储...

    《Google Android开发入门与实战》.pdf

    第8章 移动信息仓库——android的数据存储操作 136 8.1 android数据存储概述 136 8.2 轻轻地我保护——sharedpreferences存储 136 8.3 谁的文件,谁主宰——文件存储 140 8.4 打造自己的数据库存储——...

    Google.Android开发入门与实战

    第8章 移动信息仓库——Android的数据存储操作 8.1 Android数据存储概述 8.2 轻轻地我保护——SharedPreferences存储 8.3 谁的文件,谁主宰——文件存储 8.4 打造自己的数据库存储——SQLite存储方式 8.4.1 Android...

Global site tag (gtag.js) - Google Analytics