私のアプリケーションでは、API を使用してサーバーからデータを取得しようとしています。Facebook データを取得しようとしていたので、初めて URL を呼び出すときに facebookid を渡しています。コードは、別のときにサーバーからデータを取得する必要があるようなものです。 url が呼び出されます。
私の問題は、2回目にURLを呼び出すときにnull値を取得していることです。これは、セッションが削除されていることです。私のコードを以下に示します。
public void getdetails(){
JSONObject json = JSONfunctions.getJSONfromURL(unielement+"UserLogin.php?faceid="+facebookID);
System.out.println(unielement+"UserLogin.php?faceid="+facebookID+" "+json);
try{
JSONArray data = json.getJSONArray("data");
//Loop the Array
for(int i=0;i < data.length();i++){
ArrayList<String> list = new ArrayList<String>();
list.add(data.getJSONObject(0).getString("CreditBySelf"));
list.add(data.getJSONObject(0).getString("CreditThroughFriend"));
list.add(data.getJSONObject(0).getString("ForUser"));
list.add(data.getJSONObject(0).getString("LDrawTicket"));
list.add(data.getJSONObject(0).getString("Buy-In"));
list.add(data.getJSONObject(0).getString("RemVote"));
list.add(data.getJSONObject(0).getString("Voted"));
StringBuilder sb = new StringBuilder();
for (String s : list)
{
sb.append(s);
sb.append("\t");
}
uid = list.get(0);
name = list.get(1).toString();
System.out.println(list);
textView_name1.setText(name);
}
}
catch(JSONException e1){
Toast.makeText(getBaseContext(), "No name Found"+e1 ,Toast.LENGTH_LONG).show();
} catch (ParseException e1) {
e1.printStackTrace();
}
}
上記の関数を呼び出すとセッションが作成され、以下のコードを呼び出すとそこにあるはずです。
public void getdataforsharing(){
JSONObject json = JSONfunctions.getJSONfromURL(unielement+"userfbaction.php");
System.out.println(unielement+"userfbaction.php "+json);
try{
JSONArray wholedata = json.getJSONArray("data");
System.out.println(wholedata);
JSONObject data = wholedata.getJSONObject(0);
System.out.println(data);
//Loop the Array
for(int i=0;i < data.length();i++){
list1 = new ArrayList<String>();
/*list1.add(data.getJSONObject(0).getString("wall_image"));
list1.add(data.getJSONObject(0).getString("wall_title"));
list1.add(data.getJSONObject(0).getString("wall_Description"));*/
list1.add(data.getString("wall_image"));
list1.add(data.getString("wall_title"));
list1.add(data.getString("wall_Description"));
StringBuilder sb = new StringBuilder();
for (String s : list1)
{
sb.append(s);
sb.append("\t");
}
System.out.println("Share on facebook"+list1.get(0));
}
}
catch(JSONException e1){
Toast.makeText(getBaseContext(), "No name Found"+e1 ,Toast.LENGTH_LONG).show();
} catch (ParseException e1) {
e1.printStackTrace();
}
}
この関数を呼び出すと、最初の関数によって作成されたセッションが取得されず、null データが取得されます。
これの何が問題なのですか?誰か助けてください。