2017-05-11 4 views
0

私のアンドロイドプロジェクトでは、次の行が実行されないurl接続への連絡先になると、エミュレータを使用してローカルにURLに接続しようとしています。これは、コンソールに上記のコードの仕様8及びスペック6枚の印刷物からコードアンドロイドはhttpポストを実行していません

protected Void doInBackground(Void...params){ 
      InputStream is=null; 
      String result=""; 
      try{ 
       System.out.println("this is specs6" ); 
       HttpClient httpclient=new DefaultHttpClient(); 
       System.out.println("this is specs8" ); 
       HttpPost httppost= new HttpPost("http://10.0.2.2/API/getSpecialization.php"); 
       HttpResponse response=httpclient.execute(httppost); 
       HttpEntity entity = response.getEntity(); 
       System.out.println("this is specs7" ); 
       // Get our response as a String. 
       is = entity.getContent(); 
      }catch(IOException e){ 
       e.printStackTrace(); 
      } 

のスニペットが、スペック7印刷されることはありません。何が間違っている可能性がありますか?あなたが何かをしなければならないしかし

+0

を読むことができる方法です アップデート2 UIスレッド

といくつかのコンポーネントを変更するには、エラーを取得するのですか?スタックトレース? –

+0

エラーなし............... – Blaze

答えて

0

apatche HttpPostは、もはやあなたがHttpURLConnectionを使用するか、または使用する必要がアンドロイド で作業されていないVolley

更新

HttpUrlConnectionコンストラクタは、パラメータ として文字列を取ることはありません。このように

URL url=new URL ("10.0.2.2/Api/getSpecialization.php") // in order to pass the url to HttpUrlConnection 

次に

HttpUrlConnection post=new HttpUrlConnection(URL) 

それは別のスレッドだと、それはメインスレッド(UIスレッド) では動作しませんが、あなたがするために、非同期タスク内のハンドラを使用することができますので、HTTPリクエストinsude非同期クラスを配置することを忘れないでください。これはあなたが応答に

OutputStream out = new BufferedOutputStream(urlConnection.getOutputStream()); 
    writeStream(out); 

    InputStream in = new BufferedInputStream(urlConnection.getInputStream()); 
    readStream(in); 
+0

これを試していますが、エラーが発生しています HttpURLConnection httppost =新しいHttpURLConnection( "http://10.0.2.2/Api/getSpecialization.php "); – Blaze

+0

あなたの答えは少し上手くいくのですか – Blaze

+0

私の更新した回答を確認してください –

関連する問題