2016-01-22 74 views
-3

我只是想从应用程序发送我的数据库文件发送到服务器。该数据库是相同的应用程序,所以我会认为这是可行的,我只是不知道如何去尝试如何发送sqlite数据库到服务器在android

+1

在服务器你喜欢如何店这个数据库,作为一个文件,或者您需要检索的SQLite数据库中的数据并将其存储到一些其他数据库为ex的SQL服务器呢? – Gunaseelan

+0

[将SQLite数据库发送到Web服务]的可能的重复(http://stackoverflow.com/questions/10114725/sending-sqlite-db-to-web-service) – starkshang

+0

欢迎来到SO,请在询问时更具体些问题:你有什么试过,你期望什么,等等。看看[如何问] – Nehal

回答

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方法把它发送到你的服务器。

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

+0

请给我完整的代码,我是初学者 –

+0

既然你得到数据库文件,只是**谷歌发送文件到您的服务器**你会得到一个答案,如果你使用一些http框架,如Volley,XUtils,他们提供这样的方法来做到这一点。 – starkshang

-1

作为讨论,sqlite databse不过是一个文件,你可以共享这个文件,但正如你所说这个sqlite文件属于同一个应用程序发送文件到服务器。在这种情况下看到db文件正在使用,所以我认为你将面临难以同时阅读这个文件,可能是你将不会得到更新的文件,如果目前的变化正在进行。 否则,您可以通过网络服务直接发送文件,或者上传到服务器的ftp或其他任何便捷的方式。

+0

亲爱的帮助我,我该如何以更好的方式请我 –

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跨网络服务器

相关问题