Android截取请求字符串返回空onResponse

Android截取请求字符串返回空onResponse,android,android-fragments,android-volley,android-networking,Android,Android Fragments,Android Volley,Android Networking,哎哟,哎哟,哎哟| 为什么为空 服务器端已修复 所有方法都是固定的 为什么为空?类似的代码是workd,但此代码不是workd。所有日志都正常 在帧集对话框中: @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { ViewGroup rootView = (Vi

哎哟,哎哟,哎哟|

为什么为空

服务器端已修复

所有方法都是固定的

为什么为空?类似的代码是workd,但此代码不是workd。所有
日志
都正常

帧集对话框中

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.player_artists_dialog, container, false);

    getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
    getDialog().setCancelable(true);

    model = this.getArguments().getParcelable("model");

    progressBar = (ProgressBar) rootView.findViewById(R.id.progressBar);
    listView = (ListView) rootView.findViewById(R.id.listView);

    listView.setVisibility(View.INVISIBLE);
    progressBar.setVisibility(View.VISIBLE);

    StringRequest request = new StringRequest(Request.Method.POST,
            ".. url ..",

            new Response.Listener<String>() {

                @Override
                public void onResponse(String response) {

                    Toast.makeText(getContext(), response, Toast.LENGTH_LONG).show(); // show null

                }
            },

            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError ex) {
                }
            }) {

        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String, String> params = new HashMap<>();
            params.put("a", String.valueOf(model.getTr()));
            params.put("b", String.valueOf(model.getCat()));
            return params;
        }

    };

    RequestQueue queue = VolleySingleton.getInstance().getRequestQueue();
    queue.add(request);

    return rootView;
}
为什么NULL?????

用于将自签名SSL证书导入Android 4.1上的Volley+
Use to import self-signed SSL certificate to Volley on Android 4.1+
It will make volley to Trust all SSL certificates
I hope it will work.

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.player_artists_dialog, container, false);

    getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
    getDialog().setCancelable(true);

    model = this.getArguments().getParcelable("model");

    progressBar = (ProgressBar) rootView.findViewById(R.id.progressBar);
    listView = (ListView) rootView.findViewById(R.id.listView);

    listView.setVisibility(View.INVISIBLE);
    progressBar.setVisibility(View.VISIBLE);

        //use trustAllCertificates here.
   trustAllCertificates();


    StringRequest request = new StringRequest(Request.Method.POST,
            ".. url ..",

            new Response.Listener<String>() {

                @Override
                public void onResponse(String response) {

                    Toast.makeText(getContext(), response, Toast.LENGTH_LONG).show(); // show null

                }
            },

            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError ex) {
                }
            }) {

        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String, String> params = new HashMap<>();
            params.put("a", String.valueOf(model.getTr()));
            params.put("b", String.valueOf(model.getCat()));
            return params;
        }

    };

    RequestQueue queue = VolleySingleton.getInstance().getRequestQueue();
    queue.add(request);

    return rootView;
}
 private void trustAllCertificates() {
        try {
            TrustManager[] trustAllCerts = new TrustManager[] {
                    new X509TrustManager() {
                        public X509Certificate[] getAcceptedIssuers() {
                            X509Certificate[] myTrustedAnchors = new X509Certificate[0];
                            return myTrustedAnchors;
                        }

                        @Override
                        public void checkClientTrusted(X509Certificate[] certs, String authType) {}

                        @Override
                        public void checkServerTrusted(X509Certificate[] certs, String authType) {}
                    }
            };

            SSLContext sc = SSLContext.getInstance("SSL");
            sc.init(null, trustAllCerts, new SecureRandom());
            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
            HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
                @Override
                public boolean verify(String arg0, SSLSession arg1) {
                    return true;
                }
            });
        } catch (Exception e) {
        }
    }
