Android Studio第10课——重逢Activity

相对之前做的笔记,今天有进一步学习了下Activity

主要有亮点内容

1、如何在一个应用程序当中定义多个Activity
2、启动一个Activity的方法


定义多个Activity

1.定义一个类,继承Activity
2.在该类当中,复写Activity当中的onCreate方法
3.在AndroidManifest.xml文件当中注册Activity

4.为Activity添加必要的控件


启动一个Activity的方法

1.生成一个Intent意图对象

2.生成一个Intent请求

3.启动Intent

//生成一个Internt对象
Intent intent = new Intent();
//生成一个请求(从xxx到qqq的请求)
//xxx指的是当前的Activity.this
//qqq值得是需要跳转的Activity.class
//这里的两个Activity xxx和qqq不一定是要求在同一个应用程序
intent.setClass(xxx,qqq);
qqq.this.startActivity(intent);//启动这个请求
一个Intent对象包含了一组信息:

1.Component name :决定启动哪一个Activity
2.Action :指定另外一个Activity要做什么
3.Data :从当前Activity想另外一个Activity传送的数据
4.Category :不常用,先不管
5.Extras :键值对传输

6.Flags :不常用,先不管


写了一个测试的app

上图:


图一.MainActivity


图二、SecondActivity


图三、输入短信内容后即将点击“启动发送短信界面”


大致说下内容,图一图二分别是MainActivity和SecondActivity,操作是点击“启动第二个Activity”后跳转到第二个Activity界面,也就是图二,图三是在EditText输入完发送号码和发送内容后点击“启动发送短信洁面后”,会调用系统自带的短信界面,并把要发送的号码和要发送的内容填充到短信界面里面。

源码如下:

1、MainActivity

package com.example.urien.urienandroid;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    //第一步、声明控件
    private Button button_launch;
    private Button button_SendMessage;

    private EditText editText_name;
    private EditText editText_Message;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //第二步、找到对应的控件
        button_launch = findViewById(R.id.button_launch);
        button_SendMessage = findViewById(R.id.button_sendMessage);
        editText_name = findViewById(R.id.editText_name);
        editText_Message = findViewById(R.id.editText_Message);


        //第四步、绑定监听器
        button_launch.setOnClickListener(new buttonListener_launch());
        button_SendMessage.setOnClickListener(new buttonListener_SendMessage());

    }
    //第三步、复写监听器的方法
    class buttonListener_launch implements Button.OnClickListener{

        @Override
        public void onClick(View v) {
            /**
             * 定义一个intent意图对象
             */
            Intent intent = new Intent();
            /**
             * 存入一个字符串类型的键值对
             * 键的名字是“key'”
             * 键值是“value”
             */
            intent.putExtra("key","value");
            /**
             * 意图是Activity从MainActivity跳转到SecondActivity
             */
            intent.setClass(MainActivity.this,SecondActivity.class);
            /**
             * 启动
             */
            startActivity(intent);
        }
    }

    class buttonListener_SendMessage implements Button.OnClickListener{

        @Override
        public void onClick(View v) {
            String name = "smsto:" + editText_name.getText().toString();
            String message = editText_Message.getText().toString();

            Uri uri = Uri.parse(name);
            Intent intent = new Intent(Intent.ACTION_SENDTO,uri);
            intent.putExtra("sms_body",message);
            startActivity(intent);
        }
    }
}

2、SecondActivity

package com.example.urien.urienandroid;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class SecondActivity extends AppCompatActivity {

    //第一步、声明控件
    private TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        /**
         * 得到传过来的意图对象
         */
        Intent intent  = getIntent();
        /**
         * 得到传递过来意图对象中的键多对应的键值
         */
        String value = intent.getStringExtra("key");

        //第二步、找到控件
        textView = findViewById(R.id.text_second);
        textView.setText(value);
    }
}

xml代码非常简单,代码大多都有注释,不一一记录了。

By Urien 2018年6月10日 23:28:52



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值