【Android开发学习笔记】【第三课】Activity和Intent

  首先来看一个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,布布扣,bubuko.com

时间: 2024-10-17 20:46:42

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

Android开发学习笔记之四大组件---Activity的介绍,创建以及生命周期

最近重新温习关于android开发的基础知识,还是分享到博客里,一方面分享给有需要的同学,一方面方便自己后期查看 一.什么是Activity 通俗来讲,一屏的界面就是一个Activity,套用比较教科的话,在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应.Activity之间通过Intent进行通信,Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View

Android开发学习笔记之四大组件---Activity的跳转,数据传递(二)

上一章我们温习了Activity的创建,以及各生命周期,这一章我们主要学习Activity的跳转,以及Activity之间的数据传递 一.Activity跳转: Activity之间的单纯跳转非常简单,只需要创建两个Activity,然后使用startActivity(intent)来进行跳转,看下代码: Intent uio=new Intent(thisActivityclass,ActivityBclass); startActivity(uio); Intent是什么? Android中

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

今天学习Activity当中的七个生命周期函数: 首先得说一个事情,就是在代码当中如果加入了 System.out.println(" ------");之后,如何查看这里面的输出内容 打开之后只输入“Filter Name”和“by Log Tag” 即可 添加成功后可以看到 本次学习主要总结如下: 1.onCreate() Acitivity首次创建时被调用.用于设置Acitivity的布局文件,绑定按钮监听器等一些普通静态操作. 2.onStart() Acitivity对用户可

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

通过一个简单的例子来学习下面几种控件: 1.TextView:简单的文本显示控件 2.EditText:可以编辑的文本框 3.Button:按钮 4.Menu:这里指的是系统的Menu 5.Toast:消息提示控件,类似于MFc的tip(不知道理解的对不对) 顺便用到上一次学习的多个Activity之间传递数据的技术,来做一个小的计算乘法的case 步骤: (1)主Activity 和显示结果的 Activity 都采用线性布局,下面是布局文件的源代码: <LinearLayout xmlns:

【Android开发学习】【第二课】Activity学习(1)

什么是Activity,就是我们所看到的 需要理解以下四句话: 1.一个Activity就是一个类,并且这个类需要集成Activity: 2.需要重写OnCreat方法 3.每个Activity都需要在AndroidManifest.xml中进行配置 xml中加入了<intent-filter>说明应用程序启动时先运行这个Activity 4.为Activity添加必要的控件,就可以生成我们想要的界面 在res的layout下的xml就是布局文件 例如这样的: 代码: 效果: [Android

Android开发学习笔记:数据存取之SQLite浅析

一.SQLite的介绍 1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl.PHP.Java.C++..Net等,还有ODBC接口,同样比起 Mysql.PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的

android 开发学习笔记 (一)

每个app 都有一个自己的 linux 进程: 每个进程都在自己的虚拟机里执行 两个app 可以跑在一个进程,一个vm里 android app 四大组件:activity,content provider,      services, broardcast receivers Content Resolver 激活 Content Provider You can start an      activity (or give it something new to do) by passi

转 Android开发学习笔记:浅谈WebView

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/647456 WebView(网络视图)能加载显示网页,可以将其视为一个浏览器.它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法: 第一种方法的步骤: 1.在要Activity中实例化WebView组件:WebView webView = new WebView(this); 2

android开发学习笔记000

使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个一直梦想走技术流的再疯狂一次.2014.08.06. 直奔主题——>android开发学习笔记001 android开发学习笔记000