专栏首页陶士涵的菜地[android] 在不同的activity之间传递数据

[android] 在不同的activity之间传递数据

新建一个activity,继承Activity

清单文件中进行配置,添加<activity/>节点

设置名称 android:name=”.类名” 点 代表的是当前包名,也可以不写

新建一个布局文件,线性布局,竖直排列

添加<TextView/>控件,设置控件内容水平居中,android:gravity=”center_horizontal”

添加一个<Button/>控件,我想让他占据剩余空间的中央,添加一个<RelativeLayout/>的布局,

给<Button/>设置在父控件的中央center_inParent

第一个界面里面:

获取到EditText对象的值

获取Intent对象,调用new出来,通过简便方式直接指定,参数:上下文,类字节码

调用Intent对象的putExtra(key,val)方法,传递数据,参数:键值对

调用startActivity(intent)方法,开启

第二个界面里面:

获取Intent对象,调用getIntent()方法,获取到传递过来的Intent对象

调用Intent对象的getStringExtra(name)方法,获取传递的String,参数:键

获取Random对象,new出来随机数对象

调用Random对象的nextInt(n),获取随机值,参数:int类型的最大值,0开始要减一

显示进度条,布局文件增加<ProgressBar/>,设置最大值android:max=”100”,代码中获取到这个ProgressBar对象,调用对象的setProgress(p)方法,参数:上面的随机值

也可以传递对象,但是这个对象必须序列化

第一个activity:

package com.tsh.testrp;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends Activity {
    private EditText et_name;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_name=(EditText) findViewById(R.id.et_name);
    }
    //测试
    public void click(View v){
        String name=et_name.getText().toString().trim();
        
        Intent intent=new Intent(this,ResultActivity.class);
        intent.putExtra("name", name);
        startActivity(intent);
    }
}

第二个activity:

package com.tsh.testrp;

import java.util.Random;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ProgressBar;
import android.widget.TextView;

public class ResultActivity extends Activity {
    private TextView tv_name;
    private ProgressBar pb;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);
        //获取展示数据
        tv_name=(TextView) findViewById(R.id.tv_name);
        pb=(ProgressBar) findViewById(R.id.pb_result);
        Intent intent=getIntent();
        String name=intent.getStringExtra("name");
        Random random=new Random();
        int rp=random.nextInt(101);
        tv_name.setText(name+":您的人品值是"+rp);
        pb.setProgress(rp);
        
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android Q 手势导航背后的故事

    新引入的手势导航是 Android Q 带来的主要变化之一。简而言之,采用这款新系统导航模式后,用户无需借助任何虚拟按键,只要滑动手势便能完成多种操作,包括:...

    Android 开发者
  • [译]C++ 和 Android 本地 Activity 初探

    我会带你完成一个简单的 Android 本地 Activity。我将介绍一下基本的设置,并尽力将进一步学习所需的工具提供给你。

    Android 开发者
  • 再谈路由与导航,详谈Flutter是如何实现页面切换的

    如果说 UI 框架的视图元素的基本单位是组件,那应用程序的基本单位就是页面了。对于拥有多个页面的应用程序而言,如何从一个页面平滑地过渡到另一个页面,我们需要有一...

    拉维
  • Azkaban-3.x源码编译以及Solo-Server模式部署

    查看azkaban-3.73.1/gradle/wrapper/gradle-wrapper.properties文件:

    CoderJed
  • 作为一名SAP从业人员,需要专门学习数学么

    先回忆回忆自己本科和研究生学过的数学课程。Jerry的大一生活是在电子科技大学的九里堤校区度过的,本科第一门数学课就是微积分。

    Jerry Wang
  • 如何响应用户交互事件

    指针事件表示用户交互的原始触摸数据,如手指接触屏幕 PointerDownEvent、手指在屏幕上移动 PointerMoveEvent、手指抬起 Pointe...

    拉维
  • 【连载】聊聊 APK(四) —— 脱离 AS 手工创造 APK 文件

    想进大厂,就关注「 程序亦非猿 」 时不时 8:38 推送优质文章,觉得有用,置顶加星标

    程序亦非猿
  • 成熟项目的Flutter快速引入以及Flutter、Native混合开发探究

    又有两个月没有发文了,最近我司逐渐开始在成熟的项目中引入 Flutter 作为一种新的开发方式。作为比较早吃螃蟹的人,我也在组内为三四十个同学做了一次 Flu...

    何时夕
  • 如何获得微信小游戏跳一跳源码以及源代码组合包括哪些

    很多小游戏都是由源代码编写而成的,那大家知道源代码组合包括哪些吗?手机游戏源代码怎么使用的呢?还有,如何获得微信小游戏跳一跳源码?下面就由奇瑰网小编带大家来了解...

    小瓶子
  • 计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决

    这句话几乎概括了计算机软件体系结构的设计要点.整个体系从上到下都是按照严格的层级结构设计的.

    一个会写诗的程序员

扫码关注云+社区

领取腾讯云代金券