Android软件权限系统的设计论述

日期:2022-10-24 来源:看看米 点击:次 评论

Android软件权限系统的设计论述

  服务器端可能是JavaEE、DOTNET等Web服务器,或者是提供Webservice接口的数据,并且组织成各种形式。Android提供的HttpClient可以向Web服务器发送请求并且处理响应,可以抓取到服务器获得的权限数据,此外Android也提供了Webservice和Socket支持,所以Android从不同形式的服务器都可以获得数据,这为系统实现提供了重要的数据基础,本文着重讨论从Web服务器获得数据的方式。

  数据共享

  Android提供了Application类,在一个应用中这个类的实例被共享,可以将权限数据放在其中,系统所有组件通过Application获得共享的权限数据。Application类通常要通过继承的方式使用。

  Android的可配置性组件

  Android的展示层组件是Activity,这是一个容器组件,其他的组件可以通过配置文件或者硬编码的方式添加到Activity[6]中,然后显示在移动设备界面,其中通过XML配置文件具有灵活配置、维护方便的特点。所有可视化组件都继承了View组件,View组件具有setDescription(String)方法,配置文件是android:description属性,可以将权限数据配置其中,通过这个属性中配置的数据和服务器端抓取的权限数据进行比对,决定组件的可视化。

  Android组件的可见性属性

  View组件可以通过setVisibility(int)方法设置组件的可视化,其参数有三个值,View.VISIBLE设置组件可以显示,View.INVISIBLE设置组件不显示但是占用布局空间,View.GONE设置组件不显示也不占用布局空间。

  Activity组件的遍历

  Activity组件根据getLayoutInflater()方法获得LayoutInflater类型的引用[7],根据这个引用的inflate(int,ViewGroup)方法获得组件的布局,其中第一个参数是布局文件的ID,第二参数是组件组,根据获得布局可以遍历Activity中所有的组件。

  架构设计及代码实现

  权限实体类

  权限实体类包含了权限的相关信息,其中最重要的就是权限数据。以下是权限实体类的代码片段:系统中所有的权限通过Map进行组织,键是权限字符串,值是权限对象,这可以方便通过权限字符串检索权限。

  通过HTTP获取服务器权限点

  这里采用HTTP方式获取服务器数据,它和传统服务器编程中的请求和响应处理是相同的,Android实现了Apache的HttpClient接口,从而实现了HTTP操作。为了便于数据的操作和传送,服务器和Android客户端的数据可以通过JSON格式组织。以下是代码片段:

  数据共享实现

  构建一个BasicApplication类继承Application,这个类的对象可以在应用程序中被每个组件共享访问,所以需要将其构建成单例模式,并给予共享数据的读写方法,以下是这个类的代码:

  权限控制类

  权限控制类控制Activity中组件的可视化,在类中构建一个静态方法publicstaticvoidpermissionControl(Activityact,intresId,Map
  Activity基类

  所有的Activity都要进行权限控制,所以抽取出一个Activity的基类完成权限,Activity组件继承这个基类也就完成了权限控制,然后再完成自己独立的业务,基类具体代码如下:

  结束语

  Android开发现在已经广泛的使用,Android自身是对Java进一步作了适应于移动开发的封装,基于移动应用的开发会越来越普遍,本文重点论述Android端权限系统的架构和实现,其主要目的是在构建可用的权限系统上让代码更加优雅,让系统的使用和可维护性更加方便。

分享到:
更多图片欣赏
更多WWE经典赛事
更多WWE最新赛事
更多女摔图片
热门新闻
日期:2022-10-24 00:00
    更多WWE高清壁纸
    更多WWE比赛图片
    WWE节目列表
    WWE PPV大赛
    WWE RAW赛事
    WWE SmackDown赛事
    WWE Main Event赛事
    WWE Superstars赛事
    WWE Total Divas 赛事
    WWE NXT赛事
    WWE TNA赛事
    WWE UFC赛事
    WWE2017最新赛事
    PVP大赛(每月)
    WWE2017皇家大战
    WWE2017快车道
    WWE2017摔跤狂热大赛
    WWE2017极限规则
    WWE2017血债血偿
    WWE2017合约阶梯大赛
    WWE2017夏日狂潮
    WWE2017冠军之夜
    WWE2017战争之王
    WWE2017地狱牢笼大赛
    WWE2017强者生存大赛
    WWE2017桌子梯子椅子
    图片壁纸
    娱乐图片
    比赛图片
    高清壁纸
    摔角周边
    新闻资讯
    WWE新闻
    TNA新闻
    UFC新闻
    其他新闻
    选手资料
    RAW选手
    SD选手
    WWE名人堂
    其他选手
    其他
    粉丝交流群
    意见反馈
    足球
    NBA
    口号大全
    比赛口号大全
    运动会口号大全
    出场音乐
    最新音乐
    出场音乐
    WWE主题曲
    周边音乐
    狂野角斗士
    中文解说
    国语
    配音
    WWE招式
    WWE女摔
    经典
    wwe美国职业摔角2017
    温馨提示:本站属于摔角娱乐类节目,摔角手经过专业训练,请勿模仿!sj.kankanmi.com
    Copyright © 2017 WWE之家

    看摔角网_wwe美国职业摔角,WWE狂野角斗士wwe最新赛事冠军之夜,wwe中文网,播出时间:周一RAW,周五SD,周四NXT/SS,周五TNA。看摔角网地址:sj.kankanmi.com