• Android学习笔记二:activity的理解


    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/7513290.html

        一:activity定义了app的页面

        一个app有很多个页面组成,一个页面其实就是一个activity,activity是app的基本组成单元。

       那么activity是怎么定义出来的呢?

        二:基于MVC模式的activty

        学过Web开发的人应该都知道MVC模式:M是模型,是数据;V是视图;C是控制、逻辑。

        那么运行在手机上的app同样离不开这三个元素,一个能够实际应用的activity一般都要提供这三种组成元素:

        1)M:模型、数据。在上一篇博客中,我们知道res目录下存放的都是资源文件,这些就是activity需要取用的数据了。也就是说,activity要使用的静态数据,我们放在res目录下。【当然,也有动态数据,那些就是在控制层通过网络请求而得来的数据了。】

        2)V:视图。我们在创建一个activity时,通常会在res/layout目录下生成一个同名的xml文件,这个,就是该activity的视图文件,也就是在app中的页面。

                  在该层,我们可以通过拖动式编程快速构造出页面的外形,再通过代码编辑细化各个控件的属性,这样一个页面的外表就搭建起来了。

        3)C:逻辑控制层。在上面两层中,我们提供了一个页面需要用到的数据、基本外表。但是怎样组织、使用这些数据和视图元素,就需要在逻辑控制层来定义了。

                  创建一个activity时,会在java目录的包下生成一个同名的java文件,这个就是该activity对应的逻辑控制层。在该层中,我们可以定义一系列的方法获取网络数据;可以通过id来获取视图控件,为之赋值;可以为视图层控件定义事件响应函数;可以定义该actvity各生命周期的函数......

        三:activity的有机组织得到app

        通过第二步,我们可以定义一个功能完备的activity。但是,这样定义出来的都是一些独立的页面,我们需要把它们串联起来。

        串联有两层意思:

        1:动作上的串联:activity之间的跳转,这主要是通过Intent来实现。

        2:数据上的串联:activity之间的数据传递,可以通过intent来携带,也可以通过ContentProvider、广播、网络请求等手段来实现。

  • 相关阅读:
    常用JVM配置参数
    JVM运行机制
    go 奇技淫巧
    如何实现LRU(最近最少使用)缓存淘汰算法?
    数组下标为什么是0而不是1?
    ServiceMesh 演化进程
    CAP定理详解
    vscode 调试配置信息
    Ubuntu 断网问题解决
    ubuntu 关闭指定占用端口
  • 原文地址:https://www.cnblogs.com/ygj0930/p/7513290.html
Copyright © 2020-2023  润新知