安卓内置轻量级数据库sqlite的简单使用

使用安卓专门提供的帮助类SQLiteOpenHelper

新建MyDatabaseHelper继承SQLiteOpenHelper

public class MyDatabaseHelper extends SQLiteOpenHelper {private Context mConText;//这里是我们2需要创建的数据库表//User是表名//public static final String CREATE_USER = "create table User ("//设置一个自增序列ID,作为每个数据唯一的标识(相当于人的身份证号)+ "id integer primary key autoincrement, "+ "username text, "+ "password text)";public MyDatabaseHelper(@Nullable Context context, @Nullable String name, @Nullable   SQLiteDatabase.CursorFactory factory, int version) {super(context, name, factory, version);mConText = context;}@Overridepublic void onCreate(SQLiteDatabase db) {//每添加一张表都要在这里添加一条语句db.execSQL(CREATE_USER);Toast.makeText(mConText, "Create Succeeded", Toast.LENGTH_SHORT).show();}@Overridepublic void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {}
}
public class AddActivity extends AppCompatActivity{private MyDatabaseHelper dbhelper;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_add);//通过构造函数将参数将数据库名指定为UserList.db,版本为1dbhelper = new MyDatabaseHelper(this,"UserList.db",null,1);//进入活动运行到这一步后检测到没有数据库就会创建SQLiteDatabase db = dbhelper.getWritableDatabase();}

新建一个表后,我们希望更新数据库


public class MyDatabaseHelper extends SQLiteOpenHelper {private Context mConText;public static final String CREATE_USER = "create table User ("+ "id integer primary key autoincrement, "+ "username text, "+ "password text)";public static final String CREATE_FuelItem = "create table Content ("+ "id integer primary key autoincrement, "+ "username text, "+ "time text, "+ "unitprice text, "+ "mileline text, "+ "price text)";public MyDatabaseHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {super(context, name, factory, version);mConText = context;}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(CREATE_USER);//添加一个表然后更新数据库db.execSQL(CREATE_FuelItem);onCreate(db);}@Overridepublic void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {}
}

在主活动中修改版本号

dbhelper = new MyDatabaseHelper(this,"UserList.db",null,2);

添加数据

                    SQLiteDatabase db = dbhelper.getWritableDatabase();ContentValues values = new ContentValues();//put(属性名,属性值) put("username","小明");values.put("username",username);values.put("time",time1);values.put("unitprice",unitprice1);values.put("mileline",mileline1);values.put("price",price1);db.insert("Content",null,values);  //将数据插入数据库values.clear();db.close();

更新数据

                 SQLiteDatabase db = dbhelper.getWritableDatabase();ContentValues values = new ContentValues();//put(属性名,为该属性重新赋的值)values.put("time",time1);values.put("unitprice",unitprice1);values.put("mileline",mileline1);values.put("price",price1);//String.valueOf(fuelItem.getID())更新的是ID为fuelItem.getID()的数据,这里改成自己需要更新的某个对象的属性及对应的值就行db.update("Content",values,"ID = ?",new String[{String.valueOf(fuelItem.getID())});

删除数据

        SQLiteDatabase db = dbHelper.getWritableDatabase();
//删除的是Content表中 ID=String.valueOf(id)的条目,id是我们自己获取的 “=”可以改成“>”,“<”进行筛选删除db.delete("Content", "ID = ?" ,new String[]{String.valueOf(id)});db.close();

查询操作

      SQLiteDatabase db = dbHelper.getWritableDatabase();/*Cursor是相当于一个游标,便利表中没个条目,然后获取不同属性,找到与自己查找相符合的属性就将此条提取出来*/Cursor cursor = db.query("Content",null,null,null,null,null,null);if(cursor.moveToFirst()) {do {Integer ID = Integer.valueOf(cursor.getString(cursor.getColumnIndex("id")));String name = cursor.getString(cursor.getColumnIndex("username"));String time = cursor.getString(cursor.getColumnIndex("time"));double unitprice = cursor.getDouble(cursor.getColumnIndex("unitprice"));double mileline = cursor.getDouble(cursor.getColumnIndex("mileline"));double price = cursor.getDouble(cursor.getColumnIndex("price"));if(name.equals(username)){FuelItem fuelItem = new FuelItem();fuelItem.setID(ID);fuelItem.setMileline(mileline);fuelItem.setPrice(price);fuelItem.setUsername(name);fuelItem.setTime(time);fuelItem.setUnitprice(unitprice);itemList.add(fuelItem);}} while (cursor.moveToNext());}cursor.close();db.close();

