2019独角兽企业重金招聘Python工程师标准>>>

在Android开发中也有数据库的存在,最近有空,把以前写的一个便签来讲述一下Android中的数据库,跟大家分享分享的,希望对大家有所帮助。

SQLite简介

SQLite,是一款轻量级的关系型数据库。由于它占用的资源非常少,所以在很多嵌入式设备都是用SQLite来存储数据。

SQLite数据库操作和常用的数据库操作差不多;如:MySQL......; 增删改查等语句操作基本相同; 今天给大家Android SQLite语句相关操作的两种方式

首先来看一下我的便签的效果图:(图中操作顺序:查询,添加,修改,删除)

1:创建数据库和表,创建一个类;如下:

public class HelperSQLite extends SQLiteOpenHelper{private SQLiteDatabase sqLiteDatabase;/**** 创建数据库* @param context*/public HelperSQLite(Context context){super(context, UtilDB.DATABASE_NAME, null, UtilDB.DATABASE_VERION);sqLiteDatabase=this.getWritableDatabase();}/**** 创建表* @param db*/@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(UtilDB.showCreateSql());}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {//用于更新}
}

2:介绍添加数据的两种方法

     //方式1  SQL语句的方式String stu_sql="insert into "+UtilDB.DATABASE_TABLE+"("+UtilDB.USER_CONTENT+","+UtilDB.USER_YEAR+","+UtilDB.USER_TIME+") values('"+userContent+"','"+userYear+"','"+userTime+"')";sqLiteDatabase.execSQL(stu_sql);//方式2ContentValues contentValues=new ContentValues();contentValues.put(UtilDB.USER_CONTENT,userContent);contentValues.put(UtilDB.USER_YEAR,userYear);contentValues.put(UtilDB.USER_TIME,userTime);return sqLiteDatabase.insert(UtilDB.DATABASE_TABLE,null,contentValues)>0;//成功返回true

3:删除的两种方式

 String sql = "delete from "+UtilDB.DATABASE_TABLE+" where "+UtilDB.USER_ID+" = "+id;sqLiteDatabase.execSQL(sql);String sql=UtilDB.USER_ID+"=?";String[] contentValuesArray=new String[]{String.valueOf(id)};return sqLiteDatabase.delete(UtilDB.DATABASE_TABLE,sql,contentValuesArray)>0;//成功返回true

4:修改的两种方式

/方式1 String sql = "update "+UtilDB.DATABASE_TABLE+" set "+UtilDB.USER_CONTENT+" = '"+content+"',"+UtilDB.USER_YEAR+" = '"+userYear+"',"+UtilDB.USER_TIME+"='"+userTime+"' where "+UtilDB.USER_ID+" = "+id;sqLiteDatabase.execSQL(sql);//方式2ContentValues contentValues=new ContentValues();contentValues.put(UtilDB.USER_CONTENT,content);contentValues.put(UtilDB.USER_YEAR,userYear);contentValues.put(UtilDB.USER_TIME,userTime);String sql=UtilDB.USER_ID+"=?";String[] strings=new String[]{id};return sqLiteDatabase.update(UtilDB.DATABASE_TABLE,contentValues,sql,strings)>0;  //成功返回true

5:查询数据  便签中  使用的是降序排列的

  Cursor cursor=sqLiteDatabase.query(UtilDB.DATABASE_TABLE,null,null,null,null,null,UtilDB.USER_ID+" desc");//条件查询降序排序   

方式1

List<UserInfo> list=new ArrayList<UserInfo>();Cursor cursor=sqLiteDatabase.query(UtilDB.DATABASE_TABLE,null,null,null,null,null,UtilDB.USER_ID+" desc");if (cursor!=null){while (cursor.moveToNext()){UserInfo userInfo=new UserInfo();userInfo.setId(String.valueOf(cursor.getInt(cursor.getColumnIndex(UtilDB.USER_ID))));userInfo.setUserContent(cursor.getString(cursor.getColumnIndex(UtilDB.USER_CONTENT)));userInfo.setUserYear(cursor.getString(cursor.getColumnIndex(UtilDB.USER_YEAR)));userInfo.setUserTime(cursor.getString(cursor.getColumnIndex(UtilDB.USER_TIME)));list.add(userInfo);}}

方式2:通过游标得到数据

