Android学习之Activity初步
Activity作为Android的第一步接触的概念,在学习中将初步的认识总结下来,以便后续的回顾与反思。
1、在用Android Studio生成第一个helloworld应用程序运行在手机上时,发现继承自Activity的MainActivity生成的界面上,默认的Label是不可见的,即使在AndroidManifest文件中定义android:Label="This is FirstActivity"也无济于事。后来才发现应该是继承Activity的原因,将其改为extends AppCompatActivity即可。
2、注意XML文件中@+id/与@String这样的区别,+号表示要构建唯一的标识符,而没有+号则意味着是引用之意。
3、Intent:作为Activity中用来传递活动、信息的传递者,它有多个构造函数,并存在两种方式:显式Intent和隐式Intent:
显式Intent:
public void onClick(View view) { //点击按钮就会执行onClick方法
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
Intent的两个参数用来指示出发的Activity和将要启动的Activity,并且利用startActivity的方法,将intent传入该方法,就可以进行Activity之间的切换。
隐式Intent:
隐式Intent的主要部分并非在class文件中,而在于Androidmanifest的Activity注册中:
<activity android:name=".ThirdActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="http"/>
</intent-filter>
</activity>
注意到intent-filter中的两个参数:action和category(action只能有一个,而category则可以有多个),这些相当于ThirdActivity的一个内在特征,在代码中使用隐式intent时,就需要进行“匹配”,才会得到正确的运行方式:
public void onClick(View view) {
Intent intent = new Intent("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
startActivity(intent);
Intent的这个构造方法将action作为参数,category若是default则可以不用写出,这样两者的特征得到“匹配”,就可以得到与显式intent相同的Activity切换效果。注意:若category采用自定义的方式在manifest文件中注册,那么在Intent方法中需要使用如下addCategory方法进行说明:
intent.addCategory("android.intent.category.MY_DEFAULT");
这样才能使得manifest文件与intent传递信息“匹配”成功,才能正确的启动目标Activity。
Android学习之Activity初步的更多相关文章
- Android学习笔记——Activity的启动和创建
http://www.cnblogs.com/bastard/archive/2012/04/07/2436262.html Android Activity学习笔记——Activity的启动和创建 ...
- Android学习总结——Activity之间传递参数
核心内容:一.在 Activity 之间传递简单数据二.在 Activity 之间传递复杂数据 三.在 Activity 之间传递自定义值对象 软件环境:Android Studio 一.在 ...
- android学习之activity
Activity 的生命周期 和 J2ME 的 MIDlet 一样,在 android 中,Activity 的生命周期交给系统统一管理.与 MIDlet 不同的是安装在 android 中的所有的 ...
- Android学习总结——Activity状态保存和恢复
Android中启动一个Activity如果点击Home键该Activity是不会被销毁的,但是当进行某些操作时某些数据就会丢失,如下: Java class: package com.king.ac ...
- android学习四---Activity和Intent
1.android项目资源深入了解 在深入学习android之前,先好好玩玩手机上的应用,大部分程序都有一个图标,点开图标,程序启动,一定时间后,程序会跳转到第一个界面,比如手机QQ,点开图标,会跳出 ...
- android学习笔记 activity生命周期&任务栈&activity启动模式
activity生命周期 完整生命周期 oncreate->onstart->onresume->onpause->onstop->ondestory 使用场景:应用程序 ...
- Android学习(一) - Activity
好久不写博客了,自上次写到现在已经一年多了,写这东西其实坚持下来就好了,将自己学的东西一点点写出来成为日后的积累查阅的资料.最近不是特别忙,抽点时间学学移动开发. Android组件中常用的四大组件 ...
- Android 组件系列-----Activity初步
在上篇博文讲解了Android的Activity这个组件的启动流程后,接下来我们就来看看我们的Activity与我们的布局文件的关系吧 我们先来看看一个最简单的布局文件的内容: <Relativ ...
- Android学习路-activity活动
activity即活动,是一种包含用户界面的组件,用于与用户进行交换 创建activity类 1.类继承Activity, activity传递一个bundle对象,可以获得onSaveInsta ...
随机推荐
- 编写高效的C程序与C代码优化 via jobbole
http://blog.jobbole.com/82582/ 原文出处: codeproject 译文出处:CodingWu的博客 欢迎分享原创到伯乐头条
- UVA 10510 Cactus
题意:给出一个有向图,问是不是仙人掌图.仙人掌图:每个边只在一个普通环内的强连通图. 解法:tarjan判断强连通分量是否为1个,记录找环的路径,在每找到一个环时遍历路径记录点出现的次数,如果出现有点 ...
- WPF学习笔记 - 在XAML里绑定
Binding除了默认构造函数外,还有一个可以传入Path的构造函数,下面两种方式实现的功能是一样的. <TextBlock x:Name="currentFolder" D ...
- (转载)HTML与XHTML有什么区别
转自:http://zhidao.baidu.com/link?url=8wvu7Jbzr-wjeKdWCwWkIiJNSpO3HHLERkgQu1QzuLOPT0zvzkHn9HbAFEjPdchP ...
- Lua语法
1.Lua保留的关键字: and,bread,do,else,elseif,end,false,for,function,if,in,local,nil,not,or,repeat,return ,t ...
- Java 核心技术-集合-集合框架
说在前面的话: 关于Core Java 集合方面的博文网上已经写烂了,为啥我还要写呢? 答:他们写的都很好,我也学到不少东西,如果把我当做一个系统的话,学习别人.看书.读源码是输入,但是往往形不成一个 ...
- 利用迅雷提供的接口从磁力链得到bt种子文件
本地下载工具的磁力链下载速度不给力,而百度云盘有提供离线下载服务,相当于就是直接到服务器取个链接而已.但这需要bt文件,而我只有链力链.网上搜了一下,可以从磁力链构造一个bt文件的下载地址,用pyth ...
- algorithm@ Divide two integers without using multiplication, division and mod operator. (Bit Operation)
#include<bits/stdc++.h> using namespace std; int divide(int dividend, int divisor) { long long ...
- HDU-1402 A * B Problem Plus FFT(快速傅立叶变化)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1402 一般的的大数乘法都是直接模拟乘法演算过程,复杂度O(n^2),对于这题来说会超时.乘法的过程基本 ...
- C#学习笔记(一):一些零散但重要的知识点汇总
集合类型 数组 数组需要注意的就是多维数组和数组的数组之间的区别,如下: using System; namespace Study { class Program { static void Mai ...