Android简介

来源:互联网 发布:淘宝修改中差评 编辑:程序博客网 时间:2024/05/01 16:43

Android简介

一、用户角度 user’s perspective

Android是一个操作系统,就像Windows一样,为用户和手机之间架起一道桥梁,协调和管理手机资源,让用户更方便的使用和控制手机硬件,如网络连接设备(Wifi, GPRS),Telephony(接打电话,收发短信),蓝牙,摄像,视频,音频,多媒体和SD卡存储等;另外也帮助用户管理应用程序。

在用户体验方面,可以把它与Windows作一个比较。

1.     Android的Home页面,就相当于Windows的桌面,可以添加快捷方式,可以添加Widget(窗口小部件);

2.     Android的Launcher就相当于Windows的“开始”菜单,从这里可以启动所有系统已经安装的程序。系统每次安装一个新应用后呢就会在Launcher里面有了它的快捷方式,以便用户启动这个程序。

3.     Android中的MENU菜单(通过按MENU键),相当于Windows桌面应用程序的菜单(比如记事本中的“文件”,“编辑”等),在这里可以找到一些常用的操作;

4.     长按屏幕的一项时所弹出的Context Menu,这个相当于Windows中右击鼠标右键所弹出的与具体点击内容和具体情况相关的一组菜单操作。

5.     Android的Notification(在屏幕的最上面的一个Notificationbar)就相当于Windows里面的任务栏右边的状态栏。

另外还有一些东西,比如对话框,进度条等,在功能上基本上都类似除此之外,对于特定的应用,会有不同的用户体验,这要看这个应用的实现。

二、开发者的角度 developer’s perspective

像Windows一样,Android也有自己的SDK,用于开发者来创建各式各样的应用程序。

1.     Android的SDK跟Windows的SDK类似,也是采用框架模式。框架模式与普通的SDK(比如,Java)的区别在于,它把更多的共性的东西抽象出来,由系统来完成。系统完成很多本来由开发者要完成的事。比如,C/C++和Java中,开发者必须要控制程序的启动,必须要写主函数(main)。而在框架结构中,根本不存在所谓的主函数。开发者只需要实现框架所提供的一些回调接口,然后具体的控制工作是由框架来完成的。这样,开发者不必过多了解和干涉系统相关的东西,而把更多的精力放在开发者所感兴趣的地方。

2.     开发语言—Windows的SDK的开发语言是C/C++,但Android的SDK的开发语言是Java。事实上,对于所有的SDK而言,它所用的语言只是SDK所表现出来的,对于SDK来讲,它都有内部的实现机制和底层支撑;对于SDK来讲,它可以以任何一种语言来表面它所支持的功能。但,通常都选择最适合的语言。比如,对于Android讲,系统和SDK的底层都是由C/C++来实现的,但它的开发语言是Java。但是,如你所知,用C/C++作为开发语言也未尝不可。

3.     Activity和Service. 每个Activity和Service都是一个独立的线程,这些线程都有Looper和Handler(Android中的线程是标准的Java线程,因为对于一个线程来讲,如果没有Looper那么它会很快就退出,即执行完Runnable.run()就会退出,为了不让其退出,就要给线程附上Looper,也就相当于一个While(True))Activity和Service都是要长期存在,也就是说如果用户没有做退出操作,那么它应该一直运行.跟在Java中是一样的,如果是初次启动线程(Activity或Service)那么会启动进程,一个进程可以创建多个线程(Activity或Service),但通常一个应用有多个Activity,却只有一个Service。

4.     关于Task和Activity。

5.     如果想要让Apk中的某个组件对系统可见,则应该在AndroidManifest.xml文件中声明他们。通常Provider,Service都需要这样的声明;另外一些可被其他应用通过Intent方式起动的Activity也应该如此声明。