隐藏应用功能的需求

在Android的设备上的应用分为系统应用和用户自己安装的应用。其中系统应用是无法删除的,但是部分用户不用系统应用又无法删除,“眼不见为净”,就可以使用隐藏功能将其隐藏起来。有的部分应用可能不想被其它人使用(想你借手机玩的人),就可以使用隐藏功能将其隐藏起来。

隐藏应用功能涉及的知识

1.GridView

GridView是Android中的数据显示控件之一。GridView的视图排列方式与矩阵类似,当屏幕上有很多元素(文字、图片或其他元素)需要显示时,可以使用GirdView。既然有多个元素要显示,就需要使用BaseAdapter来存储这些元素。用户可能会选择其中一个元素进行操作,这就需要设置事件监听setOnItemClickListener来捕捉和处理事件。

2.数据持久化

1) 使用Preferences存储应用程序数据

Preferences是一种轻量级的数据存储机制,他将一些简单的数据类型的数据,包括boolean类型,int类型,float类型,long类型 以及String类型的数据,以键值对的形式存储在应用程序的私有Preferences目录(/data/data/<包名>/shared_prefs/)中,这种Preferences机制广泛应用于存储应用程序中的配置信息。

2)文件I/O

Android平台主要通过java.io.FileInputStream和java.io.FileOutputStream这两个类来实现对文件的读写,java.io.File类则用来构造一个具体指向某个文件或者文件夹的对象。

需要注意的是:每个应用程序所在的包都会有一个私有的存储数据的目录,只有属于这个包中的应用程序才有写入的权限,每个包中应用程序的私有数据目录位于 Android系统中的绝对路径/data/data/<package>/目录中,除了私有目录,应用程序还拥有/sdcard目录即 Android设备上的SD卡的写入权限。文件系统中其他的系统目录,第三方应用程序都是不可写的。

3)SQLite数据库

在实际的应用程序编写中,为了更好的对SQlite数据的创建,打开,更改进行管理,往往会编写一个SQLiteOpenHelper的数据库辅助类来帮助我们创建和打开数据库。

利用SQLiteDatabase对象操作数据库,他除了提供execSQL()和rawQuery()这种直接对SQL语句解析的方法外,还针对insert,upate,delete,select等操作专门定义了相关的方法。

Cursor的使用:查询数据库均会把查询的结果包装在一个Cursor的子类对象中返回。

4)ContentProvider

当数据需要在应用程序之间共享时,我们就可以用ContentProvider为数据库定义一个URI。之后其他应用程序对数据进行查询或者修改时候,只需要从当前上下文对象获得一个ContentResolver传入相应的URI就可以了。

隐藏应用功能详细设计

隐藏应用主要涉及一下四个数据类型

名称

类型

作用

mApps

List

存放设备上所有安装应用的包名

mDisApp

List

存放显示的应用的包名

hm

HashMap

存放包名与Flag的键值对

DB

SQLite数据库

存放用户关于隐藏的设置

用户在操作的过程中可能安装或者卸载应用,所以要考虑hm与DB中数据的一致性,保证两者的一致性是在Activity的生命周期中的onStop()和onCreate()中完成的,两者的流程图如下所示:

