Android连接到MySql(PHP脚本)

时间:2011-11-24 09:06:02

标签: java php android

我的java代码:

  package com.Cmode.ThesisSystem;

  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 EventLogs extends ListActivity {

 JSONArray jArray;
 String result = null;
 InputStream is = null;
 StringBuilder sb=null;
 int e_id;
 String e_name;

 @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 httppost = new HttpPost("http://www.my.com/eventlogs.php");
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());
  }

//配对数据

  try{
  jArray = new JSONArray(result);
  JSONObject json_data=null;
  for(int i=0;i<jArray.length();i++){
         json_data = jArray.getJSONObject(i);
         e_id=json_data.getInt("id");
         e_name=json_data.getString("event");
     }
  }catch(JSONException e1){
      Toast.makeText(getBaseContext(), "No events found" ,Toast.LENGTH_LONG).show();
  } catch (ParseException e1) {
        e1.printStackTrace();
  }

}
 }

}

我的代码有问题 错误: 应用程序CDroidMonitoring(process.com.Cmode.ThesisSystem)意外停止。请再试一次

我只是Android开发的新手。我想我已经放了一些无​​法使用的大括号或代码中有错误。

1 个答案:

答案 0 :(得分:0)

您的应用程序是否在清单中设置了INTERNET权限? 有关错误的更多信息,请查看Eclipse中的logcat选项卡,它通常具有更具描述性的错误消息。