Saturday, September 24, 2016

MainActivity Java

package com.oddpick.myapplication;

import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Toast;

import com.android.volley.DefaultRetryPolicy;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.RetryPolicy;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.oddpick.myapplication.adapters.Adapters;
import com.oddpick.myapplication.app.AppConfig;
import com.oddpick.myapplication.app.AppController;
import com.oddpick.myapplication.listeners.RecyclerItemClickListener;
import com.oddpick.myapplication.pojo.Datas;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MainActivity extends AppCompatActivity {

    private List<Datas> list = new ArrayList<>();
    private RecyclerView recyclerView;
    private Adapters mAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        recyclerView = (RecyclerView) findViewById(R.id.recycler_view);

        mAdapter = new Adapters(list);
        RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
        recyclerView.setLayoutManager(mLayoutManager);
        recyclerView.setItemAnimator(new DefaultItemAnimator());
        recyclerView.setAdapter(mAdapter);
        recyclerView.addOnItemTouchListener(
                new RecyclerItemClickListener(getApplicationContext(), new RecyclerItemClickListener.OnItemClickListener() {
                    @Override
                    public void onItemClick(View view, int position) {

                        Intent homeIntent = new Intent(getApplicationContext(), EventActivity.class);
                        homeIntent.putExtra("title", list.get(position).getTitle());
                        homeIntent.putExtra("description", list.get(position).getDescription());
                        startActivity(homeIntent);
                    }
                })
        );



        getData();




    }






    public void getData(){


        String tag_string_req = "req_data";



        StringRequest strReq = new StringRequest(Request.Method.POST,
                AppConfig.URL_POST, new Response.Listener<String>() {

            @Override
            public void onResponse(String response) {

                //Toast.makeText(MainActivity.this, response.toString(), Toast.LENGTH_SHORT).show();







                try {

                    JSONArray jsonArray = new JSONArray(response);
                    for (int i=0; i< jsonArray.length() ;i++){
                        JSONObject jsonObject = jsonArray.getJSONObject(i);


                        String title1=jsonObject.getString("title");
                        String description1=jsonObject.getString("description");

                       Datas datas = new Datas(title1, description1);
                        list.add(datas);

                      //  Toast.makeText(MainActivity.this, items.get(i).getTitle(), Toast.LENGTH_SHORT).show();



                    }

                    mAdapter.notifyDataSetChanged();



                    // Check for error node in json

                } catch (JSONException e) {
                    // JSON error

                }

            }
        }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {


            }
        }) {

            @Override
            protected Map<String, String> getParams() {
                // Posting parameters to login url
                Map<String, String> params = new HashMap<String, String>();



                return params;
            }

        };

        int socketTimeout = 30000;//30 seconds - change to what you want
        RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
        strReq.setRetryPolicy(policy);

        // Adding request to request queue
        AppController.getInstance().addToRequestQueue(strReq, tag_string_req);


    }
}

No comments:

Post a Comment