Мой AppController. java
package com.lol.triviaagain.controller;
import android.app.Application;
import android.content.Context;
import android.graphics.Bitmap;
import android.util.LruCache;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;
public class AppController extends Application {
private static AppController instance;
private RequestQueue requestQueue;
private ImageLoader imageLoader;
private static Context ctx;
private AppController(Context context) {
ctx = context;
requestQueue = getRequestQueue();
imageLoader = new ImageLoader(requestQueue,
new ImageLoader.ImageCache() {
private final LruCache<String, Bitmap>
cache = new LruCache<String, Bitmap>(20);
@Override
public Bitmap getBitmap(String url) {
return cache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap) {
cache.put(url, bitmap);
}
});
}
public static synchronized AppController getInstance(Context context) {
if (instance == null) {
instance = new AppController(context);
}
return instance;
}
public RequestQueue getRequestQueue() {
if (requestQueue == null) {
// getApplicationContext() is key, it keeps you from leaking the
// Activity or BroadcastReceiver if someone passes one in.
requestQueue = Volley.newRequestQueue(ctx.getApplicationContext());
}
return requestQueue;
}
public <T> void addToRequestQueue(Request<T> req) {
getRequestQueue().add(req);
}
public ImageLoader getImageLoader() {
return imageLoader;
}
}
Мой банк вопросов. java
package com.lol.triviaagain.model;
import android.app.Activity;
import android.content.Context;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;
import com.lol.triviaagain.MainActivity;
import com.lol.triviaagain.controller.AppController;
import org.json.JSONArray;
import org.json.JSONException;
import java.util.ArrayList;
import java.util.List;
public class questionbank {
public ArrayList<questions> questionbank = new ArrayList<>();
String url = "https://raw.githubusercontent.com/curiousily/simple-quiz/master/script/statements-data.json";
public List<questions> questionsList()
{
JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method
.GET, url, (JSONArray) null, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
for (int i=0;i<response.length();i++)
{
try {
response.getJSONArray(i).get(0).toString();
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
AppController.getInstance(this).addToRequestQueue(jsonArrayRequest);//Error here
return null;
}
}
Что мне добавить в getInstance ()? Я пробовал This / Mainactivity.this, но это не сработало. если я введу «This 'I get”, getInstance (Android .content.context) не может быть применен к Appcontroller (com. android .triviaagain. model.questionbank). дайте мне знать, если вам нужно больше информации о чем-либо еще.
заранее спасибо