相关疑难解决方法(0)

在Android Studio中无法解析符号HttpGet,HttpClient,HttpResponce

我只是复制了所有jar文件,HttpAndroid Studio无法导入所有这些jar 文件.它给出了一个错误: Cannot resolve symbol HttpGet,HttpClient,HttpResponse.

我的Activity档案在这里: -

public class MainActivity extends AppCompatActivity {

ArrayList<Product>  productslist;
ProductAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    productslist = new ArrayList<Product>();
    new JSONAsyncTask().execute("http://opencart.codeniques.com/myshop/?route=feed/web_api/products&id=60&key=test123");

    ListView listView = (ListView)findViewById(R.id.list);
    adapter = new ProductAdapter(getApplicationContext(),R.layout.row,productslist);

    listView.setAdapter(adapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(getApplicationContext(),productslist.get(position).getName(),Toast.LENGTH_LONG).show();
        }
    });
}

class JSONAsyncTask extends AsyncTask<String,Void,Boolean>{

    ProgressDialog dialog;

    @Override
    protected void onPreExecute() {
        super.onPreExecute(); …
Run Code Online (Sandbox Code Playgroud)

android android-support-library android-studio

51
推荐指数
4
解决办法
13万
查看次数

使用HttpClient进行HTTP连接池

  • 如何使用HttpClient创建连接池?
  • 我必须经常连接到同一台服务器.是否值得创建这样的游泳池?
  • 是否可以保持实时连接并将其用于各种请求,如果是,我该怎么办?

我正在使用Apache HTTP Client开发Java .

java httpclient pooling httpconnection

26
推荐指数
5
解决办法
7万
查看次数

不推荐使用HttpClient(android studio,Target = api 22)

在我的Android应用程序中,它说:org.apache.http.client.httpclient已被弃用.经过一些研究,我发现Android已经在API 22中弃用了它.我在论坛中搜索并尝试:"应用程序已停止",搜索谷歌:"应用程序已经停止".所以我不知道该怎么做.我希望你们能帮助我.那么这是我的代码:

        try {

        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://www.URL.com");
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        is = entity.getContent();

        Log.e("log_tag", "connection success");
        //   Toast.makeText(getApplicationContext(), "pass", Toast.LENGTH_SHORT).show();
    } catch (Exception e) {
        Log.e("log_tag", "Error in http connection" + e.toString());
        Toast.makeText(getApplicationContext(), "Connection fail", Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

编辑:

我正在尝试获取我的Mysql数据库的一些数据.你知道一个关于如何完成这个的好教程吗?请告诉我.

java android

6
推荐指数
1
解决办法
1万
查看次数

Apache HTTP-setSocketTimout与setConnectTimout与setConnectionRequestTimeout

之间有什么区别setSocketTimoutsetConnectTimoutsetConnectionRequestTimeout

RequestConfig requestConfig = RequestConfig.copy(RequestConfig.DEFAULT)
            .setSocketTimeout(500)
            .setConnectTimeout(500)
            .setConnectionRequestTimeout(500)
            .build();
Run Code Online (Sandbox Code Playgroud)

apache-httpclient-4.x

6
推荐指数
1
解决办法
3678
查看次数

为什么我得到 DefaultHttpClient 已被弃用?

我正在处理一个项目,在该项目中我需要调用我的服务,我的服务将以 JSON 格式返回数据。而且我不需要将此 JSON 响应序列化到任何 POJO,我只需要将数据作为字符串返回。这个应用程序对性能非常关键,所以HttpClient必须非常快

所以我决定使用 Apache HttpClient 还是有更好的替代方案可以使用?

DefaultHttpClient httpclient = new DefaultHttpClient();
HttpUriRequest request = new HttpGet("some-url");
request.addHeader("Context", "some-value");
HttpResponse response = httpClient.execute(request);
String response =  IOUtils.toString(response.getEntity().getContent(), "UTF-8");
Run Code Online (Sandbox Code Playgroud)

但它抱怨说The type DefaultHttpClient is deprecated,也许他们有新版本HttpClient或其他方式来对 URL 进行 HttpClient 调用?

有什么我想念的吗?

java httpclient

5
推荐指数
2
解决办法
1万
查看次数

Android上缺少HttpClientBuilder?

Apache已弃用DefaultHttpClient,但似乎Android并非如此,另请参阅此处不推荐使用Java HttpClient - 它有多难?

输入

org.apache.httpcomponents:httpclient:4.3.5
Run Code Online (Sandbox Code Playgroud)

代替

new DefaultHttpClient(); 
Run Code Online (Sandbox Code Playgroud)

我现在用

HttpClient httpClient = HttpClientBuilder.create().build();
Run Code Online (Sandbox Code Playgroud)

创建一个http客户端.这在Java项目中工作正常,但在Android项目中使用时,缺少以下导入

import org.apache.http.impl.client.HttpClientBuilder;
Run Code Online (Sandbox Code Playgroud)

HttpClient sendClient =  new DefaultHttpClient();
Run Code Online (Sandbox Code Playgroud)

未在Android中标记为已弃用且编译良好.

我不想再次添加Apache httpclient(如果我这样做,Android Studio无论如何都会排除它).

Android文档在这里说http://developer.android.com/reference/android/net/http/AndroidHttpClient.html#newInstance(java.lang.String)来使用

AndroidHttpClient.new Instance(string)
Run Code Online (Sandbox Code Playgroud)

"获得具有合理默认值的http客户端".

有谁知道在Android上创建HttpClient的正确方法是什么,以及userAgent字符串是什么!?

java android apache-httpclient-4.x androidhttpclient

4
推荐指数
1
解决办法
6513
查看次数

使用Groovy的HTTPBuilder,如何设置超时

我正在尝试使用Groovy HTTPBuilder设置连接超时,并且在我的生活中无法找到方法.

使用普通ol'URL很容易:

def client = new URL("https://search.yahoo.com/search?q=foobar")
def result = client.getText( readTimeout: 1 )
Run Code Online (Sandbox Code Playgroud)

抛出一个SocketTimeoutException,但这不是我想要的.出于各种原因,我宁愿使用HTTPBuilder或更好的RESTClient.

这确实有效:

    def client = new HTTPBuilder()
    def result = client.request("https://search.yahoo.com/", Method.GET, "*/*") { HttpRequest request ->
        uri.path = "search"
        uri.query = [q: "foobar"]
        request.getParams().setParameter("http.socket.timeout", 1);
    }
Run Code Online (Sandbox Code Playgroud)

但是不推荐使用request.getParams().

对于我的生活,我找不到将正确的RequestConfig注入构建器的方法.

groovy httpbuilder

4
推荐指数
1
解决办法
5837
查看次数