Android开发教程——Android应用架构
2013-03-02 16:09
302 查看
7.1.AndroidManifest.xml
Android应用的组件和设置在AndroidManifest.xml文件中设置。例如所有的应用活动和服务都必须在这个文件中声明。它必须包含应用需要的权限。例如如果应用需要访问网络它必须在这里声明。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.vogella.android.temperature"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Convert"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="9" />
</manifest>
这个包属性定义了在这个文件中引用的Java对象的基本包。如果一个Java对象存在于不同的包中,它必须用完整的正确包名来声明。
Google Play要求每个Android应用使用自己唯一的包。因此使用你的预留域名作为包名是一个好习惯。这样可以避免和别的Android应用冲突。
android:versionName和android:versionCode制定了你的应用的版本。versionName是用户能看见的内容,并且可以是任何字符串。
versionCode必须是一个整型。Android市场根据versionCode来确定它是否提醒已安装应用的升级。你通常从“1”开始,如果从这个值逐一递增。
<activity>标签定义了一个活动,这个例子中指向了de.vogella.android.temperature包中的Convert类。定义了当应用启动时移动活动的意图过滤器在这个类里注册(android:name=”android.intent.action.MAIN”活动)。类定义category android:name=”android.intent.category.LAUNCHER”定义了这个应用添加到Android设备的应用目录位置。
资源文件中定义的@string/app_name值包含了应用程序名字的值。资源文件的使用更容易为不同的设备提供像字符串,颜色,图标的不同资源,并且更容易转变应用。
文件AndroidManifest.xml文件的uses-sdk部分定义了你的应用的最低有效SDK版本。这样能防止你的应用安装在不支持的设备上。
7.2.活动和生命周期
Android系统控制着你的应用的生命周期。在任何时间Android系统可以停止和结束你的应用,例如一个电话的呼入。Android系统通过预定义的活动定义了一个活动的生命周期。最重要的方法是:onSaveInstanceState() - 在活动停止后调用。用于活动重启时可以恢复之前保存的数据
onPause() - 经常在活动结束时调用,可以被用于释放资源或保存数据
onResume() - 活动重启时调用,可以用于初始化字段
7.3.配置变动
当所谓的“配置变动”发生是一个活动也将会被重启。如果一个和应用相关的事件被触发时一个配置就会发生变化。例如如果用户改变了设备的方向(水平或竖直)。Android假设一个活动为这些方向使用不同的资源就会重启这个活动。在模拟器中用Ctrl+F11模拟这个变化。
你可以通过改变在AndroidManifest.xml定义的活动的configChanges属性来避免重启应用。下面的活动将不会因为方向改变或物理键盘的位置(隐藏/显示)重启。
<activity android:name=".ProgressTestActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden|keyboard">
</activity>
7.4.Context
android.content.Context提供了与Android系统和项目资源的连接。这是和应用环境相关的全局环境的接口。Context也提供了Android服务的访问,例如地点服务。
活动和服务扩展了Context类。
相关文章推荐
- android初级应用到高端架构教程------ 完整体系化学习android开发
- Intellij IDEA开发第一个android应用教程
- 谷歌官方推出Android应用开发架构组件介绍(Android Architecture Components)
- Android简明开发教程二十三:发布应用
- Android平台的手机记账应用开发视频教程
- Android游戏开发教程之八:SurfaceView类的应用实例
- Android native应用开发简明教程 (2) - 本地应用的原理
- Android简明开发教程三:第一个应用Hello World
- Android应用开发中自定义ViewGroup视图容器的教程
- Android简明开发教程四:Android应用基本概念
- Android游戏开发教程之四:Canvas与Paint的应用实例
- 3G手机Android应用开发视频教程_黎活明老师的视频(第二天课程)总共有八天课程
- Android应用开发架构
- Android小项目合集(经典教程)包含十五个Android开发应用实例
- 浅谈android系统架构及其应用开发特色
- Android简明开发教程二十三:发布应用
- Android应用开发项目实战视频教程
- phonegap 开发入门 PhoneGap官方网站上有详细的入门示例教程,这里,我针对使用PhoneGap进行Android移动应用的开发对其官网的Get Started进行一些介绍、补充。 Ste
- Android简明开发教程三:第一个应用Hello World