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、广播、网络请求等手段来实现。
Android学习笔记二:activity的理解的更多相关文章
- Android学习笔记之Activity详解
1 理解Activity Activity就是一个包含应用程序界面的窗口,是Android四大组件之一.一个应用程序可以包含零个或多个Activity.一个Activity的生命周期是指从屏幕上显示那 ...
- Android学习笔记:Activity生命周期详解
进行android的开发,必须深入了解Activity的生命周期.而对这个讲述最权威.最好的莫过于google的开发文档了. 本文的讲述主要是对 http://developer.android.co ...
- android学习笔记26——Activity
Activity ==> android中四大组件:Activity.Service.BroadcastReceiver.ContentProvider Activity组件用于对用户呈现操作界 ...
- Android学习笔记二之初始Activity
初识Activity,跟着教程学习敲了一遍这一章的内容,下面根据目录结构总结知识点: 一.活动是什么 上篇博文中我们提到了Android四大组件,其中有一个Activity,我们将之称为活动.活动是最 ...
- android学习笔记二、Activity深入学习
一.创建和使用: 1.Activity是android的四大组件之一,需要继承Activity并在清单文件中进行声明才能使用.没有声明则报错. 2.启动Activity是通过Intent,有两种方式: ...
- android学习笔记二
ADT(Android Development Tools)安卓开发工具. android项目目录简介 ==> src==>源代码文件 res==>资源文件 AndroidManif ...
- Android学习笔记4——Activity详解
在 Android 开发过程中,与程序员打交道最多的应该就是作为四大组件之一的 Activity 了.接下来我们就一起来揭开 Activity 的神秘面纱吧~ 一.概述 什么是 Activity(活动 ...
- android学习笔记28——Activity生命周期
Activity生命周期 Activity的活动状态由android已Activity栈的形式管理,当前活动的Activity位于栈顶.随着不同应用的运行,每个Activity都有可能从活动状态转入非 ...
- android学习笔记27——Activity
Activity配置==> android应用程序要求所有的应用程序组件都需要进行显示配置后,才可正常使用.包括:Activity.Service.BroadCastReceiver.Conte ...
随机推荐
- 唐顿庄园第一至五季/全集Downton Abbey迅雷下载
本季Downton Abbey 1(2010)看点:ITV古装剧剧<唐顿庄园>由曾因<高斯福德庄园>而荣获奥斯卡的金牌编剧Julian Fellowes一手打造,明星云集的演员 ...
- Android之取消ViewPage+Fragment的预加载
用过ViewPage+Fragment组合的童鞋自然知道这个问题,没有遇到的同学祝愿你们永远不会遇到,呵呵.直接上关键代码 注释:setUserVisibleHint每次fragment显示与隐藏都会 ...
- mysql 的indexof函数
LOCATE(substr,str) 返回子串substr在字符串str第一个出现的位置,如果substr不是在str里面,返回0. mysql> select LOCATE('bar', 'f ...
- Orchard模块开发全接触4:深度改造前台
这里,我们需要做一些事情,这些事情意味着深度改造前台: 1:为商品增加 添加到购物车 按钮,点击后功能实现: 2:商品排序: 3:购物车预览,以及添加 结算 按钮: 4:一个显式 购物车中有*个 商品 ...
- Java遍历对象所有属性
要获取对象的所有属性可以使用getDeclaredFields()方法会返回一个Field数组遍历这个数组几个遍历所有属性注意使用这个方法会抛出4个异常然后根据属性的类型选择执行对应的内容 publi ...
- 指定nvm的默认版本号
nvm alias default 8.9.4
- iOS "directory not found for option '-L/Users/.../Pods/build/Debug-iphoneos"解决方式
问题重述: 在删掉原来工作空间,又一次install pods之后,遇到warning: ld: warning: directory not found for option '-L/Users/. ...
- Exchange 2013与 Office Web Apps 整合
好久没写什么新文章了,这里有关Office Web Apps 的部署我就省略了,只是在创建web场我一般 会创建2个url, 如: New-OfficeWebAppsFarm -InternalUrl ...
- Android Migrate Android Code
近期在更改程序架构的时候,用引用Library的方式实现程序的共享化过程中发现R.id.xx的文件不能够在 switch cases 中使用 看代码提示,如下信息: As of ADT 14, r ...
- Double-Array Trie 原理解析
http://ansjsun.iteye.com/blog/702255 Trie树是搜索树的一种,它在本质上是一个确定的有限状态自动机,每个结点代表一个状态,根据输入变量的不同,进行状态转 ...