安卓sqlite的使用相关推荐

  1. android安卓Sqlite数据库实现用户登录注册

    看了很多别人写的安卓SQlite数据的操作代码,一点也不通俗易懂,我觉得我写的不错,而且安卓项目也用上了,所以在博客园里保存分享一下! 建立一个类 并继承SQLiteOpenHelper public ...

  2. 利用安卓SQLite修改QQ运动步数方法分享 简单粗暴

    这个方法简单粗暴,比昨天的安卓用户秒刷QQ运动步数教程+软件下载更简单.亲测百分百成功,根据教程图片的步骤找到文件进行编辑保存即可. 1.自行百度搜索"安卓SQLite汉化版"下载 ...

  3. 安卓SQLite和SQLiteDataBase的应用

    安卓实验安卓SQLite和SQLiteDataBase的应用 1. 先将数据写入两个news对象中,方便一会插入数据库,这里定义了一个SetNews类,里面静态方法是插入两条数据到news对象中并返回 ...

  4. Android Studio 安卓sqlite数据库查询

    注意 查询安卓sqlite数据库时,确定已经创建了数据库,并且配置了adb命令系统环境,同时查询设备需要root权限,这里我用安卓虚拟机APls(自动开放权限)作为演示 步骤 打开虚拟机,输入adb ...

  5. 在eclipse安卓sqlite怎么用_把安卓手机性能发挥到极致之-Aid Learning

    一直以来,由于工作条件限制,单位只能使用XP!!!什么64位操作系统,什么新Python,什么64位Java,统统与我无缘!!! 魂牵梦绕,寻求替代方案,什么Intel NUC,什么树莓派,什么淘宝小 ...

  6. 通过SQLiteStudio实时查询修改安卓SQLite数据库

    序 之前提到了SQLiteStudio 软件长?这样 一个可视化的SQLite数据库管理工具 官网地址:https://sqlitestudio.pl/index.rvt 之前一直是这么使用它的 先访 ...

  7. 英语单词SQL数据库一千词带音标例句发音【安卓SQLite网页MySQL皆可用】

    [一千英语单词加翻译音标例句发音sql文件db文件] 蛋疼,上传完文件发现默认就是5C币一次,居然不是免费的,这里直接放出sql文件好了.供大家免费复制. 包含了一千多个英语单词的sql文件.移动安卓 ...

  8. 安卓 sqlite数据存入mysql_详解Android数据存储—使用SQLite数据库

    SQLite是Android自带的关系型数据库,是一个基于文件的轻量级数据库.Android提供了3种操作数据的方式,SharedPreference(共享首选项).文件存储以及SQLite数据库. ...

  9. 安卓 sqlite数据存入mysql_在Android上简单导出和导入SQLite数据库

    这是一种将数据库导出到名为备份文件夹的文件夹的简单方法,您可以根据需要对其进行命名,以及从同一文件夹导入数据库的简单方法public class ExportImportDB extends Acti ...

  10. 安卓 SQLite error:SQLite database locked exception while compling : PRAGMA journal_mode .....

    项目中频繁的切换Tab键,会频繁地从数据库读取数据,这是报出这样的错误: 解决方法是在国外的某论坛找到的 : 在插入数据的时候,首先: SQLiteDatabase db = SQLiteDataba ...

最新文章

  1. POJ_2104 K-th Number 【主席树】
  2. nginx怎么用_后端服务老是重启,前端该如何拯救自己?nginx的妙用
  3. js(Dom+Bom)第五天(2)
  4. leetcode 977. 有序数组的平方(双指针)
  5. 《软件项目管理(第二版)》第 9 章——项目监督与控制 重点部分总结
  6. 2018网易未来科技峰会召开,科技新浪潮改变商业
  7. Python C API 使用详解(二)
  8. PhpStorm之三种视图模式
  9. C++读取excel表格
  10. GitHub上整理的一些工具
  11. github 本地提交代码到服务器
  12. 磁珠 符号_超实用理解磁珠
  13. ECMAScript 变量
  14. 计算机英语趣味知识,看段子,学英语,懂点计算机知识才能看懂哦!
  15. 软件架构模式 mark Richards - 读后总结 2 事件驱动架构
  16. 鸿蒙系统学习系列 | 上手HarmonyOS十大必看指南!
  17. java 合并到一行_GROUP_CONCAT() 多行数据合并成一行
  18. Prometheus
  19. 异常检测之普通高斯算法和多元高斯算法学习总结
  20. 【自动驾驶模拟器AirSim快速入门 | 01】自动驾驶模拟器AirSim实战演练

热门文章

  1. JAVA基础之单例模式
  2. 少儿编程启蒙课程9:善用变量 拥抱变化
  3. 《疯狂java讲义》学习(19):枚举类
  4. 小电科技CTO“肉山”芦宇峰:互联网过35岁就遭裁员?如何应对职业危机
  5. 邮件传输的过程都看不懂。那我走(狗头)
  6. 用低维向高维“穿梭”的想法来理解高维空间
  7. 29岁华为员工工资曝光,揭露残酷真相:职场下半场,拼的就是这项能力!
  8. 聊一聊如何把SSL证书安装到小鸟云服务器上
  9. 如何将硬盘分区合并不丢失数据,合并两个硬盘分区不删除数据
  10. matlab初值的非线性最小二乘,Matlab与Mathematica在非线性拟合中的应用比较