先看下實現效果:
歡迎界面:
第一次進入登錄界面登錄由於在登錄界面沒有已授權用戶信息,所以自動跳轉到授權界面。
點擊開始就到了微博授權的的界面,這部分是微博SDK中實現的樣子,我也沒有做修改。
點擊完授權之後,拿到access_token後,回調到認證界面,並通過微博API獲取授權用戶信息。並在已經授權的用戶信息保存到數據庫中。
獲取到授權用戶信息後,就跳轉到登錄界面。登錄界面初始化時會從數據庫中獲取當前已經授權用戶的信息。
在登錄界面可以通過右上角的加號按鈕繼續添加帳號(提醒大家的時,未通過審覈的應用要授權的話必須在微博開放平臺添加爲測試用戶,這個當時困惑了我一天,真無語),就和上面的授權流程一樣。授權完之後在登錄界面就可以顯示多個帳號,通過一個Spinner選擇帳號。
所有上述過程看成三個任務:授權過程,獲取用戶信息並保存數據庫,從數據庫獲取用戶信息顯示在登錄界面上。
先看看項目框架吧。。。
Task.java——任務實體類
UserInfo.java——用戶信息實體類
DBHelper.java——數據庫操作類
DBUserInfo.java——對用戶信息進行數據庫操作的工具類
MainService.java——主框架服務
AuthActivity.java——授權界面
LoginActivity.java——登錄界面
Welcome.java——歡迎界面
AuthUtil.java——微博OAuth2認證的工具類
GetUserInfo.java——利用微博API獲取用戶信息的工具類
這裏面界面的佈局文件不算太難,也不是重點,這裏就不錯細講了。