activity间数据传递实例_人品计算器
一、项目目录结构
二、activity_main.xml界面
三、activity_main.xml代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.zgs.ActivityPassData.MainActivity" ><EditTextandroid:id="@+id/et_name"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入姓名" /><RadioGroupandroid:id="@+id/rg_group"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal" ><RadioButtonandroid:id="@+id/rb_male"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="男" /><RadioButtonandroid:id="@+id/rb_female"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="20dp"android:text="女" /><RadioButtonandroid:id="@+id/rb_other"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="20dp"android:text="人妖" /></RadioGroup><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click"android:text="计算" /></LinearLayout>
四、MainActivity.java代码
package com.zgs.ActivityPassData;import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.Toast;public class MainActivity extends Activity {private EditText et_name;private RadioGroup rg_group;private Context mContext;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mContext=this;//(1)找到我们关心的控件et_name = (EditText) findViewById(R.id.et_name);rg_group = (RadioGroup) findViewById(R.id.rg_group);}//点击按钮 获取数据 跳转到ResultActivity页面 public void click(View v) {//[1]获取用户名String name = et_name.getText().toString().trim();if (TextUtils.isEmpty(name)) {Toast.makeText(getApplicationContext(), "用户名不能为空", Toast.LENGTH_LONG).show();return;}//[2]判断选中性别int checkedRadioButtonId = rg_group.getCheckedRadioButtonId();//[3]判断一下具体选中的性别 int sex = 0; //默认值为0switch (checkedRadioButtonId) {case R.id.rb_male: //选中的是男sex = 1;break;case R.id.rb_female: //选中的是女sex = 2;break;case R.id.rb_other: //代表选中的是人妖sex = 3;break;}//[4]判断性别if (sex == 0) {Toast.makeText(getApplicationContext(), "亲 请选择性别 ", 0).show();return;}//[5] 跳转到resutActivity页面 显示意图Intent intent = new Intent(mContext,ResultActivity.class);//[5.1]要把name 和 sex 传递到结果页面 底层mapintent.putExtra("name", name);intent.putExtra("sex", sex);//[6]开启ActivitystartActivity(intent);}}
五、activity_result.xml界面
六、activity_result.xml代码
<?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" ><TextViewandroid:id="@+id/tv_name"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="张三" /><TextViewandroid:id="@+id/tv_sex"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="男" /><TextViewandroid:id="@+id/tv_result"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="您的人品非常好 " /></LinearLayout>
七、ResultActivity.java代码
package com.zgs.ActivityPassData;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;public class ResultActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//加载页面setContentView(R.layout.activity_result);// [1]找到我们关心的控件TextView tv_name = (TextView) findViewById(R.id.tv_name);TextView tv_sex = (TextView) findViewById(R.id.tv_sex);TextView tv_result = (TextView) findViewById(R.id.tv_result);// [2]获取开启此Activity的意图对象Intent intent = getIntent();// [3]获取我们携带过来的数据 取出性别和name 传递的是什么样的数据类型 你在取的时候String name = intent.getStringExtra("name");// 获取nameint sex = intent.getIntExtra("sex", 0);// [4]把数据显示到控件上tv_name.setText(name); // 显示姓名// [5]显示性别byte[] bytes = null;try {switch (sex) {case 1: // 代表男tv_sex.setText("男");bytes = name.getBytes("gbk");break;case 2:tv_sex.setText("女");bytes = name.getBytes("utf-8");break;case 3:tv_sex.setText("人妖");bytes= name.getBytes("iso-8859-1");break;}} catch (Exception e) {e.printStackTrace();}//[6]根据我们输入的姓名和性别 来计算人品得分 根据得分显示结果 int total = 0;for (byte b : bytes) { //0001 1000int number =b&0xff; //1111 1111total+=number;}//算出得分 int score = Math.abs(total)%100;if (score >90) {tv_result.setText("您的人品非常好");}else if (score >70) {tv_result.setText("有你这样的人品算是不错了..");}else if (score >60) {tv_result.setText("您的人品刚刚及格");}else{tv_result.setText("您的人品不及格....");}}}
八、AndroidManifest.xml代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.zgs.ActivityPassData"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="16"android:targetSdkVersion="22" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name=".MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><!--配置resultActivity页面 --><activity android:name="com.zgs.ActivityPassData.ResultActivity"></activity></application></manifest>
九、 操作演示
十、源码下载
activity数据传递_人品计算器 提取码:59hj
activity间数据传递实例_人品计算器相关推荐
- Android零基础入门第83节:Activity间数据传递方法汇总
2019独角兽企业重金招聘Python工程师标准>>> 在Activity间传递的数据一般比较简单,但是有时候实际开发中也会传一些比较复杂的数据,本节一起来学习更多Activity间 ...
- 【android-tips】Activity间数据传递之Bundle和SharedPreferences
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.介绍 对于初学者android不同activity间的数据传输一直是一个难题,主要的解决方法主要有两种 ...
- 页面url带参数_微信小程序云开发教程微信小程序的JS高级页面间数据传递
同学们大家好,我是小伊同学,上一节课我们讲解了全局数据的读写方法,那么在页面间同样需要数据交互,今天我们就来学习这部分内容. 在微信小程序中,我们常常需要将数据在页面之间进行传递,比如用户的身份信息, ...
- 解析activity之间数据传递方法的详解
转自:http://www.jb51.net/article/37227.htm 本篇文章是对activity之间数据传递的方法进行了详细的分析介绍,需要的朋友参考下 1 基于消息的通信机制 Int ...
- asp.net页面间数据传递(总结篇)
asp.net页面间数据传递(总结篇) 1. Get(即使用QueryString显式传递) 方式:在url后面跟参数. 特点:简单.方便. 缺点:字符串长度最长为255 ...
- 三、Vue(组件、组件间数据传递、slot内容分发、vue-router路由、单文件组件、vue-cli脚手架 )
一. 组件component 1. 什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码 组件是自定义元素(对象) ...
- 进程间数据传递:Queue,Pipe 进程间数据共享:Manager
进程间数据传递:Queue,Pipe 进程间数据共享:Manager 1.使用multiprocessing模块的Queue实现数据传递 ''' 进程间通讯:Queue,用法跟线程里的Queue一样, ...
- ASP.NET页面间数据传递的方法
本文我们将讨论的是ASP.NET页面间数据传递的几种方法,对此希望能帮助大家正确的理解ASP.NET页面间数据传递的用处以及便利性. 0.引言 Web页面是无状态的, 服务器对每一次请求都认为来自不同 ...
- ASP.NET页面间数据传递的几种方法
1.ASP.NET页面间数据传递的各种方法和分析 1.1 使用Querystring 方法 QueryString 也叫查询字符串, 这种方法将要传递的数据附加在网页地址(URL)后面进行传递.如页面 ...
最新文章
- 探索JAVA并发 - 悲观锁和乐观锁
- flask_sqlalchemy 多对多重复插入解决办法
- jasonrpcbridge
- 基于cobbler实现自动安装系统
- C#上位机软件串口数据接收用Invoke(同步)和BeginInvoke(异步)的区别
- 200 行代码实现 2048 游戏
- 神策游戏解决方案:赋能游戏产业精品化研运升级
- [Hands On ML] 4. 训练模型
- java - 根据条件求对应数字
- 互联网晚报 | 8月28日 星期六 | 我国网民规模超10亿;vivo首款自研影像芯片下月首发;同程艺龙拟改名为同程旅行...
- .netcore发布时指定服务器的系统类型
- 开源,免费,跨平台——白鹭引擎(Egret Engine)
- 洛谷P2732 商店购物 Shopping Offers
- RDD DataFrame DataSet 区别和转换
- web前端实训day06——学子商城登录页面实现
- 捷安四方聚合支付系统功能和优势的简介介绍?
- 微信小程序php签到功能,微信小程序签到功能
- 移动设备管理存在哪些威胁?
- 【报表福利大放送】100余套报表模板免费下
- MATLAB图像分割的GUI设计
热门文章
- mos管实现主副电源自动切换电路,并且“零”压降,静态电流20uA
- 成为一栈式数据服务生态: TiDB 5.0 HTAP 架构设计与成为场景解
- FFmpeg进阶: 音频滤镜大全
- HDU 5066 Harry And Physical Teacher(物理题)
- Openwrt虚拟WAN口叠加网速
- 算法很美——数学问题
- a+1、a+1、*(a+1)、*(a+1)、*(*(a+1))的区别
- 著名数学家 Michael Atiyah去世,去年九月声称证明黎曼猜想...
- 地震信号的一些基本概念
- paypal订单捕获java,paypal获取交易订单信息api(python实现)