Android学习笔记(一)Android系统的基本介绍及工程简介

Android系统的简介(来自于百度百科)

Android系统的层次

Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。java

应用程序框架包括

  • l  丰富而又可扩展的视图(Views),能够用来构建应用程序, 它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons), 甚至可嵌入的web浏览器。
  • l  内容提供器(Content Providers)使得应用程序能够访问另外一个应用程序的数据(如联系人数据库), 或者共享它们本身的数据
  • l  资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。
  • l  通知管理器 (Notification Manager) 使得应用程序能够在状态栏中显示自定义的提示信息。
  • l  活动管理器( Activity Manager) 用来管理应用程序生命周期并提供经常使用的导航回退功能。

系统运行库

Android 包含一些C/C++库,这些库能被Android系统中不一样的组件使用。它们经过 Android 应用程序框架为开发者提供服务。如下是一些核心库:linux

  • l  系统 C 库  一个从BSD继承来的标准C系统函数库 Libc ), 它是专门为基于Embedded linux的设备定制的。
  • l  媒体库  基于PacketVideo OpenCORE;该库支持多种经常使用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。
  • l  Surface Manager  对显示子系统的管理,而且为多个应用程序提 供了2D和3D图层的无缝融合。
  • l  LibWebCore  一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。

Android开发组件

Android开发四大组件分别是:android

  • l  活动(Activity): 用于表现功能。
  • l  服务(Service): 后台运行服务,不提供界面呈现。
  • l  广播接收器(BroadcastReceiver):用于接收广播。
  • l  内容提供商(Content Provider): 支持在多个应用中存储和读取数据,至关于数据库。

工程项目结构

新建了一个Android的项目,其文件结构以下web

与往常看惯的VS解决方案管理器看到的不一样,VS里面的视图文件和后台代码文件以树状结构显示呈现其从属关系。不管是其余类仍是视图类的均可以任意放置,项目里面有几个固有的特殊文件夹(引用,资源等)。但在Java的项目中,视图文件与后台代码文件放置的位置比较离散。数据库

src文件夹

这个文件夹放的都是各个类的代码,包括了界面的后台代码。浏览器

gen文件夹

这个文件夹放的最重要的一个文件就是R.java。这个文件存放着全部界面控件的id值,图片资源值,视图文件等等一系列资源。app

libs文件夹

这里存放的是项目中引用的包,这个估计就相似于引用文件夹,里面放的是dll文件。框架

res文件夹

res感受就像一个资源文件夹,不过里面又有视图文件存在的话,又不太像,可是转一个方式去思考,视图的配置获取也算是一种资源。Res文件夹下面还有各类类型的子文件夹ide

  • drawable存放的是项目中使用到的图片,区别在于尺寸不一样而已。
  • layou存放的就是项目中的视图文件
  • menu存放的就是项目中菜单文件
  • values存放的是项目里面用到的字符串资源,样式资源等。

AndroidManifest.xml文件

  项目中还有一个至关重要的文件AndroidManifest.xml,这个文件包含了activity(行为)、view(视图)、service(服务)之类的信息。但现时能看到的信息只局限在application节点中。Application的属性定义了整个项目的主题,程序名,图标等。它是子节点activity则是程序中所运用到的视图,android:name属性存放着视图的类的彻底限定名。带有一会儿节点的activity节点只能有一个函数

1             <intent-filter>
2                 <action android:name="android.intent.action.MAIN" />
3 
4                 <category android:name="android.intent.category.LAUNCHER" />
5             </intent-filter>

 

它所在的activity代表它就是应用程序最开始进入的页面。

  在Android中感受视图文件与后台代码文件是不一样级别的,在.NET中感受视图文件和后台代码文件是同等重要的,视图文件既须要代码文件,代码文件也须要视图文件。但在Android中感受并不是这样,代码文件才是主要的。它在onCreate的时候调用了setContentView方法。才决定这个页面会真正的用那个布局呈现出来,感受就比较松散。因此视图文件放到资源文件夹res里面也是有道理的。

  学习Android,学习Java我本身以为挺意外的,貌似是生活所逼,不过内心面的仍是.NET,仍是C#。

相关文章
相关标签/搜索