【www.gdgbn.com--.Net开发】

android adt ( android development tools )

android.jar是包含全部api的压缩包,其内包含编译后的class文件,通过winrar打开可看到其内部.class数据。

在android中基本上所有的ui都是由view或者view的子类实现的。view代表了一块区域,这块区域可以处理事件并且可以主动渲染这块区域。

android作为一个移动设备的开发平台,其软件层次结构包括了一个os、中间件和应用程序。(和pc应用开发一样)android应用开发框架(application framework)设计的非常巧妙,开发人员应该很好的理解这套开发框架的工作机制,这样才能开发出更好的应用程序。

    一组views(ui组件)  这些ui组件包括list、textbox、button等,通过这些ui组件,可以构建应用程序的视图部分。

    content providers   提供apps教程数据互访和共享的机制。

    notification manager    让程序将自己的警示信息显示在状态栏。

    activity manager      管理apps的生命周期,并且提供应用页面退出的机制。在android应用中,每一个应用一般由多个页面组成,而每个页面的单位就是activity,即android应用是由多个activity的交互构成的(有的apps只有一个activity)。

android应用程序构成

activity  一般代表手机屏幕的一屏,相当于浏览器的一个网页。在activity中可以添加一些view,并可以对这些view做一些事件的处理。一般应用程序由多个activity组成的,这多个activity之间可以进行相互跳转,和网页跳转不同的是,activity之间跳转可能会有对前一activity的返回值。

                当打开一个新的屏幕时,之前的一个屏幕会被置为暂停状态,并压入历史            堆栈中,用户可以通过回退操作返回以前打开的屏幕。我们可以选择性的移除          一些没有必要保留的屏幕,因为android会把每个应用的开始到当前的每一个            屏幕保存在堆栈中。

            activity的生命周期。。。。

intent     an intent is an abstract description of an operation to be performed . android中有三种intent:通过intent我们可以在多个activity之间进行跳转;启动一个服务;广播一个事件。

intent中最重要的两个部分是intent的动作(action)和动作对应的数据(data)。

与intent有关系的一个类叫intent filters。如果说intent是一个有效请求,那么一个intent filters则用于描述一个activity能够操作哪些intent。

    broadcast intent receiver

使用broadcastreceiver让应用对一个外部的事件做出响应,如电话呼入。不能生成ui,对用户是透明的,通过notificationmanager来通知用户这些事情发生了。

    service  faceless task and runs in the background

content provider 该类实现了一组标准的接口,从而让其他apps保存或读取此content provider的各种数据类型。提供apps数据互访和共享的机制。

界面ui元素

视图组件view   最基本的ui类,基本上所有的高级ui组件都是继承view类实现,如textview(文本框)、button、list、edittext(编辑框)、radiobutton、checkbox  等。一个view在屏幕占据一块矩形区域,他负责渲染这块矩形区域,也可以处理这块矩形区域发生的事件,并可以设置该区域是否可见以及获取焦点等。

    视图容器组件viewgroup  android.view.viewgroup的实例,作用就是view的容器,负责对其中的view进行布局,viewgroup 可以嵌套,因为viewgroup也是继承view.viewgroup类,他是一个抽象类,也是其他容器类的基类。

    布局组件 layout 是viewgroup的实现类,其中linearlayout可以进行水平布局和竖直布局。relativelayout可进行相对布局。framelayout 好比一块在屏幕上提前预定好的空白区域,然后可以填充一些元素到里边,比方一张图片,但所有的元素都被放置在区域的最左上方,而且无法为这些元素指定一个确切的位置,如果有多个元素就会重叠在前一个元素上。

    /**代码解释:

    android:id定义组件的id,可以通过id访问定义的元素

    android:layout_width = "fill_parent" 表示该元素可以在x轴和y轴方向填充父容器的空间

    android:layout_width = "wrap_content"表示该元素的长和宽只需要将内元素包裹起来即可,无需填充父容器。

    可以让一个layout和一个activity关联,而这个layout是在xml文件中定义的。

    当然所有的view和layout都可以直接在java代码中构造。

本文来源:http://www.gdgbn.com/asp/29456/