Android:实现隐藏应用功能相关推荐

  1. android 无线充电架构,大神发现Android 11隐藏新功能:反向无线充电放心了

    原标题:大神发现Android 11隐藏新功能:反向无线充电放心了 今天,谷歌正式发布了Android 11开发者预览版,不过XDA大神在研究Pxiel 4的Android11系统时,发现了隐藏的新功 ...

  2. android中隐藏的功能,iOS与Android的奥秘:那些你未必了解的隐藏功能

    [51CTO译文]也许大家自认为已经堪称高科技领域的老鸟用户,透彻了解关于iOS与Android系统的一切小秘密--但实际情况恐怕并非如此:总会有一些在说明文档中未有提及(或者未有明确提及)的命令.控 ...

  3. android 隐藏功能介绍,安卓手机隐藏的功能介绍,有没有你不知道的?

    前几日就连销声匿迹一段时间的诺基亚手机也发出信号说即将生产安卓系统的手机.由此可见在智能手机市场中安卓手机的地位绝对是不可动摇的.除了苹果系统的手机之外,基本上目前市面的所有手机都是安卓系统,所以我们 ...

  4. android listview 滚动条不隐藏,Android ListView隐藏右侧滚动条功能

    关于ListView的滚动条几种情形: 1.默认情况:活动(滚动)时显示,不活动时隐藏. 2.活动和不活动时都显示. 3.活动和不活动时都隐藏. 上述集中情况,均有ListView的以下设置属性方法控 ...

  5. android无线充电技术,国外大神发现Android 11隐藏功能:反向无线充电

    中关村在线消息:近日据悉,谷歌正式发布了Android 11开发者预览版,不过国外XDA大神在研究Pxiel 4的Android 11系统时,发现了隐藏的新功能--Battery share. 国外大 ...

  6. android 无线充电节点,国外大神发现 Android 11 隐藏功能:反向无线充电

    中关村在线消息:近日据悉,谷歌正式发布了 Android 11 开发者预览版,不过国外 XDA 大神在研究 Pxiel 4 的 Android 11 系统时,发现了隐藏的新功能-- Battery s ...

  7. android无线充电技术,XDA大神挖出Android 11隐藏功能:反向无线充电

    原标题:XDA大神挖出Android 11隐藏功能:反向无线充电 来源:快科技 今天,谷歌正式发布了Android 11开发者预览版,不过XDA大神在研究Pxiel 4的Android 11系统时,发 ...

  8. 华为android怎样隐藏软件,华为怎么打开隐藏应用功能

    隐藏应用是没有密码的,隐藏应用的方法:在主桌面两指分开,进入隐藏应用界面,点击+(添加),然后点击要隐藏的应用,再点击确定即可.应用锁有密码,是机主设定的,如果设置了指纹访问应用,可以使用指纹解开,如 ...

  9. android qq隐藏功能,90﹪的人都不知道--手机QQ这些隐藏的功能!

    90﹪的人都不知道--手机QQ这些隐藏的功能! 我们在平时玩手机的时候,最常用到微信,当然QQ也算是我们日常生活中使用频率最多的社交工具之一,它于1999年推出,随着不断的更新迭代,如今的QQ功能可以 ...

最新文章

  1. 「mysql优化专题」90%程序员都会忽略的增删改优化(2)
  2. php input 数组的值,如何获取2值表单输入数组到PHP数组中(How to get 2 value form input array into PHP array)...
  3. ssl1761-城市问题【图论,最短路,Dijkstra】
  4. 《Python Cookbook 3rd》笔记(5.10):内存映射的二进制文件
  5. 2018中国国际大数据大会专属报名通道(免费)开通啦!
  6. OpenShift 4 之AMQ Streams(1) - 多个Consumer从Partition接收数据
  7. 常用位操作技巧(Golang)
  8. 电脑服务器系统被管理员停用,Win7系统任务管理器已被系统管理员停用怎么办?...
  9. 蓝牙 查询码 android,android bluetooth UUID蓝牙查询表
  10. NumPy 算术函数
  11. C/C++ 编译器优化
  12. J2EE学习笔记-第二章(Web应用初步)
  13. 反编译工具Reflector下载(集成两个常用.net插件,FileGenerator和FileDisassembler)
  14. 非平稳时间序列突变检测 -- Bernaola Galvan分割算法
  15. Arduino循迹小车教程三----测试小车篇
  16. RapidMiner
  17. STM32产生固定频率和占空比可变的PWM
  18. 什么是BeautifulSoup
  19. php制作日历带节日实验目的,php制作日历
  20. 电脑接通电源时不能睡眠休眠问题解决

热门文章

  1. Ping命令和网络端口
  2. 通过java程序判断用户输入的是字符串还是整数
  3. html如何设置整体文本颜色,如何在HTML中更改文本颜色?
  4. 老板一定要知道的4个财税知识,很多老板还没意识到
  5. Excel数据分析之图表
  6. 微信小程序实现文字滚动
  7. mysql联合索引单列索引效率_联合索引和单个索引使用注意事项
  8. 用python实现PCA降维
  9. AMD处理器安装CentOS 64的注意事项
  10. 将xls表格文件转为xml文件以及json格式的文件,支持2010xls解析