Android根据不同身份配置APP对应的不同模块方法

所属分类: 软件编程 / Android 阅读数: 43
收藏 0 赞 0 分享

项目需求为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对应的不同模块方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

使用ViewPager实现android软件使用向导功能实现步骤

现在的大部分android软件,都是使用说明,就是第一次使用该软件时,会出现向导,可以左右滑动,然后就进入应用的主界面了,下面我们就实现这个功能
收藏 0 赞 0 分享

android在异步任务中关闭Cursor的代码方法

android在异步任务中如何关闭Cursor?在我们开发应用的时候,很多时候会遇到这种问题,下面我们就看看代码如何实现
收藏 0 赞 0 分享

Android自定义桌面功能代码实现

android自定义桌面其实很简单,看一个例子就明白了
收藏 0 赞 0 分享

android将图片转换存到数据库再从数据库读取转换成图片实现代码

有时候我们想把图片存入到数据库中,尽管这不是一种明智的选择,但有时候还是不得以会用到,下面说说将图片转换成byte[]数组存入到数据库中去,并从数据库中取出来转换成图像显示出来
收藏 0 赞 0 分享

TextView显示系统时间(时钟功能带秒针变化

用System.currentTimeMillis()可以获取系统当前的时间,我们可以开启一个线程,然后通过handler发消息,来实时的更新TextView上显示的系统时间,可以做一个时钟的功能
收藏 0 赞 0 分享

Android用ListView显示SDCard文件列表的小例子

本文简单实现了用ListView显示SDCard文件列表,目录的回退等功能暂不讨论,获取文件列表,files即为所选择目录下的所有文件列表
收藏 0 赞 0 分享

Android拦截外拨电话程序示例

这篇文章主要介绍了Android拦截外拨电话的示例,大家参考使用吧
收藏 0 赞 0 分享

通过Html网页调用本地安卓(android)app程序代码

如何使用html网页和本地app进行传递数据呢?经过研究,发现还是有方法的,总结了一下,大致有一下几种方式
收藏 0 赞 0 分享

android Textview文字监控(Textview使用方法)

以手机号充值为例,当用户输入最后一位数时候,进行汇率的变换,本文就实现类似这样的功能
收藏 0 赞 0 分享

Android ListView长按弹出菜单二种实现方式示例

这篇文章主要介绍了Android ListView长按弹出菜单的方法,大家参考实现
收藏 0 赞 0 分享
查看更多