List<UserInfo> list=new ArrayList<UserInfo>();Cursor cursor=sqLiteDatabase.query(UtilDB.DATABASE_TABLE,null,null,null,null,null,UtilDB.USER_ID+" desc");if (cursor!=null){while (cursor.moveToNext()){//通过游标得到数据UserInfo userInfo=new UserInfo();userInfo.setId(String.valueOf(cursor.getInt(0)));userInfo.setUserContent(cursor.getString(1));userInfo.setUserYear(cursor.getString(2));userInfo.setUserTime(cursor.getString(3));list.add(userInfo);}}

由于代码太多,就不一一贴出来了,直接下载即可,  源码点击下载

不足之处请留言指正!有问题的可以给我留言!谢谢!

转载于:https://my.oschina.net/zhangqie/blog/1489303

Android我的便签-----SQLite的使用方法相关推荐

  1. android studio便签需求介绍,Android我的便签-----SQLite的使用方法

    在Android开发中也有数据库的存在,最近有空,把以前写的一个便签来讲述一下Android中的数据库,跟大家分享分享的,希望对大家有所帮助. SQLite简介 SQLite,是一款轻量级的关系型数据 ...

  2. Android 开发资料便签

    Android 开发资料便签 标签:Android 本文Github链接地址 本文CSDN链接地址 本文MD版本阅读链接地址 平台 控制   [阿里] [百度] [友盟] [微信] [腾讯] [微博] ...

  3. Android 开发资料便签 1

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qingfeng812/article/details/72519270 Android 开发资料便签 ...

  4. android开发实例便签,Android便签应用

    [实例简介] 一个简单实用的基于Android的便签小应用,界面美观,功能实用,几乎可以媲美商业小应用了,欢迎朋友下载体验或使用,有什么建议和批评,欢迎留言,谢谢合作! [实例截图] [核心代码] 便 ...

  5. 魅族便签 android 8,魅族便签是Flyme系统自带吗 其他安卓机同样适用

    手机中便签应用一直以来是标配,自锤子便签的推出吸引了众多机友粉丝,昨日伴随着魅族pro6的发布魅族便签app也正式推出,魅族便签是Flyme系统自带吗?不用担心,其他安卓机同样适用. 魅族便签是Fly ...

  6. 便签图片存储Android,安卓手机便签以图片形式分享是怎么实现的?

    原标题:安卓手机便签以图片形式分享是怎么实现的? 有不少网友表示自己都是比较喜欢在手机便签中记录一些生活灵感.随笔感想之类的,有的人还会把遇到的一些好句.好文章记录到便签中.不过当有的网友想要把某条便 ...

  7. 手机便签怎么导出到另一个手机 便签内容一键传输方法

    智能手机一般2-3年一换,换手机的时候,便签导出是个麻烦事.手机便签怎么导出到另一个手机呢?如果换手机换的是同品牌手机,用的也是手机自带的便签,可以把便签内容备份到云服务,然后在新手机上登录云账号,就 ...

  8. 日历怎么设置倒计时天数?手机便签显示倒数日方法

    大家在计算日期的时候,一般会使用手机日历这个工具,但是手机自带的日历中的功能大多是比较基础单一的,所有并不能够满足大家的使用需求.例如有的人想要在安卓手机日历上设置显示距离某一天的倒计时,但是不知道日 ...

  9. 便签待办功能使用方法 高手教你快捷使用待办功能

    职场工作人士每天都有自己的待办安排,有时待办多,有时待办少,那么在待办安排多的情况中,怎么将每个待办按时完成,想要将待办工作做的好又快,需要用到待办软件工具,帮助自己合理的安排时间,高效率办公,有很多 ...

最新文章

  1. 个人网站搭建---godaddy域名+freewebhostingarea免费空间
  2. 设计模式之策略模式学习笔记
  3. 算法学习:后缀数组 height的求取
  4. Windows下使用xShell向远程Linux上传文件
  5. Windows 2008-IIS 7.0-SSL操作大全
  6. 关于获取各种浏览器可见窗口大小(转载)
  7. Spring MVC HttpMessageConverter对象
  8. 基础概念总结(spring security、Quartz、JUnit测试)
  9. [转]Hamcrest使用方法实例
  10. 区块链浏览器_欧科云链OKLink区块链浏览器,如何挖掘数据背后的价值?
  11. 阿诗玛的传说|阿诗玛民间故事
  12. 1、.Net Core 基础
  13. 荣耀赵明:电视开关机广告不符合商业逻辑 用户需享受收益分成
  14. windows 2008 r2 AD密码策略
  15. 下定决心博客搬家(再见csdn,For my oschina!)
  16. 基于java企业人事管理系统mysql
  17. 前端应用 - 汉字笔顺书写演示带拼音及发音
  18. 《基因大数据智能生产及分析》笔记
  19. C3之text属性的补充
  20. 网站死链接检测与完美处理方法

热门文章

  1. Linux-find命令
  2. wordpressPHP实现ajax评论,AJAX_wordpress 为主题添加AJAX提交评论功能的php代码,首先需要在主题的function.php文 - phpStudy...
  3. android 看AP 国家代码,Android WiFi 获取国家码
  4. java 判断int是几位_快速判断一个int值是几位数
  5. TypeScript学习笔记2:数据类型
  6. 火电厂给水控制系统设计
  7. 2021-03-15 数据挖掘算法—K-Means算法 Python版本
  8. 计算机的优势和劣势_100亿倍,中国量子计算机完胜美国,向中方科学家致敬
  9. 主机关机后第二天就无法开机_手机关机后“开机”,跟直接“重启”有区别吗?看完又涨知识了...
  10. 数据结构实验之链表五:单链表的拆分