Ich habe eine App, die einige Facebook-Post durch Facebook Graph erhält. Alles funktioniert gut auf meinen Handys (Cubot Note S & & UMI Diamond), aber wenn ich versuche, die App auf einem anderen Handy in meinem Fall LG K10 (2017) zu öffnen. Ich bekomme den Fehler: java.lang.NullPointerException:
und ich weiß nicht warum, denn auf den ersten Handys funktionierte diese App sehr gut. HierFacebook Grafik java.lang.NullPointerException
java.lang.NullPointerException: Attempt to invoke virtual method
'java.util.List com.gireada.***.Posts2.getData()' on a null object reference
at com.gireada.***.MainActivity$3$1.onCompleted(MainActivity.java:153)
ist die Linie
for (int i = 0; i < (variabila2.getPosts().getData().size()) - 1; i++)
Jedes Mal, wenn ich versuche, variabila2.getPosts()....
zuzugreifen es gibt mir diese Fehlermeldung:
ersten zwei Telefon haben 6,0 android und LG haben 7,0, könnte sein, Das ist ein Problem?
Ich habe GraphCall
mit dieser Methode:
GraphRequest request = GraphRequest.newMeRequest(
accessToken,
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
System.out.println(object);
Log.d("Profil ", object.toString());
globalObject.setCurentToken(AccessToken.getCurrentAccessToken());
String nome;
/*if (jObjResponse.has("name")) {
nome =
jObjResponse.getString("name");
globalObject.setNume(nome);
}
if (jObjResponse.has("id")) {
nome = jObjResponse.getString("id");
globalObject.setID_User(nome);
}*/
variabila2 = new Gson().fromJson(object.toString(), Variable2.class);
// System.out.println(variabila2.getPosts().toString());
// Log.d("Link ", variabila2.getPosts().getData().get(0).getLink());
for (int i = 0; i < (variabila2.getPosts().getData().size()) - 1; i++)
{
Log.d("Link ", variabila2.getPosts().getData().get(i).getLink());
if (variabila2.getPosts().getData().get(i).getCreated_time() != null)
globalObject.setCreated_global(variabila2.getPosts().getData().get(i).getCreated_time(), i);
else
globalObject.setCreated_global(null, i);
globalObject.setLink_global(variabila2.getPosts().getData().get(i).getLink(), i);
Log.d("Link Personal", variabila2.getPosts().getData().get(i).getLink());
if (variabila2.getPosts().getData().get(i).getFull_picture() != null)
globalObject.setLink_pictures(variabila2.getPosts().getData().get(i).getFull_picture(), i);
else
globalObject.setLink_pictures(null, i);
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,posts.limit(100){link,created_time,description,full_picture}");
request.setParameters(parameters);
request.executeAsync();
**Variable2 class**
public class Variable2
{
public String status;
public Feed feed;
Posts2 posts;
Picture picture;
public Variable2(Posts2 posts2) {
this.posts = posts2;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Feed getFeed() {
return feed;
}
public void setFeed(Feed feed) {
this.feed = feed;
}
public Posts2 getPosts() {
return posts;
}
public void setPosts(Posts2 posts) {
this.posts = posts;
}
public Picture getPicture() {
return picture;
}
public void setPicture(Picture picture) {
this.picture = picture;
}
}
**Post2 class**
public class Posts2 {
public List<Item2> data;
public Posts2(List<Item2> data) {
this.data = data;
}
public List<Item2> getData() {
return data;
}
public void setData(List<Item2> data) {
this.data = data;
}
}
**Item2 class**
public class Item2 {
public String link;
public String created_time;
public String full_picture;
public String description;
public String id;
public Item2(String link, String created_time, String description, String full_picture, String id) {
this.link = link;
this.created_time = created_time;
this.description = description;
this.full_picture = full_picture;
this.id = id;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public String getCreated_time() {
return created_time;
}
public void setCreated_time(String created_time) {
this.created_time = created_time;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getFull_picture() {
return full_picture;
}
public void setFull_picture(String full_picture) {
this.full_picture = full_picture;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
Dies auf meinen ersten Telefonen funktioniert, aber auf diesem Telefon (vielleicht auf anderen Telefonen) es funktioniert nicht.
Bitte helfen Sie mir, wenn Sie eine Idee zu diesem Problem haben.
Fügen Sie hier Ihre JSON-Antwort hinzu. –
{"id": "2016399981939546", "Name": "Grigore Saveluc Rodica"}. Jetzt sehe ich, warum mir NullPoint gibt. Aber warum gib mir nicht Post an diesem Telefon. Auf Cubot: {"id": "1813718138656862", "Name": "Iulian Grigore", "Beiträge": {"Daten": [{"link": "https: \/\/www.facebook.com \// BananaGiveaway \/phot ...... – Gireada
Ihre Antwort ** Variabila2 ** ist nicht Jsonarray. Dies ist ein JSONObject. –