将数据传输到另一个活动类

时间:2013-04-24 09:39:53

标签: android json facebook

我制作了一个Android应用程序,其中我使用了Facebook登录。我想将用户的Facebook ID转移到另一个Activity类。我使用以下代码来执行此操作

   Bundle bundle = new Bundle();
   bundle.putString("fields", "id");
   AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(facebook);
   asyncRunner.request("me", bundle, new AsyncFacebookRunner.RequestListener() {
        public void onMalformedURLException(MalformedURLException e, Object state) {
            // TODO Auto-generated method stub
        }

        public void onIOException(IOException e, Object state) {
            // TODO Auto-generated method stub
        }

        public void onFileNotFoundException(FileNotFoundException e, Object state) {
            // TODO Auto-generated method stub
        }

        public void onFacebookError(FacebookError e, Object state) {
            // TODO Auto-generated method stub
        }

        public void onComplete(String response, Object state) {
            JSONObject jObject;
            try {
                jObject = new JSONObject(response);
                Log.d("FACEBOOK ID", jObject.getString("id"));

            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }); 

我可以在try和catch中获取Facebook ID但是当我使用此ID或将其转移到另一个活动时,它会显示并传输“null”。

如何将Facebook ID转移到另一个活动类? 请帮助!!!

提前致谢。

3 个答案:

答案 0 :(得分:1)

将您的FACEBOOK用户ID保存在偏好设置中,并在应用

中的任何位置使用它

商店

String loginId = jObject.getString("id");

SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(context);

p.edit().putString("FB_ID", loginId).commit();

在另一项活动中获取ID

SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(context);
String username = p.getString("FB_ID", "");

答案 1 :(得分:0)

这是用于存储id的完整代码,因为我没有看到赋值语句。即你没有存储你在任何地方收到的“id”的值。你刚刚登录了它。

使用

之类的赋值语句
String loginId = jObject.getString("id");

答案 2 :(得分:0)

使用临时演员!

发送:

int id = 42;
Intent i = new Intent(FromActivity.this, ToActivity.class);
i.putExtra("your_identifient", id);
startActivity(i);

进入新的活动:

int id = -1;
Bundle extras = getIntent().getExtras();
if (extras.containsKey("your_identifient"))
  id = extras.getInt("your_identifient", -1);