基于android系统的个性化防火墙设计与实现毕业设计论文(编辑修改稿)内容摘要:

构成。 接口都是由一组以树的形式出现的视图组成的。 开 发者可以通过创建一个新的视图的方法来使用自定义的图形处理技术 (比如开发游戏,或者是使用了不常用的用户图形窗口界面 )。 (4) 意图 : 意图是一个简单的消息对象,它表示程序想做某事的 ”意图 ”。 比如应用程序想要显示一个网页,那么它可以通过创建一个 Intent实例并将其传递给系统来表示意图浏览这个 URI。 系统将定位到能处理这一 Intent的代码(在当前情况下就是浏览器 ),并运行之。 意图也可以用于广播系统范围内的有效事件 (例如通知事件 )。 (5) 服务 : 服务是运行在后台的一段代码。 它可以运行在它自己的进程,也可以 运行在其他应用程序的进程里,这取决于自身的需要。 其它的组件可以 7 绑定到一个服务上来,通过远程过程调用 (RPC)来调用这个方法。 例如媒体播放器的服务,当用户退出媒体选择的界面时,仍然希望音乐依然可以继续播放,这时就可用服务来保证当用户界面关闭时音乐还继续播放着。 (6) 通知 : 通知将以小图标的形式呈现在状态栏里,用户通过与图标的交互来接收消息。 最常见的通知包括短信息、通话记录和语音邮件,但是应用程序也可以创建它们自己的通知事件。 Android应用程序结构 剖 析 通常由以下四个组件来构建一个完整的 Android应用程序。 ① 活动 ② 意图接收器 ③ 内容提供者 ④ 服务 当然 ,并不是所有的 Android 应用程序都 得具备上述 的四个组件,可以由上面的一个或几个来组建。 当决定使用以上哪些组件来构建 Android 应用程序时,需要将它们注册在 ,这是一个 XML配置文件,在这个文件中可以声明应用程序组件以及它们的特性和要求。 这个配置文件是每个 Android应用程序所必需的。 1. 活动 活动是 上述的 四个组件中最常用的一个。 每个活动都是 Activity 的子类,并实现 一些独有的功能, 如管理 UI 显示和 UI 的反馈事件。 一个活动就相当于应用程序的一个用户界面,由事件响应以及视图等组成。 大多数的应用程序通常包括多个界面。 例如 : 一个文本聊天应用程序,至少应该包含一个联系人列表界面、一个聊天界面、一个设置界面、一个聊天记录查询界面等等。 每个界面其实都可看作是一个活动。 显示一个新界面就相当于生成一个对应的活动对象。 在一些情况下,活动能够返回给它的上级界面一个返回值,例如一个提供给用户选择照片的活动可以返回给它的调用者用户选择了哪个照片文件。 8 2. 意图接收器 当想要编写代码来对外部事件做一些处理时, 可以使用意图接收器。 意图接收器并不显示 UI 界面,它是通过 NotificationManager来通知用户他们感兴趣的事件发生了。 意图接收器同样可以被注册在 ,同时也可以在代码中使用 ()来注册自己的意图接收器。 当一个意图接收器被触发时,系统会根据需要来启动应用程序。 3. 服务 服务是具有长生命周期并且没有用户界面的代码 , 它在后台运行。 不仅可以使用本地服务,还能使用远程服务。 4. 内容提供者 在 Android中,每个应用程 序都是有自己的 userID及在自己的进程中执行。 这样做的好处是,可以保护系统及应用程序,避免被其他不正常的应用程序所影响。 可以把每个进程想象成是一个黑盒子,彼此不会互相影响,连内存的资料都无法共享。 如果应用程序之间想要共享数据,就需要使用内容提供者。 一个内容提供者就是一个类,它实现了一个标准的方法集合。 其他的应用程序可以使用这些方法来保存和检索此内容提供者处理过的数据。 5. Intent的详细解析 一个 Android 应用程序主要由四种组件组成,这四种组件可参考上一节的内容。 而这四种组件是独立的,它们之间可以 互相调用,协调工作,最终组成一个真正的 Android 应用。 这些组件之间的通讯只要由意图协助完成。 意图负责对应用中一次操作的动作、动作对应的数据、附加数据进行描述, Android则根据此意图的描述,负责找到相应的组件,将意图传递给它,并完成组件的调用。 因此,意图在这里起着一个媒体中介的作用,专门提供组件之间互相调用的相关信息,实现调用者与被调用者之间的 交互。 6. Android活动的生命周期 Android应用程序的生命周期是由 Android框架进行管理,而不是由应用程序直接控制。 通常,每一个应用程序 (入口一 般会是一个活动的 onCreate方法 ), 9 都会占据一个进程。 当系统内存即将不足的时候,会依照优先级自动进行进程的回收。 不管是使用者或开发者,都无法确定应用程序何时会被回收。 关于进程的生命周期将在下一节中介绍,本节主要介绍活动的生命周期。 一个活动类别除了 onCreate 方法之外,还预先定义了 onPause(暂停 )、onResume(继续 )等的基本方法,当从一个活动切换到另一个活动的时候,原来的活动将经过一连串的状态改变。 开发者可以在程序中添加一些各状态相对应的流程,每次活动状态改变时,就会执行相对应的流程。 要 让用户有好的使用体验,活动需要在各个周期中负责保管状态、恢复状态、传送资料等工作。 7. 活动的运作 过 程 (l)一般启动 启动一个活动的基本流程为 onCreate一 onStart一 onResume。 该流程首先分配资源给这个活动 (创建状态 ),然后将活动的内容显示到屏幕上 (启动状态 );在一切就绪后,取得屏幕的控制权 (恢复状态 ),用户可以开始使用这个程序。 (2)调用另一个活动 调用另一个活动的基本流程为 onPause(l)一 onCreate(2)一 onStart(2)一 onResume(2)一 onStop(l)。 该流程首先冻结原来的活动,再交出屏幕控制权 ;直到活动 2完成一般启动流程后,活动 1才会被停止。 (3)回到原来活动 回到原来活动的基本流程为 onPause(2)一 onRestart(1)一 onStart(l)一 onResume(1)一 onStop(2)一 onDestroy(2)。 另外按返回键也可以回到原来的活动。 ( 4)退出结束 退出结束的基本流程为 onPause一 onStop一 onDestroy。 如果程序中有直接调用 finish 方法来关闭活动的话,系统会跳过先冻结的阶段,直接暂停, 停止,然后销毁。 (5)回收后再启动 回收后再启动的基本流程为 onCreate一 onStart一 onResume。 如果被回收掉的活动一旦又重新被调用时,会像一般启动一样再次调用活动的 onCreate方法。 10 第三章 开发环境 的 搭建 开发环境 配置 : JDK + Eclipse +Android SDK + ADT jdk的安装及配置 去相应网站 下 载 JDK,接下来的工作就是安装提示一步一步走。 设置环境变量步骤如下: 我的电脑 属性 高级 环境变量 系统变量中添加以下环境变量。 安装完成之后, 可以在检查 JDK 是否安装成功。 打开 cmd 窗口,输入java ?version 查看 JDK 的版本信息。 出现类似下面的画面表示安装成功了: 图 31 验证 JDK 安装是否成功 Eclipse 安装 去网址为 : //,解压即可运行。 Android SDK安装 在 Android Developers下载 ,下载完成后解压到任意路径。 运行 SDK ,点击 Available Packages。 如果没有出现可安装的包,请点击 Settings,选中 Misc 中的 ”Force : //...”这项,再点击 Available Packages。 选择希望安装的 SDK 及其文档或者其它包,点击 Installation Selected、 11 Accept All、 Install Accepted,开始下载安装所选包。 CMD 运行 android h 如果有类似以下的输出,表明 安装成功。 图 32 验证 Android SDK 是否安装成功 使用 Ec1ipse 下载 ADT(Android开发插件 ) (1)启动 Eclipse,选择 HelpInstall New SoftwareAdd (2)在编辑框中输入插件名字,输入更新插件的地址 : ://,点击 OK。 (3)看到一个更新的列表 ,点击 Finish。 (4)在返回的对话框中选择 Android pluginEclipse IntegrationAndroid development Tools并且点击 Next。 (5)选择 Accept terms of the license agreement,点击 Next。 (6)点击 Finish。 (7)选择 Install All。 (8)重新启动 Eclipse。 (9)重启后设置 Android属性中的 Android SDK 目录 (不包括 SDK 下的Tools): ① 选择 WindowPreferences… 打开编辑属性窗口。 12 ② 选择 Android属性面板。 ③ 点击 Browse… ,选择加入 Android SDK 的目录。 ④ 选择 Apply,最后点击 OK。 使用 Ec1ipse 开发 Android应用 使用 Eclipse IDE开发一个 Android应用。 首先是创建一个 Android工程,然后设置应用启动配置。 然后可以编辑代码,启动,调试应用。 13 第四章 个性化手机防火墙的 概要设计 黑 名单 电话和短信过滤功能的实现 黑名单 选择模式 黑名单的有三种拦截模式 : 只拦截电话 , 只拦截短信 , 两者都拦截。 在黑名单表中有姓名、电话、拦截模式等字段。 实现原理:软件启动后有一个服务(service)在后台运行,在服务中注册有一个监听器,监听电话的状态,当有电话来时,状态会变成响铃状态,在这里可以取得来电的号码。 这时遍历表中的黑名单,看是否有号码和来电号码匹配,如果匹配就是该拦截的号码,这里就把电话结束掉,并写入拦截表中,弹出通知告知有电话被拦截。 短信的拦截和电话拦截不一样,有两种实现方法: (1) 接收系统短信广播:当收到短信时, Android系统会发出一个广播,通知收到短信,拦截短信基 于 Android中的广播机制。 Android中的广播机制是所有注册了该广播监听器的程序都收到广播 (只要先收到广播的应用程序没有结束掉该广播 ),当收到广播就会触发收到广播的事件,可以在这里处理短信,本程序采用这种方法。 优点:可以拦截来信在状态栏的显示通知,适合短信拦截。 缺点:可以发展成 MU,在后台悄悄的收 /发短信 (2) 应用观察者模式,监听短信数据库,操作短信内容 : 当系统收到短信时,会将短信写入短信数据库,可以注册一个监听器来监听短信数据库的变化。 当短信数据库变化时就触发这个事件,在这里可以处理短信。 优点:操作方便,适合简单的短信应用。 缺点:来信会在状态栏显示通知信息。 两 种方式添加黑名单 添加黑名单主要依赖 Android中的内容提供者 (ContentProvider)和内容访问者 (ContentResolver)机制:在 Android中的程序。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。