二、Android学习第二天——初识Activity(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html)
一、 Android学习第二天——初识Activity
昨天程序搭建成功以后,就可以开发跟运行Android应用程序了,因为Activity是开发中不可或缺的组成部分,所以要对Activity有所认识。
以下两点是需要注意的:(个人总结)
- 凡是覆写得方法,在方法体中的第一行一定是super.XXX(),一定要先调用父类里的相应方法做必要的事情,再根据自己的需求去写其他的代码。
- 如果是从头学习安卓开发,不一定要开发最新的版本,可以在较低版本(2.3.3)下进行开发,然后在高版本(4.0)下进行编译与运行,这样可以提高代码的适应能力,可以兼容高级版本。
下面对我今天的学习进行个小结:
首先Android的四个重要部分①Activity——形象点就是一个应用程序的门面,我们在手机上看到的图形界面
②Intent——它就像一个搬用工,用于Activity之间传递数据,就像请求
③Service——这个是不可见的,是为整个应用程序提供服务支持的底层
④Content Provider——为应用程序提供数据的接口
上面的描述我自己感觉也比较抽象,今天专门研究了Activity,终于守得云开见月明:
首先进行以下学习之前需要对Android的工程项目目录有一个总体的了解:

自己总结:
src下是我们自己写得程序;
gen下是我们创建程序时系统自动生成的,切忌勿修改
assets是一个资源库,与res的区别是不会自动在R.java中自动生成id
res是一个资源库,与assets不同的是,每增加一个资源(图片等),会自动在R.java中生成对应的id
layout用于存放布局文件,用来控制Activity的显示格局
string.xml中存放的一个一个键值对,Activity可以对其进行提取
AndroidManifest.xml是系统比较重要的一个文件,存放Activity的注册信息,每生成一个Activity就应该在这里注册一个。
以上是大概的叙述,不知道表述的清不清楚
Activity学习笔记~~~
- Activity初步介绍
(自己总结)Activity是一个可见的,用于用户跟应用程序交互,可放置多个控件的一个容器。自己感觉这个Activity的概念就像是我们开发网站的一个页面,也是一个容器,只不过载体不同,一个电脑上面看,一个手机上看而已。
- Activity注意事项,自己总结
一个Activity是一个java类,并且一定要继承Activity类。
当一个Activity第一运行时,就会运行onCreate()方法,所以要覆写这个方法。
每一个Activity都需要在AndroidManifest.xml中进行配置。
为Activity添加必要控件(部分控件)的方法:在布局文件main.xml中进行添加,此时R.java会自动为该控件生成一个唯一的id,这时在Activity中就可以通过findViewById(R.id.XXX)进行调用啦~~~ 然后你就可以做任何你想做的事情~~~
对有面向对象语言基础的人来说,一看就明白,代码就不用贴啦
- Activity与Intent
形象点来说,Intent就是Activity之间的桥梁,当然也可以是其他的桥梁。今天我只学到了两个Activity之间通过Intent对象来传递数据。
Intent是一个对象,并且包含一组信息①Component name——指定要传递到哪个Activity
②Action——指定另一个Activity要做什么
③Data——传送的数据
④Categorty
⑤Extras——键值对,也是用来存储数据进行传递
⑥Flags
这里需要注意的是,这互相传递的Activity不一定非要在同一个项目工程内。
- 四种基本控件的使用
①TextView②EditText③Button④Menu
具体的添加方法很简单,这里就不做演示啦,明儿上图上程序~~~
这里需要注意的是Menu的添加方法与其他三个有所不同:
其他三个控件都是在对应的布局文件中进行添加,而添加Menu需要在Activity中覆写一个方法——onCreateOptionMenu(Menu menu),这样一个菜单就被创建,但是要实现功能,则需要覆写另一个方法——onOptionItemSelected(MenuItem item)为这个菜单中每个item进行功能的编写。
- Activity的生命周期
Activity有七个有关生命周期的函数,分别是:①onCreate
②onStart
③onRestart
④onResume
⑤onPause
⑥onStop
⑦onDestory
这里我只做个总结,具体在什么时候调用什么网上的教程都比我说的清楚
这里我觉得有两点需要注意:
一、当一个程序启动了后三个进程(onPause,onStop,onDestory),就有可能在系统资源不足时被kill掉。因为手机毕竟不是电脑,内存有限,所以安卓系统会有自己内部的算法来节省自己的资源。
二、onDestory在两种情况下可能被调用,1是在代码中调用了finish()方法,2是当系统资源不足的时候。
与Activity生命周期有必要联系的还有一个——Task
Task说白了就是一个存放Activity的堆栈,所以具有堆栈的特点——后进先出。
咱们在手机中看到的永远是处于堆栈最顶层的Activity,需要注意的是,Task中的堆栈没有排序的功能。
- 窗口形态的Activity——这个将是我们在以后开发中使用比较广泛的一种Activity,就类似于弹出框,但是并不会完全遮挡住下层的Activity。
使用窗口形态的Activity非常简单,只需要在AndroidManifest.xml的对应Activity注册代码中加一个属性:......android:theme="@Android:style/Theme.Dialog" /> 即可喽~~~
明天将要开始的是Activity布局的学习。其实安卓对于有java基础的人还是比较容易上手的,加油
二、Android学习第二天——初识Activity(转)的更多相关文章
- 三、Android学习第三天——Activity的布局初步介绍(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 三.Android学习第三天——Activity的布局初步介绍 今天总结下 ...
- Android学习笔记1:Activity与View
推荐一系列优秀的Android开发源码 Activity是Android应用中负责与用户交互的组件. View组件是所有UI控件.容器控件的基类,View组件就是Android应用中用户实实在在看到的 ...
- android概念-android学习第二天
一:1G到4G(generation) 1G 大哥大 -- 电话 2G 小灵通 gsm标准 发短信 wap.baidu.com -- 电话和短信 3G 沃 www.baidu.com 7.2M/s - ...
- Android学习第二天-android常用命令
上一篇文章中,我们重点讲解了adb的常用命令,下面我们一起来看看其它常用的命令 2 android 2.1 查看机器上所有已经安装的Android版本和AVD设备 2.1.1查看机器上已经安装的AVD ...
- android学习-IPC机制之ACtivity绑定Service通信
bindService获得Service的binder对象对服务进行操作 Binder通信过程类似于TCP/IP服务连接过程binder四大架构Server(服务器),Client(客户端),Serv ...
- android学习-第二讲(修改项目名称和图标,log,过滤器)
一.在app/src/main/res下有 AndroidManifest.xml打开,打开后如下图1 二.日志工具log log.v() log.d() log.i() log.w() lo ...
- Java基础知识二次学习-- 第二章 基础语法与递归补充
第二章 基础语法与递归补充 时间:2017年4月24日10:39:18 章节:02章_01节,02章_02节 视频长度:49:21 + 15:45 内容:标识符,关键字与数据类型 心得:由字母,下 ...
- Android学习笔记四:activity的四种启动模式
Activity有四种启动模式:standard,singleTop,singleTask,singleInstance. 1.standard:标准启动模式 默认模式,这个模式下启动的Activit ...
- Android学习——第一个NDK程序
在前面的学习中,我们已经讲解了关于NDK编程的环境搭建流程,简单的使用我们也通过官网本身自带的例子进行说明了.可是相信大家一定还存在这么的一个疑惑:“如果我要自己利用NDK编写一个Android应用, ...
随机推荐
- java三种实现线程的方法比较
1.继承Thread 2.实现Runnable 1和2的比较,1可以创建不同的任务,每个任务互不干扰,对于2,相当于只执行一个任务,多个任务之间互相影响,比如售票系统,每售出一张票,票数都要减1,这个 ...
- Node-webkit 资料笔记
静不下心写学习笔记了,因为发现了这篇文章:<用node-webkit开发多平台的桌面客户端> 另外官网上针对“package.json”的配置参数也已经很详尽了,连我英文不好的也差不多能看 ...
- 20款响应式的 HTML5 网页模板【免费下载】
下面的列表集合了20款响应式的 HTML5 网页模板,这些专业的模板能够让你的网站吸引很多的访客.除了好看的外观,HTML5 模板吸引大家的另一个原因是由于其响应性和流动性.赶紧来看看. 您可能感兴趣 ...
- ASP.NET使用jQuery AJAX实现MD5加密实例
一个asp.net ajax例子,使用jquery,实现md5加密.在.NET 4.0,Visual Studio 2010上成功运行. 效果体验:http://tool.keleyi.com/t/m ...
- Javascript Object、Function对象
1.Object对象 原型对象 原型是对象的一个属性,也就是prototype属性,每个对象都有这个内部属性,而且他本身也是一个对象. <script type="text/javas ...
- jquery原型方法map的使用和源码分析
原型方法map跟each类似调用的是同名静态方法,只不过返回来的数据必须经过另一个原型方法pushStack方法处理之后才返回,源码如下: map: function( callback ) { re ...
- User Profile Service Application 配置同步连接时,报 MOSS MA not found
最近在试着配置"我的网站",不知什么原因在配置同步连接时报:MOSS MA not found 搜索发现,需要启动Forefront Identity Manager Servic ...
- C4.5(决策树)
C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法.它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类.C4.5的目标是通过学习, ...
- Web UI - Javascript之DOM Ready
最近终于稍微适应了工作环境,终于可以让自己缓口气.于是决定要写点东西,算是督促.记录和提升自己的学习.代码的世界,你不轮它,以后就会被它轮.这个系列尽量保持在一周或两周更一篇,目标是在创造内容的时候更 ...
- Gradle常用命令
使用cmd进入Android studio项目的根目录就可以执行一些gradle相关命令 gradle -v 查看版本 (如果你是第一次执行会去下载Gradle,这个过程如果不FQ非常慢) gradl ...