Android根據(jù)不同身份配置APP對應(yīng)的不同模塊方法
項目需求為APP的使用單位有很多部門,各個部分的業(yè)務(wù)也是獨立的,所以開發(fā)的APP中如果把所有的模塊都顯示出來然后再做權(quán)限分配,會顯得屏幕全是各個模塊,而使用的人員只使用其中一到兩個,這樣給使用者帶來了不便,那么如何能根據(jù)不同業(yè)務(wù)部門不同身份的人登錄APP后,顯示對應(yīng)身份所能看到的模塊就變成本次要解決的問題了。
解決思路:APP的主頁用gridview來動態(tài)加載模塊,然后通過list給gridview進行適配,最后在屏幕上顯示出來;
但是問題來了,如何保證點擊對應(yīng)模塊就進入相對應(yīng)的模塊內(nèi),例如張三的權(quán)限是個人中心和數(shù)據(jù)查看兩個模塊,而李四的權(quán)限是數(shù)據(jù)統(tǒng)計,那么張三登錄進去時屏幕第一個顯示個人中心,第二個顯示數(shù)據(jù)查看,點擊個人中心進入對應(yīng)的個人中心,點擊數(shù)據(jù)查看進入對應(yīng)的數(shù)據(jù)查看;而李四登錄進入是屏幕只顯示數(shù)據(jù)統(tǒng)計,如何做到點擊數(shù)據(jù)統(tǒng)計進入對應(yīng)的數(shù)據(jù)統(tǒng)計而不是進入個人中心。
因此,屏幕上模塊的點擊事件也應(yīng)該根據(jù)身份權(quán)限進行加載,不同身份動態(tài)加載所對用模塊的點擊事件。
if(sharedPreferences.getBoolean("OnlineBooking", false)){
list_imgs.add(i, R.drawable.index_book);
list_text.add(i,"報表查看");
value.put(i, *Activity.class);
i++;
}
if(sharedPreferences.getBoolean("MobileSales", false)){
list_imgs.add(i, R.drawable.index_yidongxiaoshou);
list_text.add(i,"數(shù)據(jù)統(tǒng)計");
value.put(i, *Activity.class);
i++;
}
if(sharedPreferences.getBoolean("Workbench", false)){
list_imgs.add(i, R.drawable.index_workbench);
list_text.add(i,"個人中心");
value.put(i, *Activity.class);
i++;
}
用戶登錄后,將服務(wù)返回的權(quán)限值保存到sharedPreferences中,權(quán)限值為true屏幕進行設(shè)配,值為false則不顯示,上面代碼中將sharedPreferences中的值取出判斷是否為true,如果為true則將模塊的圖片加載到list_imgs,模塊中的圖標下的文字加載到list_test中,最后將對應(yīng)模塊的Activity加載到SparseArray中。
gridview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intentcontent=null;
if(isLogin){
intentcontent=new Intent(MainActivity.this,value.get(position));
startActivity(intentcontent);
}else{
Util.showToast(MainActivity.this, getResources().getString(R.string.nologin));
}
}
});
gridview的點擊事件按照SparseArray中取值value.get(position)對應(yīng)的Activity來進行對應(yīng)的模塊加載。

身份1對應(yīng)的用戶登錄進來顯示的模塊數(shù)

身份2對應(yīng)的用戶登錄進來顯示的模塊數(shù),成功的實現(xiàn)了不同的身份加載不同模塊,并且點擊屏幕模塊進入對應(yīng)的模塊的Activty
以上這篇Android根據(jù)不同身份配置APP對應(yīng)的不同模塊方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android Content Provider詳解及示例代碼
本文主要講解Android Content Provider,這里提供相關(guān)文檔資料,并附有實現(xiàn)代碼和實現(xiàn)效果圖,有需要的小伙伴可以參考下2016-08-08
Android利用DownloadManager實現(xiàn)文件下載
這篇文章主要為大家詳細介紹了Android利用DownloadManager實現(xiàn)文件下載,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08
Android中ListView如何分頁加載數(shù)據(jù)
這篇文章主要介紹了Android中ListView如何分頁加載數(shù)據(jù),本文就結(jié)合實例來演示一下使用ListView獲取數(shù)據(jù)的過程,需要的朋友可以參考下2015-12-12
Android如何通過命令行操作Sqlite3數(shù)據(jù)庫的方法
這篇文章主要介紹了Android如何通過命令行操作Sqlite3數(shù)據(jù)庫的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Android多線程斷點續(xù)傳下載功能實現(xiàn)代碼
這篇文章主要為大家詳細介紹了Android多線程斷點續(xù)傳下載功能的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
Android6.0開發(fā)中屏幕旋轉(zhuǎn)原理與流程分析
這篇文章主要介紹了Android6.0開發(fā)中屏幕旋轉(zhuǎn)原理與流程,結(jié)合實例形式詳細分析了Android6.0屏幕旋轉(zhuǎn)的原理與相關(guān)實現(xiàn)流程,并附帶了Android動態(tài)開啟與禁用屏幕旋轉(zhuǎn)的實現(xiàn)方法,需要的朋友可以參考下2017-11-11
Android編程簡單設(shè)置ListView分割線的方法
這篇文章主要介紹了Android編程簡單設(shè)置ListView分割線的方法,涉及Android布局簡單操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2017-02-02

