Android数据存储

简介: <p><!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacin

Android 平台中数据存储有四种形式:

·           文件系统—— 可以把数据放到文件中保存起来,再使用 Java IO 流技术实现对数据的读取。

·           嵌入式数据库 SQLite ——从性能编程的角度考虑,嵌入式数据库是个不错的选择,例如我们的联系人信息就是使用嵌入式数据库。

·           网络——如果我们的数据是海量的,还要通过复杂数学计算获得,访问的时候要严格安全限制,这种情况下这样的把数据放在网络上,例如天气信息、交通实时信息等。

·           Shared Preferences ——可以存放少量的数据,主要用于保存系统设置参数,例如控件的状态、用户使用偏好(背景、字体)设置等,一般而言它不会用来存放联系人等应用程序的信息。

 

实现SQLite 数据库访问的DAO 代码

public WeigthDaoSQLiteImp(Context ctx) {

     mDBHelper = new DBHelper(ctx);

}

 

@Override

public void create(long date, String input, String output, String weight,

          String amountExercise) {

 

     SQLiteDatabase db = mDBHelper.getWritableDatabase();

     ContentValues values = new ContentValues();

     values.put(SysConst.TABLE_FIELD_DATE, date);

     values.put(SysConst.TABLE_FIELD_INPUT, input);

     values.put(SysConst.TABLE_FIELD_OUTPUT, output);

     values.put(SysConst.TABLE_FIELD_WEIGHT, weight);

     values.put(SysConst.TABLE_FIELD_AMOUNTEXERCISE, amountExercise);

     long rowId = db.insert(SysConst.TABLE_NAME, null, values);

 

}

 

@Override

public void delete(long date) {

 

     SQLiteDatabase db = mDBHelper.getWritableDatabase();

     String whereClause = SysConst.TABLE_FIELD_DATE + " = " + date;

     long rowId = db.delete(SysConst.TABLE_NAME, whereClause, null);

 

}

 

@Override

public Cursor findAll() {

 

     SQLiteDatabase db = mDBHelper.getReadableDatabase();

 

     return db.query(SysConst.TABLE_NAME, new String[] {

               SysConst.TABLE_FIELD_DATE, SysConst.TABLE_FIELD_INPUT,

               SysConst.TABLE_FIELD_OUTPUT, SysConst.TABLE_FIELD_WEIGHT,

               SysConst.TABLE_FIELD_AMOUNTEXERCISE }, null, null, null, null,

               SysConst.TABLE_FIELD_DATE + " asc");

}

 

@Override

public Cursor findByPrimaryKey(long date) {

 

     SQLiteDatabase db = mDBHelper.getReadableDatabase();

     String whereClause = SysConst.TABLE_FIELD_DATE + " = " + date;

     return db.query(SysConst.TABLE_NAME, new String[] {

               SysConst.TABLE_FIELD_DATE, SysConst.TABLE_FIELD_INPUT,

               SysConst.TABLE_FIELD_OUTPUT, SysConst.TABLE_FIELD_WEIGHT,

               SysConst.TABLE_FIELD_AMOUNTEXERCISE }, whereClause, null, null,

               null, SysConst.TABLE_FIELD_DATE + " asc");

}

 

@Override

public void modify(long date, String input, String output, String weight,

          String amountExercise) {

    

     SQLiteDatabase db = mDBHelper.getWritableDatabase();

     String whereClause = SysConst.TABLE_FIELD_DATE + " = " + date;

     ContentValues values = new ContentValues();

     values.put(SysConst.TABLE_FIELD_INPUT, input);

     values.put(SysConst.TABLE_FIELD_OUTPUT, output);

     values.put(SysConst.TABLE_FIELD_WEIGHT, weight);

     values.put(SysConst.TABLE_FIELD_AMOUNTEXERCISE, amountExercise);

     long rowId = db.update(SysConst.TABLE_NAME, values, whereClause, null);       

}

 

class DBHelper extends SQLiteOpenHelper {

     ... ...

}

 

}

相关文章
Android数据存储:什么是Room Persistence Library?
Android数据存储:什么是Room Persistence Library?
159 0
Android数据存储:解释SQLite数据库在Android中的使用。
Android数据存储:解释SQLite数据库在Android中的使用。
110 0
Android Studio App开发入门之数据存储中共享参数SharedPreferneces的讲解及使用(附源码 超详细必看)
Android Studio App开发入门之数据存储中共享参数SharedPreferneces的讲解及使用(附源码 超详细必看)
106 0
Android数据存储的五种方式1
Android数据存储的五种方式
151 2
Android数据存储:请解释ContentProvider是什么,它的主要作用是什么?
ContentProvider是Android的四大组件之一,主要负责结构化数据的管理与共享。它封装数据并提供安全的访问接口,通过URI实现应用间数据的标准化共享。ContentResolver与ContentProvider协作,处理数据的CRUD操作,使得其他应用能方便地调用和操作数据。
74 0
Android数据存储的五种方式3
Android数据存储的五种方式
58 0
|
10月前
|
Android数据存储的五种方式2
Android数据存储的五种方式
88 0
Android数据存储:什么是SharedPreferences?它有什么用途?
Android数据存储:什么是SharedPreferences?它有什么用途?
356 0
android开发,使用kotlin学习数据存储
android开发,使用kotlin学习数据存储
143 0

热门文章

最新文章

  • 1
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 2
    Android历史版本与APK文件结构
  • 3
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 4
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
  • 5
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
  • 6
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 7
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 8
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 9
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
  • 10
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 1
    android FragmentManager 删除所有Fragment 重建
    17
  • 2
    Android实战经验之Kotlin中快速实现MVI架构
    25
  • 3
    即时通讯安全篇(一):正确地理解和使用Android端加密算法
    33
  • 4
    escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!🔥
    42
  • 5
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    134
  • 6
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    41
  • 7
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    55
  • 8
    Android历史版本与APK文件结构
    155
  • 9
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    48
  • 10
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    40