作者chingyue (ChingYue)
看板AndroidDev
標題[問題] 使用FB登入後如何顯示資料
時間Mon Jul 31 18:34:45 2017
各位前輩好!
小弟最近在練習FB SDK中的登入功能
先附上程式碼:
http://codepad.org/202R9AMH
onCreate程式碼(圖):
http://i.imgur.com/Ukn9pjf.jpg
APP執行畫面
1:登入前:
http://i.imgur.com/Lxc6x1n.jpg
2:登入確認畫面:
http://i.imgur.com/26vmue9.jpg
3:登入後:
http://i.imgur.com/8mI0jcr.jpg
4:登出畫面:
http://i.imgur.com/98zomPS.jpg
小弟有些問題需要麻煩各位前輩幫忙解惑
1:只有在使用新模擬器,第一次登入時需要輸入帳號密碼
接下來就算登出,重新登入,都會直接跳到登入確認畫面
請問要如何才能在登出後,清除紀錄,避免每次都登入重複帳號
2:小弟看到文章說可以用
Log.d("FB",object.optString("name"));
讀出想要的資料
然後送出request
可是我的執行結果卻沒有顯示出我想讀取的資料
請問該如何直接在APP上面顯示我想讀取的資料(EX:姓名,FB ID等)
懇請各位前輩不吝賜教!
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.59.114
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1501497289.A.8CC.html
1F:→ gcobc12632: 登出是用這個?LoginManager.getInstance().logOut(); 07/31 18:43
謝謝您! 我會去嘗試看看!
您好
小弟修改後,登出按鈕會變成登入
但是案登入後一樣會直接登入第一次的帳號
沒辦法重新帳號密碼
我是將程式碼放到這裡
protected void onResume() {
super.onResume();
LoginManager.getInstance().logOut();
};
不知道是不是我這樣修改有錯?
2F:→ cf1064: 你只跟他要email權限,我不確定這樣是否可以取得名字 07/31 21:05
謝謝您! 我剛剛有將email改成public_profile
可是依然沒有顯示出名稱等
※ 編輯: chingyue (122.116.59.114), 08/01/2017 09:53:49
3F:→ abcd99887: "email"改成{"email","name","id"}試試看?? 08/01 13:15
謝謝您! 我剛剛將完後會出現錯誤,錯誤圖:
http://i.imgur.com/uAeGwMH.jpg
※ 編輯: chingyue (122.116.59.114), 08/01/2017 15:48:11
4F:→ abcd99887: 應該是name不合法 08/01 16:58
謝謝您! name包在public_profile裡面
我有將email改成public_profile過
可是依然是沒有資料
※ 編輯: chingyue (122.116.59.114), 08/01/2017 17:05:52
謝謝您! 我將程式碼改為String id = object.optString("id");後
依然沒有辦法顯示出來
所以我嘗試將結果顯示到TextView上面
結果app都沒辦法開啟了....
錯誤圖:
http://i.imgur.com/jNXuZps.jpg
※ 編輯: chingyue (122.116.59.114), 08/01/2017 19:29:40
8F:→ rin841005: 看log 08/01 20:57
抱歉,小弟第一次接觸Android
一切都是上網邊看邊試
我剛剛有打開Android Monitor看error那些
可是他一次跳出的訊息量太大了
我無法理解
我會再慢慢一行一行的新增/修改看看
謝謝您
9F:推 ckp4131025: userid:loginResult.getAccessToken().getUserId() 08/01 21:36
10F:→ ckp4131025: name:Profile.getCurrentProfile().getName() 08/01 21:37
11F:→ ckp4131025: id也可以:Profile.getCurrentProfile().getId() 08/01 21:38
12F:→ ckp4131025: url:Profile.getCurrentProfile().getLinkUri() 08/01 21:38
謝謝您 現在是我想要顯示出來的時候
APP都會直接崩潰 所以沒辦法測試到底有沒有成功
我再慢慢嘗試修改看看
※ 編輯: chingyue (122.116.59.114), 08/02/2017 14:53:58
13F:推 ckp4131025: crash可能是有null,檢查一下profile有沒有get到東西 08/02 16:45
14F:→ cf1064: 把mtextview. settext那刪掉應該就不會閃退了? 08/03 00:34
15F:推 cf1064: 你的LoginManager.getInstance().logOut();應該放在onCrea 08/03 00:45
16F:→ cf1064: te裡面,讓他每次啟動app時先登出 08/03 00:45
謝謝您!
我的那一串好像原本就放在<application了
我明天會試看看登出
我會加mtextview. settext
是因為想要顯示出收到的資料
如果刪掉
不就沒有辦法顯示出收到的資料了嗎??
※ 編輯: chingyue (122.116.59.114), 08/03/2017 19:26:35
19F:→ cf1064: 改像我上面寫的那樣應該就可以了 08/03 20:43
20F:→ cf1064: 因為你在oncreate外去findview所以會產生錯誤 08/03 20:44
21F:→ cf1064: 另外如果你登入的方式是透過app的話(按下登入時是啟動app) 08/03 21:00
22F:→ cf1064: 他的logout應該是不會有效果出現,除非你把app中的帳號登 08/03 21:00
23F:→ cf1064: 出 08/03 21:00
25F:→ cf1064: 如果你登入時他像上面的圖彈這個視窗,那代表不是透過fb 08/03 21:03
26F:→ cf1064: app做登入,那你沒有加logout那行也沒差,每次都要登入 08/03 21:03
28F:→ cf1064: 如果你的登入是成功的,在右上那打"FB",應該會看到如上圖 08/03 21:11
29F:→ cf1064: 紅框處的帳號資訊,然後就可以放在你的TextView裡 08/03 21:12
32F:→ cf1064: 剛上面兩張圖貼錯了,補圖Y 08/03 21:13
非常謝謝您! 小弟受教了!
※ 編輯: chingyue (122.116.59.114), 08/04/2017 17:26:32