2017-02-05 3 views
0

これはうまく動作しないコードです。私はそれをオンラインで見つけました。私はそれを自分で使用しようとしましたが、HTTPのコードは常にストロークトラフであり、それは動作しません。私はその日付がついていないからだと思うが、インターネット上のすべてを検索して答えを見つけられなかったので、私はここでそれを聞くかもしれないと思った。Android Studioではhttpclientコードの代わりにcantが見つかりました(これはAndroid 25では動作しません)

private class BackTask extends AsyncTask<Void,Void,Void> { 
     ArrayList<String> list; 
     protected void onPreExecute(){ 
      super.onPreExecute(); 
      list=new ArrayList<>(); 
     } 
     protected Void doInBackground(Void...params){ 
      InputStream is=null; 
      String result=""; 
      try{ 
       HttpClient httpclient=new DefaultHttpClient(); 
       HttpPost httppost= new HttpPost("http://10.0.2.2:8080/getInterviewees.php"); 
       HttpResponse response=httpclient.execute(httppost); 
       HttpEntity entity = response.getEntity(); 
       // Get our response as a String. 
       is = entity.getContent(); 
      }catch(IOException e){ 
       e.printStackTrace(); 
      } 

      //convert response to string 
      try{ 
       BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8")); 
       String line = null; 
       while ((line = reader.readLine()) != null) { 
        result+=line; 
       } 
       is.close(); 
       //result=sb.toString(); 
      }catch(Exception e){ 
       e.printStackTrace(); 
      } 
      // parse json data 
      try{ 
       JSONArray jArray =new JSONArray(result); 
       for(int i=0;i<jArray.length();i++){ 
        JSONObject jsonObject=jArray.getJSONObject(i); 
        // add interviewee name to arraylist 
        list.add(jsonObject.getString("iname")); 
       } 
      } 
      catch(JSONException e){ 
       e.printStackTrace(); 
      } 
      return null; 
     } 
     protected void onPostExecute(Void result){ 
      listItems.addAll(list); 
      adapter.notifyDataSetChanged(); 
     } 
    } 
+0

https://stackoverflow.com/questions/32949626/org-apache-http-entity-fileentity-is-deprecated-in- android-6-marshmallow – CommonsWare

答えて

0
android { 
compileSdkVersion ... 
buildToolsVersion ... 
useLibrary 'org.apache.http.legacy' 

defaultConfig { 
    ... 
} 

アプリのbuild.gradleにこれを使用してください。

0

これをあなたのgradleファイルに追加してみてください。

android { 
    useLibrary 'org.apache.http.legacy' 
} 
0

それとも、単にそののではなく、HttpURLConnectionのを使用することができます...

+0

はい私は知っていますが、私はそれを行う方法を知らないでしょう、あなたは例を挙げることができますか? –

関連する問題