无法在 Android Studio 中解析 DefaultHttpClient

For*_*t M 1 java android httpclient android-studio

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

在视频的大约中间,Derek Banas 插入 DefaultHttpClient 显然允许从应用程序访问浏览器/网络。但是当我把确切的代码放到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;
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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;
Run Code Online (Sandbox Code Playgroud)

我试图在其他问题中查看其他解决方案,但没有一个真正吸引我的问题。谁能帮我这个?

谢谢!?

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

Sha*_*hmi 7

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

android {

 useLibrary 'org.apache.http.legacy'

     }
Run Code Online (Sandbox Code Playgroud)

顺便说一下,现在不推荐使用 httpclient。您应该使用@Clive 参考。

dependencies {

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

}
Run Code Online (Sandbox Code Playgroud)

或者在依赖项中添加这个。httpclient 在这方面没有被弃用。