Advertisement
rachmadi

MainActivity.java Wisata

Jul 15th, 2016
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.68 KB | None | 0 0
  1. package com.training.android.wisata.activity;
  2.  
  3. import android.app.ProgressDialog;
  4. import android.content.Intent;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.os.Bundle;
  7. import android.util.Log;
  8. import android.view.Menu;
  9. import android.view.MenuItem;
  10. import android.view.View;
  11. import android.widget.AdapterView;
  12. import android.widget.ListView;
  13. import android.widget.Toast;
  14.  
  15. import com.android.volley.Request;
  16. import com.android.volley.Response;
  17. import com.android.volley.VolleyError;
  18. import com.android.volley.VolleyLog;
  19. import com.training.android.wisata.R;
  20. import com.training.android.wisata.adapter.CustomListAdapter;
  21. import com.training.android.wisata.app.AppController;
  22. import com.training.android.wisata.entity.LocationData;
  23. import com.training.android.wisata.entity.User;
  24. import com.training.android.wisata.utility.CustomRequest;
  25. import com.training.android.wisata.utility.Utilities;
  26.  
  27. import org.json.JSONArray;
  28. import org.json.JSONException;
  29. import org.json.JSONObject;
  30.  
  31. import java.util.ArrayList;
  32. import java.util.HashMap;
  33. import java.util.List;
  34. import java.util.Map;
  35.  
  36. public class MainActivity extends AppCompatActivity {
  37.  
  38.     User user;
  39.     Utilities util = new Utilities();
  40.     String url = util.getUrl("location.php");
  41.  
  42.     public static final String TAG = MainActivity.class.getSimpleName();
  43.  
  44.     ProgressDialog progressDialog;
  45.  
  46.     private List<LocationData> locationList = new ArrayList<LocationData>();
  47.     private ListView lvLocation;
  48.     private CustomListAdapter adapter;
  49.  
  50.     @Override
  51.     protected void onCreate(Bundle savedInstanceState) {
  52.         super.onCreate(savedInstanceState);
  53.         setContentView(R.layout.activity_main);
  54.  
  55.         lvLocation = (ListView) findViewById(R.id.lvLocation);
  56.         adapter = new CustomListAdapter(this, locationList);
  57.         lvLocation.setAdapter(adapter);
  58.  
  59.         lvLocation.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  60.             @Override
  61.             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  62.                 String data = locationList.get(position).getLocationName();
  63.                 Toast.makeText(getApplicationContext(), data, Toast.LENGTH_SHORT).show();
  64.             }
  65.         });
  66.  
  67.         user = new User();
  68.         if (!user.isLogin(getApplicationContext())) {
  69.             startActivity(new Intent(getApplicationContext(), Login.class));
  70.             finish();
  71.         } else {
  72.             getLocation();
  73.         }
  74.     }
  75.  
  76.     @Override
  77.     public boolean onCreateOptionsMenu(Menu menu) {
  78.         getMenuInflater().inflate(R.menu.menu_main, menu);
  79.         return true;
  80.     }
  81.  
  82.     @Override
  83.     public boolean onOptionsItemSelected(MenuItem item) {
  84.         int id = item.getItemId();
  85.         if (id == R.id.logout){
  86.             user.logOut(getApplicationContext());
  87.             startActivity(new Intent(getApplicationContext(), Login.class));
  88.             return true;
  89.         }
  90.         return super.onOptionsItemSelected(item);
  91.     }
  92.  
  93.     private void getLocation() {
  94.         Map<String, String> params = new HashMap<>();
  95.         params.put("category", "place");
  96.  
  97.         progressDialog = new ProgressDialog(MainActivity.this);
  98.         progressDialog.setMessage("Loading...");
  99.         progressDialog.show();
  100.  
  101.         CustomRequest jsonObj = new CustomRequest(Request.Method.POST, url, params,
  102.                 new Response.Listener<JSONObject>() {
  103.                     @Override
  104.                     public void onResponse(JSONObject response) {
  105.                         Log.d(TAG, response.toString());
  106.  
  107.                         // awal data sementara
  108.                         try{
  109.                             JSONArray jsonArray = response.getJSONArray("location");
  110.                             for (int i = 0; i < jsonArray.length(); i++){
  111.                                 JSONObject c = jsonArray.getJSONObject(i);
  112.                                 String name = c.getString("location_name");
  113.                                 String province = c.getString("province");
  114.                                 String city = c.getString("city");
  115.                                 String picture = c.getString("picture");
  116.                                 String latitude = c.getString("latitude");
  117.                                 String longitude = c.getString("longitude");
  118.                                 String location_id = c.getString("location_id");
  119.                                 String category = c.getString("category");
  120.                                 locationList.add(new LocationData(
  121.                                         name,
  122.                                         province,
  123.                                         city,
  124.                                         picture,
  125.                                         latitude,
  126.                                         longitude,
  127.                                         location_id,
  128.                                         category
  129.                                 ));
  130.                             }
  131.                         } catch (JSONException e){
  132.                             e.printStackTrace();
  133.                         }
  134.  
  135.  
  136.                         // akhir data sementara
  137.  
  138.                         progressDialog.dismiss();
  139.                     }
  140.                 }, new Response.ErrorListener() {
  141.             @Override
  142.             public void onErrorResponse(VolleyError error) {
  143.                 VolleyLog.d(TAG, "Error: " + error.getMessage());
  144.                 progressDialog.dismiss();
  145.             }
  146.         });
  147.         AppController.getInstance().addToRequestQueue(jsonObj);
  148.     }
  149.  
  150. //    private void fillList(){
  151. ////        lvLocation.setAdapter(adapter);
  152. //    }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement