Untitled
unknown
plain_text
2 years ago
3.1 kB
3
Indexable
import android.os.Bundle; import android.util.Log; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; 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.JsonArrayRequest; import com.android.volley.toolbox.Volley; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private RecyclerView recyclerView; private QuestionAdapter questionAdapter; private List<Question> questionList; private static final String TAG = MainActivity.class.getSimpleName(); private static final String API_URL = "YOUR_API_URL_HERE"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recyclerView = findViewById(R.id.recycler_view); recyclerView.setHasFixedSize(true); recyclerView.setLayoutManager(new LinearLayoutManager(this)); questionList = new ArrayList<>(); questionAdapter = new QuestionAdapter(this, questionList); recyclerView.setAdapter(questionAdapter); fetchQuestions(); } private void fetchQuestions() { JsonArrayRequest jsonArrayRequest = new JsonArrayRequest( Request.Method.GET, API_URL, null, new Response.Listener<JSONArray>() { @Override public void onResponse(JSONArray response) { Log.d(TAG, response.toString()); try { for (int i = 0; i < response.length(); i++) { JSONObject questionObject = response.getJSONObject(i); Question question = new Question( questionObject.getString("question"), questionObject.getString("user"), questionObject.getString("timestamp") ); questionList.add(question); } questionAdapter.notifyDataSetChanged(); } catch (JSONException e) { Log.e(TAG, "JSON parsing error: " + e.getMessage()); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e(TAG, "API error: " + error.getMessage()); } } ); RequestQueue requestQueue = Volley.newRequestQueue(this); requestQueue.add(jsonArrayRequest); } }
Editor is loading...