2013-10-15 72 views
-1

我可以知道这个http连接有什么问题吗? 运行此操作时,我收到“HTTP问题”。android和数据库之间的连接

public void makeHttpPost(){ 
    try 
    { 
     //http post 
     HttpPost httppost = new HttpPost("http://10.0.2.2/project/login.php");    
     HttpClient httpclient = new DefaultHttpClient();   
     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(); 
     Toast.makeText(getBaseContext(),"HTTP PROBLEM",Toast.LENGTH_LONG).show(); 
    } 
} 
+0

u能logcat的?并且是运行在浏览器上的urph url? – KOTIOS

+0

这是错误显示 - > android.os.NetworkOnMainThreadException php url cn运行 – Michelle

+0

好吧,这意味着你运行在OnCreate ur ur url而不是你需要异步任务,这将帮助你.. m后一个答案检查out – KOTIOS

回答

1

调用下面的类,其中u HV称为makeHttpPost() 调用这个类如下:

new LoadData().execute(); 


    class LoadData extends AsyncTask<Void, Void, Void> { 

    @Override 
    protected void onPreExecute() { 
     // TODO Auto-generated method stub 
     super.onPreExecute(); 

    } 

    @Override 
    protected Void doInBackground(Void... params) { 
     // TODO Auto-generated method stub 

     // ur http code 
      makeHttpPost(); 
     return null; 
    } 

    @Override 
    protected void onPostExecute(Void result) { 
     // TODO Auto-generated method stub 
     super.onPostExecute(result); 



    } 
} 
+0

我可以知道在哪里添加缓冲区()和login()? – Michelle

+0

我想你登录后缓冲权利?如果是,在doInBackground方法第一次火灾登录网址和火灾url缓冲 – KOTIOS

+0

我直接缓冲区()和登录()后makeHttpPost() 缓冲区()这里的意思是将PHP的结果转换为字符串 – Michelle