Android根据不同身份配置APP对应的不同模块方法
项目需求为APP的使用单位有很多部门,各个部分的业务也是独立的,所以开发的APP中如果把所有的模块都显示出来然后再做权限分配,会显得屏幕全是各个模块,而使用的人员只使用其中一到两个,这样给使用者带来了不便,那么如何能根据不同业务部门不同身份的人登录APP后,显示对应身份所能看到的模块就变成本次要解决的问题了。
解决思路:APP的主页用gridview来动态加载模块,然后通过list给gridview进行适配,最后在屏幕上显示出来;
但是问题来了,如何保证点击对应模块就进入相对应的模块内,例如张三的权限是个人中心和数据查看两个模块,而李四的权限是数据统计,那么张三登录进去时屏幕第一个显示个人中心,第二个显示数据查看,点击个人中心进入对应的个人中心,点击数据查看进入对应的数据查看;而李四登录进入是屏幕只显示数据统计,如何做到点击数据统计进入对应的数据统计而不是进入个人中心。
因此,屏幕上模块的点击事件也应该根据身份权限进行加载,不同身份动态加载所对用模块的点击事件。
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,"数据统计"); 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++; }
用户登录后,将服务返回的权限值保存到sharedPreferences中,权限值为true屏幕进行设配,值为false则不显示,上面代码中将sharedPreferences中的值取出判断是否为true,如果为true则将模块的图片加载到list_imgs,模块中的图标下的文字加载到list_test中,最后将对应模块的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)对应的Activity来进行对应的模块加载。
身份1对应的用户登录进来显示的模块数
身份2对应的用户登录进来显示的模块数,成功的实现了不同的身份加载不同模块,并且点击屏幕模块进入对应的模块的Activty
以上这篇Android根据不同身份配置APP对应的不同模块方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Android中ScrollView 滑到头部或尾部可伸缩放大效果
最近做项目遇到这样的需求S当crollView 滑动到顶部,不能在滑动的时候,图片可以下拉放大,松开又恢复,滑到底部没有内容的时候,也有伸缩效果,下面通过实例代码给大家介绍Android ScrollView 滑到头部或尾部可伸缩放大功能,一起学习吧2017-03-03ListView的Adapter使用(绑定数据) 之 自定义每一项的布局去绑定数据
之前写的绑定数据是只是简单的绑定了字符串,这次我们将一次绑定多条数据并且尝试用自定义的布局。在这篇文章中首先讲解的是用Hashmap 去绑定数据,第二个例子,讲解自定义布局然后绑定数据2013-06-06Android设置当TextView中的文字超过TextView的容量时用省略号代替
这篇文章主要介绍了Android设置当TextView中的文字超过TextView的容量时用省略号代替 ,需要的朋友可以参考下2017-03-03Android Navigation TabBar控件实现多彩标签栏
这篇文章主要为大家详细介绍了Android Navigation TabBar控件实现多彩标签栏的相关代码,感兴趣的小伙伴们可以参考一下2016-05-05
最新评论