2011-05-10 笔记
来源:互联网 发布:爱德华王子岛大学 知乎 编辑:程序博客网 时间:2024/05/21 23:34
2011-05-10 笔记
android 是操作系统,中间件,应用程序的软件集合体。应用软件用java语言编写。
android sdk编译的应用程序最后的后缀是.apk
每一个应用程序是一个系统用户,进程有独立的虚拟机,如果两个应用程序共用一个用户ID, 来共享对方的资源
安装应用程序的时候,必须得到用户的许可才能使用sd卡,sms等
应用程序由4个基本组件构成:Activities ,Services ,Content providers ,Broadcast receivers
Activities 代表了应用程序的一个用户接口,其他应用程序可以调用别的应用程序的Activities ,不能直接使用,可以让系统来帮忙。属于类Activity
Services 运行在后台。属于类Service
Content providers 管理共享的应用程序数据集 。属于类 ContentProvider
Broadcast receivers 相应系统范围内的广播。属于类BroadcastReceiver
android系统设计的独特之处在于任何一个应用程序可以开启别的程序的组件
intent是一种消息机制
使用startActivity() or startActivityForResult()开启一个Activities,函数中传入intent
使用
startService() ,bindService()开启一个Services,函数中传入intent
使用sendBroadcast(),
sendOrderedBroadcast()
, or sendStickyBroadcast()
. 初始化一个Broadcast,函数中传入intent
The Manifest File
系统通过读取AndroidManifest.xml文件,来了解组件的使用,在此文件中申明所有用到的组件
除此之外,该文件还确定期望用户给于的许可,声明最小的 API LEVEL,声明应用程序用到的硬件设备,需要连接的外部库
一个声明的例子:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:icon="@drawable/app_icon.png" ... > // 这个图片是指向应用程序的小图标
<activity android:name="com.example.project.ExampleActivity"
android:label="@string/example_label" ... >
</activity>
...
</application>
</manifest>
组件必须通过此方式声明,否则不可用,但broadcast receivers有个例外,它可以动态的建立,可通过registerReceiver().向系统注册。
2011-05-11 笔记
Activities
一个应用程序由多个activities组成,它们之间是松耦合。有一个是Main activiy,它是应用程序的开始界面。当一个activity开启后,之前的一个activity要停止,并入栈。需要编写activity的生命周期(创建,停止,恢复等)的回调函数,系统会在activity状态变化的时候使用这些回调函数。
创建一个activity的时候,创建和暂停的回调函数必须写好。
activity的声明中包括了
<activity android:name=".ExampleActivity" android:icon="@drawable/app_icon">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<data>
</intent-filter>
</activity>
<intent-filter>表明这个activity可以接收别的程序的调用。
启动一个activity
你可以启动一个activity,startActivity(),并传入参数INTENT来描述哪个activity来启动
onSaveInstanceState() 保存当前的状态
- 2011-05-10 笔记
- 2011-05-11 笔记
- 2011-10-19课堂笔记
- 2011-10-20课堂笔记
- 笔记10
- 笔记10
- 笔记10
- 笔记10
- [笔记] 传智播客-javaWeb笔记(10)
- 【学习笔记】JavaScript(2013-10-05)
- Effective C++ (笔记) : 条款05 -- 条款10
- 笔记-跟随毕老师学习日记之常用类-2011/10/05 10:50
- delphi 2006-05笔记
- PHP学习笔记-05
- 阅读笔记 2007-05
- C#学习笔记05
- AJAX学习笔记05
- NxOgre 笔记05
- 路在何方
- EL表达式取servlet中的对象总结
- 深入理解HTTP协议(转)
- VM 虚拟机linux 时间总是延迟问题解决方法
- FORTRAN 中的goto/exit/cycle
- 2011-05-10 笔记
- Windows下完成端口移植Linux下的epoll
- windows server 2008 R2+IIS+PHP配置
- Android震动代码解读
- asp.net调用短信接口乱码问题的解决方案(在不修改web.config的前提下)
- Android GPS (当前位置 & GPS信息更新)
- 人类进化的方向
- AVPlayer v1.4 - 超强媒体播放器 中文版
- 【mysql】表分区(partition)功能实验1