Calling web API and Receive return value in Android

后端 未结 4 1427
花落未央
花落未央 2021-01-03 15:45

I\'ve googled for that topics and don\'t get any useful information.

I want to use Web API in my android projects, but don\'t know how to call them from android or j

4条回答
  •  悲&欢浪女
    2021-01-03 16:19

    public class JsonWebServiceCall {
    // HttpURLConnection method to get JSON data from Webservice
    public static String GetJsonString(String mUpdateUrl) {
    
        String result=null;
        try {
    
            URL url = new URL(mUpdateUrl);
    
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            StringBuilder sb = new StringBuilder();
    
            con.setAllowUserInteraction(false);
            con.setInstanceFollowRedirects(true);
            // con.setRequestMethod("POST");
            con.connect();
             if (con.getResponseCode() == HttpURLConnection.HTTP_OK) {
            // BufferedReader bufferedReader = new BufferedReader(new
            // InputStreamReader(con.getInputStream()));
            try {
                InputStream in = new BufferedInputStream(con.getInputStream());
    
                BufferedReader bufferedReader = new BufferedReader(
                        new InputStreamReader(in));
    
                String json;
    
                while ((json = bufferedReader.readLine()) != null) {
                    System.out.println(mUpdateUrl + "kkkkkkkkk------" + json);
                    sb.append(json + "\n");
                }
            } catch (Exception e) {
    
                e.printStackTrace();
    
            }
            Log.i("json", "===" + sb.toString().trim());
            result=sb.toString().trim();}
             else{
                 result=null;
             }
     return result;
        } catch (Exception e) {
            return null;
        }
    
    }
    
    // HttpURLConnection method to get JSON data from Webservice
    public static String PostJsonString(String mUpdateUrl, String webserviceurl) {
    
        // BufferedReader bufferedReader = null;
        try {
    
            String urlParameters = mUpdateUrl;
            URL url = new URL(webserviceurl);
            URLConnection conn = url.openConnection();
            StringBuilder sb = new StringBuilder();
            conn.setDoOutput(true);
    
            OutputStreamWriter writer = new OutputStreamWriter(
                    conn.getOutputStream());
    
            writer.write(urlParameters);
            writer.flush();
    
            String line;
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    conn.getInputStream()));
    
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
                sb.append(line + "\n");
            }
            writer.close();
            reader.close();
            return sb.toString().trim();
        } catch (Exception e) {
            return null;
        }
    
    }
    

    Asynchtask..........

    public static class AsyncCriticalMessage extends AsyncTask {
    
        String result = null;
        CriticalMessageServiceSuccess criticalMessageServiceSuccess = null;
    
        public AsyncCriticalMessage(CriticalMessageServiceSuccess criticalMessageServiceSuccess) {
            this.criticalMessageServiceSuccess = criticalMessageServiceSuccess;
        }
    
        @Override
        protected Void doInBackground(Void... params) {
            result = JsonWebServiceCall.GetJsonString(Globals.FORCEUPDATE_MESSAGE_SERVICE_URL);
            return null;
        }
    
        @Override
        protected void onPostExecute(Void Result) {
            super.onPostExecute(Result);
    
            criticalMessageServiceSuccess.onSuccess(result);
        }
    }
     AsyncCriticalMessage asyncCriticalMessage=new AsyncCriticalMessage(this);
        asyncCriticalMessage.execute();
    

提交回复
热议问题