2011-07-10 38 views
0

我想將mysql數據傳輸到android手機,反之亦然。MYSQL到android數據傳輸

到目前爲止,我得到.php文件來調出我需要的信息,但是我無法獲得一個代碼,它會將頁面的代碼轉換爲android中的字符串或整數。

我正在使用這個代碼。

import java.io.BufferedReader; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.util.ArrayList; 
import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.NameValuePair; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.entity.UrlEncodedFormEntity; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 
import android.app.ListActivity; 
import android.net.ParseException; 
import android.os.Bundle; 
import android.util.Log; 
import android.widget.Toast; 

public class version extends ListActivity { 
JSONArray jArray; 
String result = null; 
InputStream is = null; 
StringBuilder sb=null; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
//http post 
try{ 
    HttpClient httpclient = new DefaultHttpClient(); 
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
    HttpResponse response = httpclient.execute(httppost); 
    HttpEntity entity = response.getEntity(); 
    is = entity.getContent(); 
    }catch(Exception e){ 
     Log.e("log_tag", "Error in http connection"+e.toString()); 
    } 
//convert response to string 
try{ 
     BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); 
     sb = new StringBuilder(); 
     sb.append(reader.readLine() + "\n"); 
     String line="0"; 
     while ((line = reader.readLine()) != null) { 
         sb.append(line + "\n"); 
     } 
     is.close(); 
     result=sb.toString(); 
     }catch(Exception e){ 
       Log.e("log_tag", "Error converting result "+e.toString()); 
     } 
//paring data 
String version; 
try{ 
     jArray = new JSONArray(result); 
     JSONObject json_data=null; 
     for(int i=0;i<jArray.length();i++){ 
      json_data = jArray.getJSONObject(i); 
      version=json_data.getString("versioncode"); 
     } 
     } 
     catch(JSONException e1){ 
      Toast.makeText(getBaseContext(), "Error in getting version code. Please report." ,Toast.LENGTH_LONG).show(); 
     } catch (ParseException e1) { 
      e1.printStackTrace(); 
    } 
} 
} 

如何獲得它,所以它會比較當前的應用程序版本,以我在MySQL服務器中提供的字符串?

回答

0

看起來你很接近,我會做到這一點:

if (version.equals("1.0.2") { 
    // same version 
else { 
    // different version 
} 
0

我試過你的代碼,它爲我工作。 使用「活動」代替「ListActivity」。

並確保您已在manifest.xml文件中授予「android.permission.INTERNET」權限。