初级入门

Activity :
活动是最基本的Android 应用程序组件,应用程序中,一个活动通常就是一个单独的屏幕。每一个活动
都被实现为一个独立的类,并且从活动基类中继承而来,活动类将会显示由视图控件组成的用户接口,并对
事件做出响应。大多数的应用是由多个屏幕显示组成。例如:一个文本信息的应用也许有一个显示发送消息的
联系人列表屏幕,第二个屏幕用来写文本消息和选择收件人,再来一个屏幕查看消息历史或者消息设置操作
等。这里每一个这样的屏幕就是一个活动,很容易实现从一个屏幕到一个新的屏幕并且完成新的活动。在某
些情况下当前的屏幕也许需要向上一个屏幕活动提供返回值--比如让用户从手机中挑选一张照片返回通讯录
做为电话拨入者的头像。
当一个新的屏幕打开后,前一个屏幕将会暂停,并保存在历史堆栈中。用户可以返回到历史堆栈中的前
一个屏幕。当屏幕不再使用时,还可以从历史堆栈中删除。默认情况下,Android 将会保留从主屏幕到每一
个应用的运行屏幕。
简单理解Activity 代表一个用户所能看到的屏幕,Activity 主要是处理一个应用的整体性工作,例如,监
听系统事件(按键事件、触摸屏事件等)、为用户显示指定的View,启动其他Activity 等。所有应用的Activity
都继承于android.app.Activity 类,该类是Android 提供的基层类,其他的Activity 继承该父类后,通过Override
父类的方法来实现各种功能,这种设计在其他领域也较为常见。
Intent :
调用Android 专有类Intent 进行架构屏幕之间的切换。Intent 是描述应用想要做什么。Intent 数据结构两
个最重要的部分是动作和动作对应的数据。典型的动作类型有:MAIN(活动的门户)、VIEW、PICK、EDIT
等。而动作对应的数据则以URI 的形式进行表示。例如:要查看某个人的联系方式,你需要创建一个动作类
型为VIEW 的Intent,以及一个表示这个人的URI。
Android 使用了Intent 这个特殊类,实现在屏幕与屏幕之间移动。Intent 类用于描述一个应用将会做什么
事。在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。典型的动作类型有:M AIN(activity
的门户)、VIEW、PICK、EDIT 等。而动作对应的数据则以URI 的形式进行表示。例如:要查看一个人的联
系方式,你需要创建一个动作类型为VIEW 的intent,以及一个表示这个人的URI。
与之有关系的一个类叫IntentFilter。相对于intent 是一个有效的做某事的请求,一个intentfilter 则用于描
述一个activity(或者IntentReceiver)能够操作哪些intent。一个activity 如果要显示一个人的联系方式时,需
要声明一个IntentFilter,这个IntentFilter 要知道怎么去处理VIEW 动作和表示一个人的URI。IntentFilter 需
要在AndroidManifest.xml 中定义。
通过解析各种intent,从一个屏幕导航到另一个屏幕是很简单的。当向前导航时,activity 将会调用
startActivity(IntentmyIntent)方法。然后,系统会在所有安装的应用程序中定义的IntentFilter 中查找,找到最
匹配myIntent 的Intent 对应的activity。新的activity 接收到myIntent 的通知后,开始运行。当startActivity 方
法被调用将触发解析myIntent 的动作,这个机制提供了两个关键好处:
-----------------------------------Android 编程基础
16
A、Activities 能够重复利用从其它组件中以Intent 的形式产生的一个请求;
B、Activities 可以在任何时候被一个具有相同IntentFilter 的新的Activity 取代。
IntentReceiver:
当你希望你的应用能够对一个外部的事件(如当电话呼入时,或者数据网络可用时,或者到了晚上时)做出响
应,你可以使用一个IntentReceiver。虽然IntentReceiver 在感兴趣的事件发生时,会使用NotificationManager
通知用户,但它并不能生成一个UI。IntentReceiver 在AndroidManifest.xml 中注册,但也可以在代码中使用
Context.registerReceiver()进行注册。当一个intentreceiver 被触发时,你的应用不必对请求调用intentreceiver,
系统会在需要的时候启动你的应用。各种应用还可以通过使用Context.broadcastIntent()将它们自己的
intentreceiver 广播给其它应用程序。
Service :
一个Service 是一段长生命周期的,没有用户界面的程序。比较好的一个例子就是一个正在从播放列表中
播放歌曲的媒体播放器。在一个媒体播放器的应用中,应该会有多个activity,让使用者可以选择歌曲并播放
歌曲。然而,音乐重放这个功能并没有对应的activity,因为使用者当然会认为在导航到其它屏幕时音乐应该
还在播放的。在这个例子中,媒体播放器这个activity 会使用Context.startService()来启动一个service,从而
可以在后台保持音乐的播放。同时,系统也将保持这个service 一直执行,直到这个service 运行结束。另外,
我们还可以通过使用Context.bindService()方法,连接到一个service 上(如果这个service 还没有运行将启动
它)。当连接到一个service 之后,我们还可以service 提供的接口与它进行通讯。拿媒体播放器这个例子来说,
我们还可以进行暂停、重播等操作。
Content Provider :
Android 应用程序能够将它们的数据保存到文件、SQLite 数据库中,甚至是任何有效的设备中。当你想
将你的应用数据与其它的应用共享时,内容提供器就可以发挥作用了。因为内容提供器类实现了一组标准的
方法,从而能够让其它的应用保存或读取此内容提供器处理的各种数据类型。
数据是应用的核心。在Android 中,默认使用鼎鼎大名的SQLite 作为系统DB。但是在Android 中,使用方
法有点小小的不一样。在Android 中每一个应用都运行在各自的进程中,当你的应用需要访问其他应用的数
据时,也就需要数据在不同的虚拟机之间传递,这样的情况操作起来可能有些困难(正常情况下,你不能读取
其他的应用的db 文件),ContentProvider 正是用来解决在不同的应用包之间共享数据的工具。
� 所有被一个Android 应用程序创建的偏好设置,文件和数据库都是私有的。
� 为了和其他应用程序共享数据,应用程序不得不创建一个Content Provider
� 要回索其他应用程序的数据,它自己的Content Provider 必须被调用
� Android 本地Content Provider 包括:
� CallLog:地址和接收到的电话信息
� Contact.People.Phones:存储电话号码
� Setting.System:系统设置和偏好设置
� 等等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于初学者来说,学习Linux可以从以下几个方面开始: 1. 熟悉Linux的基本概念:了解Linux操作系统的特点、文件系统、用户权限等基本概念,可以通过阅读相关书籍或在线教程来学习。 2. 安装Linux:选择一款适合自己的Linux发行版,并进行安装。常见的发行版有Ubuntu、CentOS、Fedora等,其中Ubuntu比较适合初学者。 3. 学习基本的命令行操作:掌握常用的命令行操作是学习Linux的基础。比如,学习如何在终端中浏览文件、创建和删除文件和目录、复制和移动文件等。 4. 学习Shell脚本编程:Shell脚本是自动化任务和批处理的重要方式。你可以学习如何编写简单的Shell脚本来完成一些常见的任务,比如备份文件、定时任务等。 5. 网络配置和服务管理:学习如何配置网络连接、设置IP地址、管理网络服务等。你可以了解一些常用的网络命令,比如ifconfig、ping、ssh等。 6. 学习软件包管理:Linux系统中有许多软件包可以供你使用。学习如何使用包管理器来安装、更新和卸载软件包非常重要。不同的Linux发行版使用不同的包管理器,比如apt、yum、dnf等。 7. 掌握常见的系统管理任务:学习如何管理用户和用户组、配置系统服务、监控系统性能等。你可以学习如何使用一些常用的工具,比如useradd、systemctl、top等。 8. 加强实践和实际应用:通过实践来加深对Linux的理解和应用能力。可以尝试搭建一个Web服务器、配置网络防火墙、部署数据库等。 以上是一个初级入门教程的大致内容,你可以根据自己的需求和兴趣深入学习。同时,多阅读Linux相关的书籍和文档,参与Linux社区的讨论,也是提高自己的有效途径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值