我是制作Android应用程序的新手。我想问一下我将如何完成以下提到的任务。
我有一个在我办公室的服务器上运行的离线网站。应用程序将有一个表单,其<select>
选项从我们服务器中的数据库中提取。
即使我制作表格,我如何获得所有这些选择?
即使我在android数据库中导入完整的数据库,在服务器数据库上的字段更新,如何在Android应用程序数据库上更新字段?
另外,我如何将插入的字段与服务器数据库同步?
答案 0 :(得分:0)
我认为Android无法连接到数据库服务器。您需要创建一个简单的Web服务来传递请求并返回响应。
This展示了如何设置Web服务JSON(MySql + Php)+如何在Android中使用它。
希望有所帮助。
答案 1 :(得分:0)
也许你可以用这样的类来访问它。
package com.yourpackage
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
import android.os.AsyncTask;
import android.util.Log;
public class DownloadWebPageTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String response = "";
String DB_NAME = "sqlbeerlist.sqlite";
try {
URL url = new URL(urls[0]);
URLConnection connection = url.openConnection();
connection.connect();
// this will be useful so that you can show a typical 0-100% progress bar
int fileLength = connection.getContentLength();
// download the file
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream("/sdcard/"+DB_NAME);
byte data[] = new byte[1024];
long total = 0;
int count;
while ((count = input.read(data)) != -1) {
total += count;
// publishing the progress....
//publishProgress((int) (total * 100 / fileLength));
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
} catch (IOException e) {
Log.d("ImageManager", "Error: " + e);
}
return response;
}
}
执行任务
String sUrl = "URL TO YOUR FILE";
DownloadWebPageTask task = new DownloadWebPageTask();
task.execute(new String[] { sUrl });