如何将sqlite数据库发送到android中的服务器

时间:2016-01-22 06:13:43

标签: android

我只想从应用程序发送我的数据库文件以将其发送到服务器。数据库是针对同一个应用程序的,所以我认为它是可行的,我只是不知道如何尝试它

3 个答案:

答案 0 :(得分:0)

您的数据库是一个文件,您可以获取数据库文件,默认为

Context ctx = this; // for Activity, or Service. Otherwise simply get the context.
String dbname = "mydb.db";//your db name
Path dbpath = ctx.getDatabasePath(dbname);

然后您可以复制此文件,然后正常使用http方法将其发送到您的服务器。

但是我建议你发送这个数据库的内容而不是数据库文件,因为它需要传输一些额外的内容,但这些内容可能不是必需的。

答案 1 :(得分:0)

String DB_PATH;
DB_PATH = android.os.Build.VERSION.SDK_INT >= 17 ? getApplicationInfo().dataDir + "/databases/" : "/data/data/" + getApplicationContext().getPackageName() + "/databases/";


File dbFile = new File(DB_PATH + getApplicationContext().getResources().getString(R.string.DB_NAME));
        //Log.v("dbFile", dbFile + "   "+ dbFile.exists());
    Log.d(TAG,"databse is exists "+dbFile.exists());
  
    

使用http连接类

将dbFile通过网络发送到服务器   

答案 2 :(得分:-1)

作为讨论,sqlite数据库只是一个文件,你可以共享这个文件,但正如你所说的,这个sqlite文件属于将文件发送到服务器的同一个应用程序。在这种情况下看到db-file正在使用中,所以我认为你将在同时读取这个文件时遇到困难,如果当前的更改正在进行,你可能不会得到更新的文件。 否则,您可以通过Web服务直接发送文件,或者在服务器的ftp上或任何其他方便的方式上传文件。