首页 文章

Android中的OkHTTP3

提问于
浏览
-2

我在android studio 2.2.3中使用okhttp3进行一个简单的项目 . 我的项目在模拟器(nexus 5 android 7 API 24)上运行没有任何问题,但在我的手机(lg k10 android 6 API 23)和(huawei honor 4x API 19)崩溃并已停止 . 我使用okhttp3包com.squareup.okhttp3:okhttp:3.4.1在我的项目中我的模块:app is->

(compileSdkVersion 25 buildToolsVersion“25.0.1”defaultConfig {applicationId“android.hrsh.okhttpv2”minSdkVersion 15 targetSdkVersion 25)

我的代码是:

OkHttpClient client = new OkHttpClient();
    Request request = new Request.Builder()
            .url("http://www.imodares.ir/json-url/imodares-json.html")
            .build();
    Callback callback = new Callback() {...}
  try {
        client.newCall(request).enqueue(callback);

    }
    catch (Exception e ){label.setText(e.getMessage());}

我测试我的代码

client.newCall(request).execute();

但我得到相同的结果,请指导我谢谢

2 回答

  • 0

    您是否可以使用模拟器上的调试apk和手机上的发布版进行测试?如果是,proguard可能是问题 .

  • 0

    我做了一点研究,发现我应该使用以下代码:

    class ReadFromNet extends AsyncTask<String, String, String> {
            String s;
            protected String doInBackground(String... args) {
                InputStream jsonStream=getStreamFromURL("http://www.imodares.ir/json-url/imodares-json.html","GET");
                s=streamToString(jsonStream);
                return null;
            }
    
            protected void onPostExecute(String file_url) {
                setViewData(s);
            }
    
        }
        ReadFromNet rj=new ReadFromNet();
        rj.execute();
    

    但我仍然不明白使用okhttp的方法中上一个错误消息的原因 .

相关问题