如何在android中向服务器发送sqlite数据库

如何在android中向服务器发送sqlite数据库,android,Android,我只想将我的数据库文件从应用程序发送到服务器。数据库是用于相同的应用程序的,因此我认为它是可行的,我只是不知道如何尝试它您的数据库是一个文件,默认情况下,您可以获取数据库文件 Context ctx = this; // for Activity, or Service. Otherwise simply get the context. String dbname = "mydb.db";//your db name Path dbpath = ctx.getDatabasePath(dbna

我只想将我的数据库文件从应用程序发送到服务器。数据库是用于相同的应用程序的,因此我认为它是可行的,我只是不知道如何尝试它

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

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方法将其发送到服务器


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

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

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发送到服务器


在服务器中,您希望如何将此数据库存储为文件,还是需要从SQLite数据库中检索数据并将其存储到其他数据库中,以供类似的ex SQL server使用?可能重复欢迎使用SO,请在提问时更具体一点:您尝试了什么,您期望什么,请看亲爱的帮助我如何才能做得更好请Messince你得到数据库文件,只要谷歌发送文件到你的服务器你会得到一个答案,如果你使用一些http框架,如凌空,XUtils,他们提供这样的方法来做。