通过node / express js同步本地android数据库

时间:2018-03-19 10:51:58

标签: android mysql node.js sqlite express

我已经阅读了许多关于同样情况的教程和问题的答案,但是在每个教程中我们都参考脚本的使用或者在任何情况下通过PHP查询,但是没有一个能满足我的情况。 让我解释一下我的情况,我在节点js服务器上有一个CRUD应用程序和一个MySQL数据库,我要将一个Android应用程序连接到服务器上的同一个数据库,利用本地SQLite数据库,所以我的问题是如下。

我可以通过我的网络应用程序通过相同的快速js查询来同步我的Android应用程序或更好的SQLite数据库吗?

为了帮助您更好地理解我的问题,我通过这些功能进行了典型的查询:

exports.listU = function(req, res){

  req.getConnection(function(err,connection){

    var query = connection.query('SELECT * FROM user',function(err,rows)
    {
        if(err)
            console.log("Error Selecting : %s ",err );

        res.render('user',{page_title:"users view",data:rows});  

     });

  });

};    

我可以使用它,也许在比我用来在浏览器上显示我的用户列表的更简单的上下文中使用它来获取JSON或类似的东西吗?我想构建一个简单的HTML屏幕,在视频上显示此查询的结果,没有按钮,图像等,以便尽可能简单地使JSON文件,并避免这个屏幕出现在我的网络应用程序的路由器中。

我也对其他解决方案持开放态度,只要他们不打算使用其他语言,比如PHP,我想尽可能多地保留这些语言(android,node / express,javascript)。

[编辑] 是否可以通过类似的方式通过JSON发送查询结果?

...
res.send(JSON.stringify(rows))
...

能够直接从Android应用程序中读取它吗?

[解决] 也许这可以帮助处于相同情况的人。这种方法与我的想法并没有太大不同,使用的javascript与前一个非常相似,不同之处在于我通过像* res.send(JSON.stringify(JSON.stringify)这样的方式发送了查询结果。 {“response”:rows})); *我能够查看数据库的json。一旦我这样做,我只需“连接”(通过 HttpURLConnection httpURLConnection =(HttpURLConnection)新的URL(URL).openConnection(); )和我的Android应用程序验证,我后来管理显示的json文件屏幕执行拆分并通过本地插入查询将我的内部SQLite数据库的字段更新到Android应用程序。我建议,在更新内部数据库时,每次都要删除并重新创建本地sqlite数据库中的表,以避免重复问题。

1 个答案:

答案 0 :(得分:0)

我建议使用CouchDB框架,启用快速同步数据库。 这个替代方案比使用单独的DB好得多,例如:mysql或SQLite。 此外,接口之间的对象是JSON,它将为您提供使用外部框架的灵活性。 CouchDB与NodeJS一起使用 - 使用npm nano框架。