首先来看一个Activity当中启动另一个Activity,直接上代码说吧:

  (1)首先要多个Activity,那么首先在res-layout下新建一个 Other.xml,用来充当第二个Activity的布局文件

    

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <TextView
android:id="@+id/MyTest"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>

  (2)加入一个 src 下加入一个类文件(java里是这么说的吗,我一直在搞c++,不太清楚java里面的属于怎么说)

    记住类一定要 继承Activity ( public class *** extends Activity ),然后重写 onCreate 方法

    

    

package com.example.cart;

import android.R.string;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView; public class OtherActivity extends Activity
{
private TextView mytext = null;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.othery); mytext = (TextView)findViewById(R.id.MyTest);
mytext.setText("hello activity");
}
}

    这个Activity呢,其实很简单就是只有一个TextView,内容就是“hello activity”

  (3)接下来我们需要在 AndroidManifest.xml 当中注册这个Activity

    

  (4)我们需要在主的activity当中去调用,具体的做法是 首先在主Activity的布局是只有一个按钮,然后我们监听这个按钮按下事件,

     按下这个按钮就会通过Intent来调用另一个Activity,也就是我们上面创建的Activity,下面是代码:

package com.example.cart;

import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.View.OnClickListener;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.os.Build; public class MainActivity extends Activity
{
public Button mybutton = null; @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); mybutton = (Button)findViewById(R.id.MyButton);
mybutton.setText("nihao-ha2ha");
mybutton.setOnClickListener(new MyButtonListen());
} class MyButtonListen implements OnClickListener
{
@Override
/* 如果遇到 aetOnclickListener报错的时候,按照下面来做:
1.把 onClick(DialogInterface arg0, int arg1) 改成 onClick(View v)
2.把 import android.content.DialogInterface.OnClickListener; 改成 import android.view.View.OnClickListener; */
        public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(MainActivity.this, OtherActivity.class);
MainActivity.this.startActivity(intent);
}
}
}

  (5) 运行程序之后,首先进入第一个Activity,点击了按钮了之后调转到了第二个Activity

       

  接下来尝试一个Activity当中启动另一个Activity的时候,传递数据给另一个Activity:

  Intent包含:ComponentName、Action、Data、Extras、Category、Flags,我们就将使用Extra来进行数据的传递

(1)主Activity当中这样调用

            Intent intent = new Intent();
intent.putExtra("testintent", "ccyy");
intent.setClass(MainActivity.this, OtherActivity.class);
MainActivity.this.startActivity(intent);

  (2)接受端是这样的

    protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.othery); Intent intent = getIntent();
String myvalue = intent.getStringExtra("testintent"); mytext = (TextView)findViewById(R.id.MyTest);
mytext.setText("hello activity" + myvalue);
}

  当然,Intent进行数据传递的时候,不仅可以在同一个应用程序的不用Activity直接进行传递,而且可以进行不同应用程序的调用和数据传递:

  下面通过Uri调用发短信的界面来进行说明,代码还是加到刚才的按钮相应中:

            Uri uri = Uri.parse("smsto:13008574656");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
intent.putExtra("sms_body", "hi,I am a student~");
MainActivity.this.startActivity(intent);

  运行之后,点击按钮进入到发短信的界面:

  

  

  这次学习主要理解了:

  1.多个Activity

  2.Intent的基本作用

  3.一个Activity当中启动另一个Activity

  4.使用Intent在Activity之间传递数据

