相关疑难解决方法(0)

如何在Java中为Android设置HttpResponse超时

我创建了以下用于检查连接状态的函数:

private void checkConnectionStatus() {
    HttpClient httpClient = new DefaultHttpClient();

    try {
      String url = "http://xxx.xxx.xxx.xxx:8000/GaitLink/"
                   + strSessionString + "/ConnectionStatus";
      Log.d("phobos", "performing get " + url);
      HttpGet method = new HttpGet(new URI(url));
      HttpResponse response = httpClient.execute(method);

      if (response != null) {
        String result = getResponse(response.getEntity());
        ...
Run Code Online (Sandbox Code Playgroud)

当我关闭服务器进行测试时,执行会等待很长时间

HttpResponse response = httpClient.execute(method);
Run Code Online (Sandbox Code Playgroud)

有谁知道如何设置超时以避免等待太久?

谢谢!

java android timeout httpresponse

332
推荐指数
5
解决办法
19万
查看次数

如何使用Android中的Volley库上传文件?

我已经有一个Request子类用于http发送到服务器.问题是,我不知道如何为文件添加参数.将字符串发布到服务器很容易.但我需要将文件添加为不同的参数.我该怎么做?

public class AddNewPetRequest extends Request<JSONObject> {

    private Response.Listener<JSONObject> listener;

    public AddNewPetRequest(String url, Map<String, String> params,
                                Response.Listener<JSONObject> reponseListener, Response.ErrorListener errorListener) {
        super(Request.Method.GET, url, errorListener);
        this.listener = reponseListener;
        this.params = params;
    }

    public AddNewPetRequest(int method, String url, Map<String, String> params,
                                Response.Listener<JSONObject> reponseListener, Response.ErrorListener errorListener) {
        super(method, url, errorListener);
        this.listener = reponseListener;
        this.params = params;
    }

    protected Map<String, String> getParams()
            throws com.android.volley.AuthFailureError {
        return params;
    };

    @Override
    protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
        try {
            String jsonString = new String(response.data,
                    HttpHeaderParser.parseCharset(response.headers));
            return Response.success(new …
Run Code Online (Sandbox Code Playgroud)

android file http-post httprequest android-volley

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

使用GSM不下载Volley文件

我正在使用Volley从AWS下载文件.文件大小约为6 MB.在Android文档中提到您不应该使用Volley下载大文件.那么Volley的文件大小限制是多少?我在模拟器上使用不同的网络类型和信号强度来检查我的应用程序在下载文件时的行为方式.我主要想检查GSM网络类型.如果我保持网络类型为GSM,即使我的信号强度很大,我也会超时.如果我的网络类型为Full或LTE,则文件下载速度非常快.对于GSM我甚至将重试限制增加到5分钟,但它仍然给我超时.我不想让重试政策大于10秒.这是我的代码.

public class MainActivity extends AppCompatActivity  {

    InputStreamVolleyRequest request;
    private TextView textView;
    private Button button;
    //private RequestQueue requestQueue;
    //WifiManager wifiManager;
     long FILE_SIZE ;
    long startTime;
    long endTime;
    private long takenTime;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.tv);
        button = findViewById(R.id.button);
        String mUrl="my url";
//        wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startTime = System.currentTimeMillis();
                textView.setText("");


                MySingleton.getMySingleton(getApplicationContext()).addToRequestQueue(request);

//                requestQueue.add(request);
                button.setEnabled(false);

            }
        });

//        requestQueue = Volley.newRequestQueue(getApplicationContext());
        request = new InputStreamVolleyRequest(Request.Method.GET, …
Run Code Online (Sandbox Code Playgroud)

android android-volley

9
推荐指数
1
解决办法
157
查看次数

Android Volley:在哪里添加重试策略和超时?

请,我不知道添加/编辑超时和重试策略的位置.基本上我会有3秒.超时,并将rety策略设置为零.

我正在使用在网络上找到的模式.

Controller.java

public class Controller extends Application {

    /**
     * Log or request TAG
     */
    public static final String TAG = "VolleyPatterns";

    /**
     * Global request queue for Volley
     */
    private RequestQueue mRequestQueue;

    @Override
    public void onCreate() {
        super.onCreate();
    }

    /**
     * @return The Volley Request queue, the queue will be created if it is null
     */
    public RequestQueue getRequestQueue() {
        // lazy initialize the request queue, the queue instance will be
        // created when it is accessed for …
Run Code Online (Sandbox Code Playgroud)

java android android-volley

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

为什么我收到错误?com.android.volley.timeouterror

大家好,有人可以帮我上这门课吗?我收到一个错误,我只是 android studio 和移动开发的新手。我正在学习和获取知识的过程中。请帮我。

RequestQueue requestQueue = Volley.newRequestQueue(this);

StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        Toast.makeText(Register.this, response, Toast.LENGTH_LONG).show();
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        Toast.makeText(Register.this, error.toString(), Toast.LENGTH_LONG).show();

    }
}) {

    @Override
    protected Map<String, String> getParams() throws AuthFailureError {

        Map<String, String> params = new HashMap<String, String>();
        params.put(NAME, pangaran);
        params.put(SURNAME, apelyido);
        params.put(ADDRESS, lugar);
        params.put(CONTACTNO, kontak);
        params.put(USERNAME, username1);
        params.put(PASSWORD, password1);
        return params;

    }
};

requestQueue.add(stringRequest);
Run Code Online (Sandbox Code Playgroud)

java android android-volley

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