Facebook Graph를 통해 Facebook 게시물을 가져 오는 앱을 만들었습니다. 모든 것은 내 휴대폰에서 훌륭하게 작동합니다 (Cubot Note S & & UMI Diamond).하지만 내 휴대폰 LG K10 (2017)에있는 다른 휴대 전화에서 앱을 열려고 할 때. 나는 오류가 발생합니다 : java.lang.NullPointerException:
그리고 왜, 첫 번째 휴대폰이 응용 프로그램이 아주 잘 작동 때문에 모르겠어요.Facebook Graph java.lang.NullPointerException
먼저 두 개의 전화 7.0이 6.0 안드로이드와 LG 될 수있다 : 여기
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)
라인 for (int i = 0; i < (variabila2.getPosts().getData().size()) - 1; i++)
나는 그것이 나에게 오류를 제공 variabila2.getPosts()....
에 액세스하려고 할 때마다입니다 이게 문제 야?
나는이 방법으로 GraphCall
을했다 :
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;
}
}
이 내 첫 휴대폰에서 작동하지만,이 휴대 전화에 (아마도 다른 휴대 전화에하는)가 작동하지 않습니다.
이 문제에 관해 알고 싶다면 도와주세요.
여기에 json 응답을 추가하십시오. –
{ "id": "2016399981939546", "name": "Grigore Saveluc Rodica"}. 이제 왜 내가 널 포인트를 주는지 알 겠어. 근데 왜이 전화에 나 한테 전화하지 않는거야? Cubot : { "id": "1813718138656862", "이름": "Iulian Grigore", "posts": { "데이터": [{ "링크": "https : \/\/www.facebook.com \ BananaGiveaway \/phot ...... – Gireada
귀하의 답변 ** variabila2 **는 jsonarray가 아닙니다.이 JSONObject입니다. –