blogjarvisuniverse-blog
blogjarvisuniverse-blog
Untitled
1 post
Don't wanna be here? Send us removal request.
blogjarvisuniverse-blog · 7 years ago
Text
async task
private String url; private Uri.Builder builder; private void jsonRecycerview() {    progressDialog = new ProgressDialog(StudentActivity.this);    progressDialog.setTitle("Get Class List");    progressDialog.setMessage("Loading...");    progressDialog.setCancelable(false);    progressDialog.show();    String url = getResources().getString(R.string.main_service) + getResources().getString(R.string.student_class_by_year);    builder = new Uri.Builder().appendQueryParameter("school_id", sharedPreferences.getString("school_id", ""))            .appendQueryParameter("year", item);    Toast.makeText(StudentActivity.this, "dfg: " + item, Toast.LENGTH_LONG).show();    OnAsyncResult onAsyncResult = new OnAsyncResult() {        @Override        public void onSuccess(String result) {            Log.e("RESULT", ">>>>>> " + result);            progressDialog.dismiss();            try {                JSONObject jsonObject = new JSONObject(result);                if (jsonObject.getString("status").equals("true")) {                    JSONArray jsonArray = jsonObject.getJSONArray("data");                    for (int i = 0; i < jsonArray.length(); i++) {                        JSONObject jsonObject1 = jsonArray.getJSONObject(i);                        StudentYear studentYear = new StudentYear();                        studentYear.setClassName(jsonObject1.getString("class_name"));                        studentYear.setClassYear(jsonObject1.getString("class_year"));                        studentYear.setTotalstudents(jsonObject1.getString("totalstudents"));                        studentYear.setClassId(jsonObject1.getString("class_id"));                        studentYearList.add(studentYear);                    }                }                recyclerView.setLayoutManager(new LinearLayoutManager(StudentActivity.this));                // mStudentClass = new ArrayList<>();                studentClassAdapter = new StudentClassAdapter(StudentActivity.this, studentYearList);                recyclerView.setAdapter(studentClassAdapter);                // studentClassAdapter.notifyDataSetChanged();                //studentClassAdapter.swap(studentYearList);             /*   runOnUiThread(new Thread(new Runnable() {                    @Override                    public void run() {*/              //  studentClassAdapter.refreshEvents(studentYearList);                    /*}                }));*/            } catch (JSONException e) {                e.printStackTrace();            }        }        @Override        public void onFailure(String result) {            progressDialog.dismiss();        }    };    GetAsyncTask getAsyncTask = new GetAsyncTask(url, onAsyncResult, builder);    getAsyncTask.execute(); } import android.net.Uri;
import android.os.AsyncTask; import android.text.TextUtils; import android.util.Log; import java.io.BufferedInputStream; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.StringWriter; import java.net.HttpURLConnection; import java.net.SocketTimeoutException; import java.net.URL; /** * Created by prats on 3/16/2015. */ public class GetAsyncTask extends AsyncTask<Void, Void, String> {    private String url;    private OnAsyncResult onAsyncResult;    private Boolean resultFlag;    private Uri.Builder builder;    public GetAsyncTask(String url, OnAsyncResult listner, Uri.Builder builder) {        this.url = url;        this.onAsyncResult = listner;        resultFlag = false;        this.builder = builder;    }    @Override    protected void onPreExecute() {        super.onPreExecute();    }    @Override    protected String doInBackground(Void... params) {        String final_url = url.replaceAll(" ", "%20");        try {            URL url = new URL(final_url);            HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();            httpURLConnection.setRequestMethod("POST");            httpURLConnection.setConnectTimeout(10000);            httpURLConnection.setReadTimeout(10000);            httpURLConnection.setDoInput(true);            httpURLConnection.setDoOutput(true);           /* Uri.Builder builder = new Uri.Builder()                    .appendQueryParameter("firstParam", paramValue1)                    .appendQueryParameter("secondParam", paramValue2)                    .appendQueryParameter("thirdParam", paramValue3);*/            String query = builder.build().getEncodedQuery();            if (!TextUtils.isEmpty(query)) {                OutputStream os = httpURLConnection.getOutputStream();                BufferedWriter writer = new BufferedWriter(                        new OutputStreamWriter(os, "UTF-8"));                writer.write(query);                writer.flush();                writer.close();                os.close();            }            httpURLConnection.connect();            Log.e("Response Code:", "Response Code: " + httpURLConnection.getResponseCode());            InputStream in = new BufferedInputStream(httpURLConnection.getInputStream());            //String response = org.apache.commons.io.IOUtils.toString(in, "UTF-8");            String response = getStringFromInputStream(in);            Log.e("Response : ", response);            resultFlag = true;            return response;        } catch (SocketTimeoutException e1) {            resultFlag = false;            return "Connection has timed out. Do you want to retry?";        } catch (Exception e) {            e.printStackTrace();            resultFlag = false;            return "Unexpected error has occurred";        }    }    @Override    protected void onPostExecute(String result) {        if (resultFlag) {            if (onAsyncResult != null) {                onAsyncResult.onSuccess(result);            }        } else {            if (onAsyncResult != null) {                onAsyncResult.onFailure(result);            }        }    }    public static String getStringFromInputStream(InputStream stream) throws IOException {        int n = 0;        char[] buffer = new char[1024 * 4];        InputStreamReader reader = new InputStreamReader(stream, "UTF8");        StringWriter writer = new StringWriter();        while (-1 != (n = reader.read(buffer)))            writer.write(buffer, 0, n);        return writer.toString();    } } public interface OnAsyncResult { public void onSuccess(String result); public void onFailure(String result); }
0 notes