Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.24 KB | None | 0 0
  1. package com.example.attempt3;
  2.  
  3. import androidx.appcompat.app.AppCompatActivity;
  4. import androidx.recyclerview.widget.LinearLayoutManager;
  5. import androidx.recyclerview.widget.RecyclerView;
  6. import androidx.appcompat.widget.Toolbar;
  7.  
  8. import android.os.Bundle;
  9. import android.view.Menu;
  10. import android.view.MenuInflater;
  11.  
  12.  
  13. import com.android.volley.Request;
  14. import com.android.volley.RequestQueue;
  15. import com.android.volley.Response;
  16. import com.android.volley.VolleyError;
  17. import com.android.volley.toolbox.StringRequest;
  18. import com.android.volley.toolbox.Volley;
  19. import com.example.attempt3.Model.Airport;
  20.  
  21. import org.json.JSONArray;
  22. import org.json.JSONException;
  23. import org.json.JSONObject;
  24.  
  25. import java.util.ArrayList;
  26.  
  27. public class MainActivity extends AppCompatActivity implements AirportRecyclerAdapter.airportClickListener {
  28.     private static final String TAG = "MainActivity";
  29.     private AirportRecyclerAdapter airportRecyclerAdapter;
  30.     private ArrayList<Airport> airports = new ArrayList<>();
  31.     Toolbar toolbar;
  32.  
  33.     @Override
  34.     protected void onCreate(Bundle savedInstanceState) {
  35.         super.onCreate(savedInstanceState);
  36.         setContentView(R.layout.activity_main);
  37.         toolbar = findViewById(R.id.toolbar);
  38.         setSupportActionBar(toolbar);
  39.  
  40.         initJSON();
  41.         initRecycler();
  42.     }
  43.  
  44.     @Override
  45.     public boolean onCreateOptionsMenu(Menu menu) {
  46.         MenuInflater inflater = getMenuInflater();
  47.         inflater.inflate(R.menu.home, menu);
  48.         return super.onCreateOptionsMenu(menu);
  49.     }
  50.  
  51.     private void initJSON(){
  52.         RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
  53.         String url = "https://api.flightstats.com/flex/airports/rest/v1/json/countryCode/NL?appId=557923e0&appKey=1e018adbaab6966b8b246130602e8b89";
  54.         StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
  55.             @Override
  56.             public void onResponse(String response) {
  57.                 try {
  58.                     JSONArray jsonArray= new JSONObject(response).getJSONArray("airports");
  59.                     for(int index = 0;index < jsonArray.length();index++){
  60.                         JSONObject airportObject = jsonArray.getJSONObject(index);
  61.                         airports.add(new Airport(airportObject.getString("name"),airportObject.getString("city")));
  62.                         airportRecyclerAdapter.notifyDataSetChanged();
  63.                     }
  64.                 } catch (JSONException e) {
  65.                     e.printStackTrace();
  66.                 }
  67.             }
  68.         }, new Response.ErrorListener() {
  69.             @Override
  70.             public void onErrorResponse(VolleyError error) {
  71.                 error.printStackTrace();
  72.             }
  73.         });
  74.         requestQueue.add(stringRequest);
  75.     }
  76.     private void initRecycler(){
  77.         RecyclerView recyclerView = findViewById(R.id.AirportRecyclerView);
  78.         airportRecyclerAdapter = new AirportRecyclerAdapter(MainActivity.this,airports);
  79.         recyclerView.setAdapter(airportRecyclerAdapter);
  80.         recyclerView.setLayoutManager(new LinearLayoutManager(this));
  81.     }
  82.  
  83.     @Override
  84.     public void onAirportClick(int position) {
  85.  
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement