Untitled
unknown
plain_text
3 years ago
3.1 kB
6
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...