2012-07-05 183 views
1

Im很难从我的本地主机检索数据。我使用xampp。我想要的是显示从本地主机到Android手机列表视图的数据。这是我在网上找到的关于localhost和android的基本代码。这里是片段:无法连接到本地主机使用Android手机调试

p

ublic class Database_demo extends ListActivity { 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     String result = null; 
     InputStream is = null; 
     StringBuilder sb = null; 
     ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
     List<String> r = new ArrayList<String>(); 

     try{ 

     //http post 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost("http://10.0.2.2/android_connect3/"); 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
     HttpResponse response = httpclient.execute(httppost); 
     HttpEntity entity = response.getEntity(); 
     is = entity.getContent(); 
     } 
     catch(Exception e){ 
      Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show(); 
     } 

     //Convert response to string 
     try 
     { 
      BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8")); 

      sb = new StringBuilder(); 

      String line = null; 

      while ((line = reader.readLine()) != null) 
      { 
      sb.append(line + "\n"); 
      } 

      is.close(); 

      result = sb.toString(); 
     } 
     catch(Exception e) 
     { 
      Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show(); 
     } 
     //END Convert response to string 
     try{ 
       JSONArray jArray = new JSONArray(result); 
       JSONObject json_data=null; 
       for(int i=0;i<jArray.length();i++) 
       { 
        json_data = jArray.getJSONObject(i); 
        r.add(json_data.getString("reg")); 
       } 
       setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, r)); 
      } 
      catch(JSONException e1){ 
       Toast.makeText(getBaseContext(),e1.toString() ,Toast.LENGTH_LONG).show(); 
      } catch (ParseException e1) { 
       Toast.makeText(getBaseContext(),e1.toString() ,Toast.LENGTH_LONG).show(); 
     } 

    } 
} 

,这里是我的PHP文件:

<?php 
mysql_connect('localhost','root',''); 
mysql_select_db('android_sql'); 
$sql = "select * from reg"; 
$query = mysql_query($sql); 

while($row = mysql_fetch_assoc($query)){ 
$output[] = $row; 
} 
print (json_encode($output)); 
mysql_close(); 


?> 

这是我的例外: http://pastebin.com/QZkfG0bp

+0

即时得到从本地主机 – thenewbie 2012-07-06 02:54:18

回答

1

我得到了它。这里是我如何做。

InputStream is; 
    String result; 

    StringBuilder sb; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 

    } 

我宣布他们为全球和删除空值ASIGN他们

0

你必须检查该行

HttpPost httppost = new HttpPost("http://10.0.2.2/android_connect3/"); 

变化

HttpPost httppost = new HttpPost("http://10.0.2.2/android_connect3/your_php_file_name"); 
+0

我已经做到这一点的价值。这是行不通的.. – thenewbie 2012-07-06 02:35:27