首页 > 其他分享 >20240312打卡

20240312打卡

时间:2024-03-12 19:55:18浏览次数:27  
标签:同步 String 20240312 数据库 db 打卡 null 远程

第三周 第一天 第二天 第三天 第四天 第五天 第六天 第七天
所花时间 3h 5h
代码量(行) 274 256
博客量(篇) 1 1
知识点了解 完成AndroidStudio中原生数据库SQlite简单的CRUD 本地数据库连接到远程数据库

SQLite 在Android应用中与远程MySQL数据库同步(转载极客笔记)

在Android应用中使用SQLite
Android提供了一个名为SQLiteOpenHelper的帮助类,用于管理SQLite数据库。下面是在Android应用中使用SQLite的基本步骤:

创建一个继承自SQLiteOpenHelper的辅助类,用于管理数据库的创建和版本控制。

public class DatabaseHelper extends SQLiteOpenHelper {

    private static final String DATABASE_NAME = "mydb.db";
    private static final int DATABASE_VERSION = 1;

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        //创建表格的SQL语句
        String createTable = "CREATE TABLE mytable (id INTEGER PRIMARY KEY, name TEXT)";
        //执行创建表格的SQL语句
        db.execSQL(createTable);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        //升级数据库的操作
    }
}

在应用程序的适当位置,创建一个DatabaseHelper的实例,并获取一个可写的或可读的数据库连接。

DatabaseHelper helper = new DatabaseHelper(context);
SQLiteDatabase db = helper.getWritableDatabase();

执行SQL语句进行数据库操作,如插入、查询、更新和删除。

//插入一条数据
ContentValues values = new ContentValues();
values.put("name", "John");
db.insert("mytable", null, values);

//查询数据
Cursor cursor = db.query("mytable", null, null, null, null, null, null);
while (cursor.moveToNext()){
    String name = cursor.getString(cursor.getColumnIndex("name"));
    //处理查询结果
}

//更新数据
ContentValues updateValues = new ContentValues();
updateValues.put("name", "Mike");
db.update("mytable", updateValues, "id = ?", new String[] { "1" });

//删除数据
db.delete("mytable", "id = ?", new String[] { "1" });

在合适的时机关闭数据库连接。

db.close();

在Android应用中与远程MySQL数据库同步
在某些情况下,我们可能需要将本地的SQLite数据库与远程的MySQL数据库进行同步。例如,在一个需要多设备之间共享数据的应用中,我们可能希望将数据存储在云端的MySQL数据库中,并通过同步机制确保本地数据库与云端数据库的一致性。

下面是实现此同步的一种方法:

在应用中创建一个用于存储同步状态的表,记录每个数据项的同步状态(已同步、待同步、冲突等)。

String createSyncTable = "CREATE TABLE sync_table (id INTEGER PRIMARY KEY, sync_status INTEGER)";
db.execSQL(createSyncTable);

在应用中实现一个数据同步的逻辑,包括将本地数据上传到远程数据库和将远程数据下载到本地数据库。

//将本地数据上传到远程数据库
Cursor cursor = db.query("mytable", null, "sync_status = ?", new String[] { "0" }, null, null, null);
while (cursor.moveToNext()) {
    //将数据上传到远程数据库
    //标记数据的同步状态
}

//将远程数据下载到本地数据库
//查询远程数据库
//将数据插入到本地数据库
//标记数据的同步状态

合理控制同步操作的时机和频率,确保用户体验和网络效率。

标签:同步,String,20240312,数据库,db,打卡,null,远程
From: https://www.cnblogs.com/newzeon/p/18069081

相关文章

  • 打卡
     第一天第二天第三天第四天第五天所花时间(包括上课)3小时2小时   代码量(行)140200   博客量(篇)11   了解到的知识点编写安卓增删改查验收   软件工程上课第一天,练习了安卓的操作,安装了matlab......
  • Python实现企业微信自动打卡程序二:跳过节假日,随机打卡时间,定时任务,失败通知
    一、介绍在上节Python实现企业微信上下班自动打卡程序内容之后,我们继续优化自动打卡程序。接下来增加如下内容:实现打卡时间随机范围处理节假日不打卡的情况实现定时调度打卡打卡成功或失败通知自己二、实现打卡时间随机范围既然我们程序写完后需要定时执行,那定时执行打......
  • 20240308打卡
    第二周第一天第二天第三天第四天第五天第六天第七天所花时间1h5h1h1.5h1h代码量(行)70116628277博客量(篇)11111知识点了解学会详细地全局路由配置有关动态规划算法python基础知识使用json前后端传值存值数据库原理第一章知识整理......
  • Python实现企业微信上下班自动打卡程序
    一、介绍在写了这么多手机端自动化测试程序后,基于使用的uiautoamtor2,最近,我突然想用Python尝试自动打开企微在上下班时间打卡操作,今天我就来分享一下我的经验和总结。二、技术原理要想通过Python控制手机APP,目前主要技术如下。2.1、Android体系在Android中,官方有一个叫adb的......
  • 20240307打卡
    第二周第一天第二天第三天第四天第五天第六天第七天所花时间1h5h1h1.5h代码量(行)701166282博客量(篇)1111知识点了解学会详细地全局路由配置有关动态规划算法python基础知识使用json前后端传值存值关于解决前端传JSON对象,后......
  • 20240306打卡
    第二周第一天第二天第三天第四天第五天第六天第七天所花时间1h5h1h代码量(行)7011662博客量(篇)111知识点了解学会详细地全局路由配置有关动态规划算法python基础知识使用今天打卡主要是对于昨天建民老师讲课的回顾总结。首......
  • 每日打卡3月6
    梦想改造家10------皇城脚下的博物馆根据观看的视频内容,回答下列问题:1、 你认为改造的房屋存在什么样的问题?(至少五个存在问题)房龄大,存在安全问题;采光差;物品多,储物空间小;房顶薄,隔热差没有独立空间,私密性差。2、 家的必要功能(可用性)属性包括什么?有地方做饭;有地方吃......
  • 20240305 软件工程课打卡
    今天上了软件工程的第一节课,收获很多,老师用游泳,体育健身教练等形象的例子向我们阐述了软件工程以及大学中各种课程的学习方法。让我明白了自己动手实践的重要性。课堂练习是统计文本文件中最长的接龙单词链,我使用了Python,将其只保留英文字母删掉符号和数字,去掉重复单词作为一个集......
  • 打卡18
    在Form组件中,每一个表单域由一个Form-Item组件构成,表单域中可以放置各种类型的表单控件,包括Input、Select、Checkbox、Radio、Switch、DatePicker、TimePicker解释<el-formref="form":model="form"label-width="80px"><el-form-itemlabel="活动名称">......
  • 打卡19
     创建一个初始目录后会又以下的几个文件目录manifests中有一个Androidmanifests.xml的文件它包含了我们这个软件的图标、名字等的基本信息 其中的activity标签中是我们的app所要使用的页面的注册信息 Java的文件目录中我们主要使用的就是第一个文件目录,其中的Java代码包......