Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.attempt3;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.recyclerview.widget.LinearLayoutManager;
- import androidx.recyclerview.widget.RecyclerView;
- import androidx.appcompat.widget.Toolbar;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuInflater;
- import com.android.volley.Request;
- import com.android.volley.RequestQueue;
- import com.android.volley.Response;
- import com.android.volley.VolleyError;
- import com.android.volley.toolbox.StringRequest;
- import com.android.volley.toolbox.Volley;
- import com.example.attempt3.Model.Airport;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.util.ArrayList;
- public class MainActivity extends AppCompatActivity implements AirportRecyclerAdapter.airportClickListener {
- private static final String TAG = "MainActivity";
- private AirportRecyclerAdapter airportRecyclerAdapter;
- private ArrayList<Airport> airports = new ArrayList<>();
- Toolbar toolbar;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- initJSON();
- initRecycler();
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.home, menu);
- return super.onCreateOptionsMenu(menu);
- }
- private void initJSON(){
- RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
- String url = "https://api.flightstats.com/flex/airports/rest/v1/json/countryCode/NL?appId=557923e0&appKey=1e018adbaab6966b8b246130602e8b89";
- StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
- @Override
- public void onResponse(String response) {
- try {
- JSONArray jsonArray= new JSONObject(response).getJSONArray("airports");
- for(int index = 0;index < jsonArray.length();index++){
- JSONObject airportObject = jsonArray.getJSONObject(index);
- airports.add(new Airport(airportObject.getString("name"),airportObject.getString("city")));
- airportRecyclerAdapter.notifyDataSetChanged();
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- }, new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- error.printStackTrace();
- }
- });
- requestQueue.add(stringRequest);
- }
- private void initRecycler(){
- RecyclerView recyclerView = findViewById(R.id.AirportRecyclerView);
- airportRecyclerAdapter = new AirportRecyclerAdapter(MainActivity.this,airports);
- recyclerView.setAdapter(airportRecyclerAdapter);
- recyclerView.setLayoutManager(new LinearLayoutManager(this));
- }
- @Override
- public void onAirportClick(int position) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement