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

 更新时间:2018年07月31日 08:39:44   作者:gracefullum  
今天小编就为大家分享一篇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 Content Provider详解及示例代码

    Android Content Provider详解及示例代码

    本文主要讲解Android Content Provider,这里提供相关文档资料,并附有实现代码和实现效果图,有需要的小伙伴可以参考下
    2016-08-08
  • Android利用DownloadManager实现文件下载

    Android利用DownloadManager实现文件下载

    这篇文章主要为大家详细介绍了Android利用DownloadManager实现文件下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Android中ListView如何分页加载数据

    Android中ListView如何分页加载数据

    这篇文章主要介绍了Android中ListView如何分页加载数据,本文就结合实例来演示一下使用ListView获取数据的过程,需要的朋友可以参考下
    2015-12-12
  • Android如何通过命令行操作Sqlite3数据库的方法

    Android如何通过命令行操作Sqlite3数据库的方法

    这篇文章主要介绍了Android如何通过命令行操作Sqlite3数据库的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Android多线程断点续传下载功能实现代码

    Android多线程断点续传下载功能实现代码

    这篇文章主要为大家详细介绍了Android多线程断点续传下载功能的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Android仿微信网络加载弹出框

    Android仿微信网络加载弹出框

    这篇文章主要为大家详细介绍了Android仿微信网络加载弹出框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Android6.0开发中屏幕旋转原理与流程分析

    Android6.0开发中屏幕旋转原理与流程分析

    这篇文章主要介绍了Android6.0开发中屏幕旋转原理与流程,结合实例形式详细分析了Android6.0屏幕旋转的原理与相关实现流程,并附带了Android动态开启与禁用屏幕旋转的实现方法,需要的朋友可以参考下
    2017-11-11
  • Android右滑返回上一个界面的实现方法

    Android右滑返回上一个界面的实现方法

    这篇文章主要介绍了Android右滑返回上一个界面的实现方法的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
    2017-10-10
  • Android编程简单设置ListView分割线的方法

    Android编程简单设置ListView分割线的方法

    这篇文章主要介绍了Android编程简单设置ListView分割线的方法,涉及Android布局简单操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • Android App如何防止抓包

    Android App如何防止抓包

    我们要知道常用的抓包方式有Charles和Fiddler,他们通过在手机网络中添加代理的方式,拿到App的请求,这篇文章主要给大家介绍了关于Android中App如何防止抓包的相关资料,需要的朋友可以参考下
    2022-03-03

最新评论