从SQLite中提取数据并插入远程数据库

时间:2013-12-03 14:51:56

标签: php android mysql json sqlite

好的,对计算机科学有所了解,不知怎的。

我的讲师说,如果我们可以在我们的应用程序上实现远程数据库,那么它将大大提高我们的标记。我们有4天,只有我和另外两个人..

据我所知:

  1. 必须从SQLlite数据库中提取数据 JSON或XML
  2. 数据必须通过HTTP发送到我们的远程服务器,所以我们 需要将我们的数据库与远程服务器连接
  3. 在插入mySQL之前必须解析数据 远程服务器中的表。
  4. 即使android使用XML,我认为如果使用JSON没有区别?已解析数据并使用PHP连接到服务器,但不熟悉java。

    非常感谢任何关于该主题的资源或教程的指针,我们正试图给它一个适当的去,并意识到我们将遇到数百万的困难,所以希望在尽可能多的时间内取得尽可能多的进展。感谢任何信息。

    由于

1 个答案:

答案 0 :(得分:0)

很抱歉,我可能完全不了解您的问题,但我希望以下参考资料可能对您有所帮助。

这是Android中SQLite数据库的教程:http://www.vogella.com/articles/AndroidSQLite/article.html

以下是我在连接服务器上的PHP文件之前所做的代码,并通过此PHP文件将数据提取或插入到服务器上的数据库中。

new AsyncTask<String, Void, String>() {
@Override
protected String doInBackground(String... params) {
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost;
    httppost = new HttpPost(link_to_php_file); 
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    //Where you can pass parameter to the php file
    nameValuePairs.add(new BasicNameValuePair("name", value));
    nameValuePairs.add(new BasicNameValuePair("name2", value2));
    String str="";
    try {
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        str = Utils.convertStreamToString(entity.getContent());
    } catch (Exception e) {
        Log.e("log_tag", "Error in connection " + e.toString());
    }
    return str;

protected void onPostExecute(String result) {
    if (!TextUtils.isEmpty(result)) {
        JSONArray result_array = null;
        try {
            result_array = (JSONArray) new JSONArray(result);
        } catch (JSONException e1) {
            e1.printStackTrace();
        }                           

        try{
            for (int i = 0; i < count; i++) {
                JSONObject row = array.getJSONObject(i);
                //Do something with the result...                           
            }
        } catch (JSONException e){
            e.printStackTrace();
        }

    } 
};//End Of PostExecute
}.execute(); //End Of Async