【Android开发学习笔记】【第三课】Activity和Intent的更多相关文章

  1. android开发学习笔记000

    使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...

  2. 【Android开发学习笔记】【第五课】Activity的生命周期-上

    今天学习Activity当中的七个生命周期函数: 首先得说一个事情,就是在代码当中如果加入了 System.out.println(" ------");之后,如何查看这里面的输出 ...

  3. 【Android开发学习笔记】【第四课】基础控件的学习

    通过一个简单的例子来学习下面几种控件: 1.TextView:简单的文本显示控件 2.EditText:可以编辑的文本框 3.Button:按钮 4.Menu:这里指的是系统的Menu 5.Toast ...

  4. Android开发学习笔记:浅谈GridView

    GridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片等内容,比如实现九宫格图,用GridView是首选,也是最简单的.主要用于设置Adapter. GridView常用的X ...

  5. android开发学习笔记系列(2)-android应用界面编程

    前言 本篇博客将会简要介绍andriod开发过程中的一些界面元素和编程的实现,我将大家走进安卓的XML世界,当然可能会涉及到java代码,当然本文主要是介绍XML文件的界面布局. 那么我们的XML存在 ...

  6. 【转】Android开发学习笔记(一)——初识Android

    对于一名程序员来说,“自顶向下”虽然是一种最普通不过的分析问题和解决问题的方式,但其却是简单且较为有效的一种.所以,将其应用到Android的学习中来,不至于将自己的冲动演变为一种盲目和不知所措. 根 ...

  7. Android开发学习笔记:Intent的简介以及属性的详解【转】

    一.Intent的介绍 Intent的中文意思是“意图,意向”,在Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述 ...

  8. Android开发学习笔记--计时器的应用实例

    为了了解安卓计时器的用法,写了一个秒表的应用,正是这个秒表,让我对Android应用的速度大跌眼镜,我设置了一个计时器,10ms更新一次显示的时间,然后更标准的时间一比较发现,跑10s就有一秒的时间误 ...

  9. Android开发学习笔记--一个有界面A+B的计算器

    做了一个A+B的APP,虽然很简单,但是作为初学者还是弄了几个小时才弄好,什么东西都要看书或者百度,但最后成功了,还是很开心的,收货蛮大的.现在把过程写一下: 首先给出效果图: 一开始布局一直有问题, ...

随机推荐

  1. 关于遍历javascript 中的json串浏览器输出的结果不统一的情况

    我们在做项目的时候经常会用到javascript的json. 首先说一下javascript的json串是什么,json串属于javascript的一个对象,有键和值对应的对象. 一般的格式是: a ...

  2. struts2总结四:Action与Form表单的交互

    struts2 Action获取表单数据的方式有三种:1.通过属性驱动的方式.2.模型驱动方式.3.使用多个model对象的属性. 1.通过属性驱动式 首先在jsp里面编写form表单的代码如下: & ...

  3. 递推DP 赛码 1005 Game

    题目传送门 /* 递推DP:官方题解 令Fi,j代表剩下i个人时,若BrotherK的位置是1,那么位置为j的人是否可能获胜 转移的时候可以枚举当前轮指定的数是什么,那么就可以计算出当前位置j的人在剩 ...

  4. 计算几何 2013年山东省赛 A Rescue The Princess

    题目传送门 /* 已知一向量为(x , y) 则将它旋转θ后的坐标为(x*cosθ- y * sinθ , y*cosθ + x * sinθ) 应用到本题,x变为(xb - xa), y变为(yb ...

  5. .net4.5 await async 简化之后的异步编程模型

    步骤核心: 方法签名包含一个  async 修饰符. 按照约定,异步方法的名称以“Async”后缀结尾. 返回类型为以下之一: Task<TResult> 如果您的方法有操作数为 TRes ...

  6. BZOJ3733 : [Pa2013]Iloczyn

    首先将$n$的约数从小到大排序,设$dfs(x,y,z)$表示当前可以选第$x$个到第$m$个约数,还要选$y$个,之前选的乘积为$z$是否可能. 爆搜的时候,如果从$x$开始最小的$y$个相乘也超过 ...

  7. 触碰jQuery:AJAX异步详解

    触碰jQuery:AJAX异步详解 传送门:异步编程系列目录…… 示例源码:触碰jQuery:AJAX异步详解.rar AJAX 全称 Asynchronous JavaScript and XML( ...

  8. 【BZOJ】1054: [HAOI2008]移动玩具(bfs+hash)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1054 一开始我还以为要双向广搜....但是很水的数据,不需要了. 直接bfs+hash判重即可. # ...

  9. 什么是J2EE,包括哪些规范!

    J2EE平台由一整套服务(Services).应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对J2EE中的13种技术规范进行简单的描述(限于篇幅,这里只能进行简单 ...

  10. Apache开启不了------The requested operation has failed!

    1.这个问题通常是由于端口被占用了,cmd输入netstat -ano查看端口号,根据端口号80的程序的pid在任务管理器下杀掉它. 2.我遇到这个问题不是这个原因.我由于刚配置了虚拟目录.查看虚拟目 ...