Я хочу получить данные с моего сайта WordPress.Я использую rest-api2 в WordPress.И я использую библиотеку залпа для получения данных.Мои данные - json, и я использую библиотеку gson для анализа данных.Я толкаю к списку объектов мои данные.Мой код работает во фрагменте или в Activity, и я хочу использовать этот код в классе обслуживания, но он не работает.
MainActivity:
startService(new Intent(context,VeriServis.class));//in onCreate()
Это мой класс обслуживания:
public class VeriServis extends Service {
Context context = this;
Gson gson;
List<Object> list;
Map<String,Object> mapPost;
Map<String,Object> mapTitle;
Map<String,Object> mapContent;
List<Object> alList = new ArrayList<>();
List<Data> dataList;
String postTitle[];
String postImg[];
String postContent;
String postDate;
int postID;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
pullAndPushData();
}
@Override
public void onDestroy() {
super.onDestroy();
}
public void pullAndPushData(){
String url = "https://haberyaziyorum.com/wp/json/wp/v2/posts?categories=17&page=1";
System.out.println(url);
StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
gson = new Gson();
list = (List)gson.fromJson(s, List.class);
alList.addAll(list);
postTitle = new String[alList.size()];
postImg = new String[alList.size()];
dataList = new ArrayList<>();
for(int i=0;i<alList.size();i++){
mapPost = (Map<String, Object>)alList.get(i);
mapTitle = (Map<String, Object>)mapPost.get("title");
mapContent = (Map<String, Object>)mapPost.get("content");
postTitle[i] = (String)mapTitle.get("rendered");
postImg[i] = (String)mapPost.get("jetpack_featured_media_url");
postID = ((Double)mapPost.get("id")).intValue();
postDate = mapPost.get("date").toString();
postContent = mapContent.get("rendered").toString();
Data d = new Data(17,postID,postTitle[i],postContent,postDate,postImg[i]);
System.out.println(postID+"||"+postTitle[i]+"||"+postContent+"||"+postDate+"||"+postImg[i]);
dataList.add(d);
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
RequestQueue rQueue = Volley.newRequestQueue(context);
rQueue.add(request);
}
}
Как я могу это исправить?