应用程序基础
android 应用程序由java编程语言编写.
android sdk工具会将android代码和数据以及资源文件编译成为一个android package,这是一个归档文件,名称以.apk结尾.在同一个apk文件中的代码被认为是一个应用程序.
android应用程序被安装进一个设备后,每个android应用程序驻留在自己的安全沙盒中.
android操作系统是一个多用户linux系统,每个应用程序相当于一个用户.
默认情况下,系统为每个应用程序分配一个独立的linux user id.系统给这个应用程序的所有的文件授予许可,这样就只有这个应用程序对应的user id的用户(实际上是进程)才能访问.
每个进程有自己的虚拟机(vm),这样保证了一个应用程序代码和其它的应用程序就孤立开了.
默认情况下,每个应用程序运行后有自己独立的linux进程.
android系统实现了最小权限原则,每个应用程序默认只有访问自己组件的权限(以保证它能正常工作).
要让一个应用程序能够跟其它应用程序共享数据,有两种方法:
1.让两个应用程序共享同样的linux user id;
2.使用者给应用程序授权(安装时候)
android常用类
1.Activity
Activity是一个应用程序部件.它提供了屏幕上可见的部分供用户交互使用.
android应用程序可以激活另外一个应用程序的某个Activity.从这一点上来说,android应用程序不像通常的java或者c程序有一个main的入口函数.
开发人员所开发的Activity都是android.app.Activity的子类.
2.Intent
在各个应用程序之间传输数据,类似一个提交了的表单.
3.service
不可见,承担大部分数据处理的工作.
service运行在后台,执行一个长期操作或者和远程进程进行交互,它不提供一个用户界面.
开发人员开发的service都是android.app.Service的子类.
4.Content Provider
为应用程序提供数据.
在android中,数据存储位置有文件系统,sqlite数据库,web以及其他持久化存储位置.通过content provider,其它应用程序可以查询甚至是修改这些数据(要注意授权).
content provider也可以操作应用程序的私有数据.
content provider可以实现自android.content.ContentProvider.
激活组件
activities,services,broadcast receivers都是可以个intent激活的.
Activity激活可以通过将一个intent对象传递给startActiviy()或者startActivityForResult().
service激活可以通过将一个intent传递给startService(),也可以将一个intent传递给bindService()来绑定一个service.
开发环境:
1.sdk
2.eclipse
2.adt(eclipse下的android开发插件)
本文转自leipei博客园博客,原文链接:http://www.cnblogs.com/leipei2352/archive/2011/08/01/2124077.html,如需转载请自行联系原作者