信任所有SSL证书将导致截击 我希望它能起作用。 @可空 @凌驾 创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){ ViewGroup rootView=(ViewGroup)充气器。充气(R.layout.player\u artists\u对话框,容器,false); getDialog().getWindow().setBackgroundDrawable(新的ColorDrawable(android.graphics.Color.TRANSPARENT)); getDialog().setCancelable(true); model=this.getArguments().getParcelable(“模型”); progressBar=(progressBar)rootView.findviewbyd(R.id.progressBar); listView=(listView)rootView.findViewById(R.id.listView); setVisibility(View.INVISIBLE); progressBar.setVisibility(View.VISIBLE); //在此处使用trustAllCertificates。 信任证书(); StringRequest=新的StringRequest(request.Method.POST, “.url…”, 新的Response.Listener(){ @凌驾 公共void onResponse(字符串响应){ Toast.makeText(getContext(),response,Toast.LENGTH_LONG).show();//show null } }, 新的Response.ErrorListener(){ @凌驾 公共响应(截击错误){ } }) { @凌驾 受保护的映射getParams()引发AuthFailureError{ Map params=新的HashMap(); put(“a”,String.valueOf(model.getter()); params.put(“b”,String.valueOf(model.getCat()); 返回参数; } }; RequestQueue queue=VolleySingleton.getInstance().getRequestQueue(); 添加(请求); 返回rootView; } 私有无效trustAllCertificates(){ 试一试{ TrustManager[]trustAllCerts=新的TrustManager[]{ 新X509TrustManager(){ 公共X509证书[]getAcceptedIssuers(){ X509Certificate[]myTrustedAnchors=新的X509Certificate[0]; 返回myTrustedAnchors; } @凌驾 public void checkClientTrusted(X509Certificate[]证书,字符串authType){} @凌驾 public void checkServerTrusted(X509Certificate[]证书,字符串authType){} } }; SSLContext sc=SSLContext.getInstance(“SSL”); sc.init(null,trustAllCerts,new SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); HttpsURLConnection.setDefaultHostnameVerifier(新的HostnameVerifier(){ @凌驾 公共布尔验证(字符串arg0,SSLSession arg1){ 返回true; } }); }捕获(例外e){ } }
用于将自签名SSL证书导入Android 4.1上的Volley+
信任所有SSL证书将导致截击
我希望它能起作用。
@可空
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
ViewGroup rootView=(ViewGroup)充气器。充气(R.layout.player\u artists\u对话框,容器,false);
getDialog().getWindow().setBackgroundDrawable(新的ColorDrawable(android.graphics.Color.TRANSPARENT));
getDialog().setCancelable(true);
model=this.getArguments().getParcelable(“模型”);
progressBar=(progressBar)rootView.findviewbyd(R.id.progressBar);
listView=(listView)rootView.findViewById(R.id.listView);
setVisibility(View.INVISIBLE);
progressBar.setVisibility(View.VISIBLE);
//在此处使用trustAllCertificates。
信任证书();
StringRequest=新的StringRequest(request.Method.POST,
“.url…”,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
Toast.makeText(getContext(),response,Toast.LENGTH_LONG).show();//show null
}
},
新的Response.ErrorListener(){
@凌驾
公共响应(截击错误){
}
}) {
@凌驾
受保护的映射getParams()引发AuthFailureError{
Map params=新的HashMap();
put(“a”,String.valueOf(model.getter());
params.put(“b”,String.valueOf(model.getCat());
返回参数;
}
};
RequestQueue queue=VolleySingleton.getInstance().getRequestQueue();
添加(请求);
返回rootView;
}
私有无效trustAllCertificates(){
试一试{
TrustManager[]trustAllCerts=新的TrustManager[]{
新X509TrustManager(){
公共X509证书[]getAcceptedIssuers(){
X509Certificate[]myTrustedAnchors=新的X509Certificate[0];
返回myTrustedAnchors;
}
@凌驾
public void checkClientTrusted(X509Certificate[]证书,字符串authType){}
@凌驾
public void checkServerTrusted(X509Certificate[]证书,字符串authType){}
}
};
SSLContext sc=SSLContext.getInstance(“SSL”);
sc.init(null,trustAllCerts,new SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSo
String.valueOf(model.getTr()); // 104 is true
String.valueOf(model.getCat()); // 1 is true
Use to import self-signed SSL certificate to Volley on Android 4.1+
It will make volley to Trust all SSL certificates
I hope it will work.

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.player_artists_dialog, container, false);

    getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
    getDialog().setCancelable(true);

    model = this.getArguments().getParcelable("model");

    progressBar = (ProgressBar) rootView.findViewById(R.id.progressBar);
    listView = (ListView) rootView.findViewById(R.id.listView);

    listView.setVisibility(View.INVISIBLE);
    progressBar.setVisibility(View.VISIBLE);

        //use trustAllCertificates here.
   trustAllCertificates();


    StringRequest request = new StringRequest(Request.Method.POST,
            ".. url ..",

            new Response.Listener<String>() {

                @Override
                public void onResponse(String response) {

                    Toast.makeText(getContext(), response, Toast.LENGTH_LONG).show(); // show null

                }
            },

            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError ex) {
                }
            }) {

        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String, String> params = new HashMap<>();
            params.put("a", String.valueOf(model.getTr()));
            params.put("b", String.valueOf(model.getCat()));
            return params;
        }

    };

    RequestQueue queue = VolleySingleton.getInstance().getRequestQueue();
    queue.add(request);

    return rootView;
}
 private void trustAllCertificates() {
        try {
            TrustManager[] trustAllCerts = new TrustManager[] {
                    new X509TrustManager() {
                        public X509Certificate[] getAcceptedIssuers() {
                            X509Certificate[] myTrustedAnchors = new X509Certificate[0];
                            return myTrustedAnchors;
                        }

                        @Override
                        public void checkClientTrusted(X509Certificate[] certs, String authType) {}

                        @Override
                        public void checkServerTrusted(X509Certificate[] certs, String authType) {}
                    }
            };

            SSLContext sc = SSLContext.getInstance("SSL");
            sc.init(null, trustAllCerts, new SecureRandom());
            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
            HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
                @Override
                public boolean verify(String arg0, SSLSession arg1) {
                    return true;
                }
            });
        } catch (Exception e) {
        }
    }
use this
String crappyPrefix = "null";

if(result.startsWith(crappyPrefix)){
    result = result.substring(crappyPrefix.length(), result.length());
}
JSONObject jo = new JSONObject(result);