Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android – 将SQLite与MySQL同步的最佳方式大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Synchronizing client-server databases5个
我正在开发一个包含网络应用和移动应用程序的项目,该应用程序记录每日用户的数据.用户可以删除,更新他们的数据,他们可以使用许多设备插入数据.
我打算这样开发:
用户输入他们的数据然后插入sqlite.服务将定期启动(每5小时或每小时)以使用时间戳与MysqL同步.
我确实在互联网上使用服务和时间戳搜索一个样本,但我一无所获.如果有样本或教程会很棒.
我是Android的新手,我不知道开发这样的应用程序的最佳方式是什么.提前致谢.

– – 编辑 – –
虑使用时间戳或同步.哪个更有效?

解决方法

@H_801_13@ 您可以通过谷歌或任何其他库使用volley库,这取决于您希望如何发送数据,最好的方法是使用JSON让您的生活更轻松,从您希望与后端同步的sqlite中获取数据并使用volley通过JsonObjectrequest发送它,例如您的请求可能如下所示
jsonObjectrequest postForm = new JsonObjectrequest(request.Method.POST,URL,YourJsonData,new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject responsE) {
         // here you can get your response.
        },new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
    // here you can tell there is something went wrong.
    });

你可以添加一个新值,指示该值是否已同步或来自本地数据库.例如,假设您有一个名为student的表,并且当您的响应返回成功时,此表有三列ID,NAME并在上面的代码中同步更新行同步列为true | false,表示此行是否与您的后端同步或没有.要从数据库获取数据,您应该执行以下操作.

public String getstudents() {
        List<student> students = new ArrayList<student>();
        String query = "SELECT  * FROM " + stuDENT+ "where synced=0";
        sqliteDatabase db = this.getWritableDatabase();
        cursor cursor = db.rawQuery(query,null);
        if (cursor.moveToFirst()) {
            do {
                student st = new student();
                st.setId(cursor.getString(cursor.get@R_616_8620@nIndex(ID)));
                st.setName(cursor.getString(cursor.get@R_616_8620@nIndex(Name)));
                st.setSynced(cursor.geTint(cursor.get@R_616_8620@nIndex(SYNCED)));
                students.add(st);
            } while (cursor.moveToNext());
        }
        db.close();
        return new Gson().toJson(students);
    }

大佬总结

以上是大佬教程为你收集整理的Android – 将SQLite与MySQL同步的最佳方式全部内容,希望文章能够帮你解决Android – 将SQLite与MySQL同步的最佳方式所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。