无法在Android Studio

时间:2016-07-12 19:25:23

标签: java android android-studio httpclient

我正在关注本教程:https://www.youtube.com/watch?v=I58TkCi73ew

在视频的中间部分,Derek Banas插入DefaultHttpClient显然允许从应用程序进行浏览器/ Web访问。但是当我在IDE中输入确切的代码时,有一个错误报告说Android Studio无法解析DefaultHttpClient。这是DefaultHttpClient的代码:

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

    String jsonString = "";

    String result = "";

    @Override
    protected Void doInBackground(Void... voids) {

        EditText translateEditText = (EditText) findViewById(R.id.editText);

        String wordsToTranslate = translateEditText.getText().toString();

        wordsToTranslate = wordsToTranslate.replace(" ", "+");

        DefaultHttpClient httpClient = new DefaultHttpClient(new BasicHttpParams());

        return null;
    }
}

我尝试导入这些包,但包中也有错误。

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

我试图在其他问题中查看其他解决方案,但没有一个真正吸引我的问题。任何人都可以帮我这个吗?

谢谢!☺

注意:此问题与Can't import org.apache.http.HttpResponse in Android Studio不重复。首先,我没有使用Eclipse。第二,我尝试了这个问题的第一个解决方案,但(可能是我的误解)OkHttp对我没有用。这也可能是因为我的代码格式和风格与不同的软件包不同。要求。

2 个答案:

答案 0 :(得分:4)

将此添加到build.gradle并进行同步。

android {

 useLibrary 'org.apache.http.legacy'

     }

顺便说一句,httpclient已被弃用了。你应该使用@Clive参考。

dependencies {

compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'

}

或者在依赖项中添加它。 httpclient在此不被弃用。

答案 1 :(得分:0)

使用HttpUrlConnection代替或使用库来执行此操作,OkHttp库是一个很好的库。 http://square.github.io/okhttp/