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 ...
随机推荐
- JQuery攻略(一) 基础知识——选择器 与 DOM
JQuery是功能丰富的Javascript库,可以帮助用户毫不费力地把动态功能应用到网页. JQuery具有许多强大的功能,包括访问部分网页,快速修改网页内容,添加动画,应用AJAX技术等等. 正因 ...
- C# byte[]和文件FileStream相互转化
, pReadByte.Length); } catch { return false; ...
- [Android Pro] 终极组件化框架项目方案详解
cp from : https://blog.csdn.net/pochenpiji159/article/details/78660844 前言 本文所讲的组件化案例是基于自己开源的组件化框架项目g ...
- Caffe的solver参数介绍
版权声明:转载请注明出处,谢谢! https://blog.csdn.net/Quincuntial/article/details/59109447 1. Parameters solver.p ...
- sugar crm
百度百科:http://baike.baidu.com/link?url=7SnriwrF-4LcRfXctBbZjLc-UEUqWl3b0YR004pGFk4SJ1qMU9TMj37yFmHRsUS ...
- 节约内存,请使用标签页管理工具:onetab、better onetab
OneTab可以管理chrome和firefox的标签页,把暂时不用的标签页收藏起来,形成一个列表,当然,可以对列表进行分类管理,以方便后续打开查看. 这样就不用打开很多tab,占用大量内存. 由于O ...
- 浅谈Hybrid技术的设计与实现【转】
https://www.cnblogs.com/yexiaochai/p/4921635.html 前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术 ...
- TCP UDP Socket 即时通讯 API 示例 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- CoffeeScript?TypeScript?还是JavaScript
请注意本文只是我的偏见,我努力地理解借助CoffeeScript或TypeScript之类的编译器写JavaScript代码的理由.静态编译.强类型语言和框架,我有着这些流行的.丰富的背景.我的上一份 ...
- SendMessage消息大全及说明
WM_CREATE = &H0001 应用程序创建一个窗口 WM_DESTROY = &H0002 一个窗口被销毁 WM_MOVE ...