Android根据不同身份配置APP对应的不同模块
来源:互联网 发布:深圳安健科技知乎 编辑:程序博客网 时间:2024/05/21 18:00
项目需求为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对应的不同模块
- log4j根据不同模块配置
- shiro+SpringMVC中根据不同身份进入不同的页面
- 同一个tomcat配置多个端口对应不同的app
- android Viewpage app 不同模块之间跳转的问题。
- android studio根据配置打不同功能的apk
- maven根据不同环境打包不同的配置
- android根据View的不同状态更换不同的背景
- Gradle配置打包成不同的app
- OA权限模块根据用户权限显示不同的菜单
- OA权限模块根据用户权限显示不同的操作按钮
- OA权限模块根据用户权限显示不同的操作按钮
- OA权限模块根据用户权限显示不同的菜单
- OA权限模块根据用户权限显示不同的菜单
- Android动态来改变App桌面图标--根据不同节日显示不同logo
- android根据不同分辨率获取不同分辨率
- Android如何给不同配置机器引入对应的资源文件
- 不同目录结构的路由配置 按钮对应action
- 解决ScrollView嵌套RecyclerView的冲突,非常简单,拿去可以直接用
- jQuery之异步Ajax请求使用
- php使用phpqrcode类库生成带图片LOGO的二维码
- Python打造漏洞扫描器 3
- Android 使用MVP模式 实现一个查询功能。
- Android根据不同身份配置APP对应的不同模块
- AngularJS 05(事件绑定)
- 回溯算法实例
- JavaScript之BOM
- struts1和struts2的区别
- STM32单片机和51单片机区别
- 真正学好前端,其实并不是只会前端
- zImage与uImage的区别
- PCB设计绝招