第一章:初入Android大门(不同的Activity之间的数据传递)

本文介绍了一个简单的Android应用程序示例,展示了如何在两个Activity之间传递数据,包括性别和身高等信息,并在接收端显示计算的标准体重。
效果


[img]http://dl.iteye.com/upload/attachment/378855/5f343400-4c46-3305-a83e-558a99a037f2.jpg[/img]


[img]http://dl.iteye.com/upload/attachment/378857/a6d56289-87f4-3a47-9d03-12fe4f4b5bc9.jpg[/img]

来设置第一个Activity
main.xml


<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>

<EditText
android:id="@+id/heigths"
android:layout_width="129px"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_x="122px"
android:layout_y="141px"
>
</EditText>
<RadioGroup android:id="@+id/sexs"
android:layout_width="wrap_content"
android:layout_x="122px"
android:orientation="horizontal"
android:layout_y="87px"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/boy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
>
</RadioButton>
<RadioButton
android:id="@+id/gril"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
>
</RadioButton>
</RadioGroup>
<TextView
android:id="@+id/sexText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性别:"
android:layout_x="51px"
android:layout_y="102px"
>
</TextView>
<TextView
android:id="@+id/heigth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="身高:"
android:layout_x="51px"
android:layout_y="152px"
>
</TextView>
<Button
android:id="@+id/count"
android:layout_width="74px"
android:layout_height="wrap_content"
android:text="计算"
android:layout_x="140px"
android:layout_y="203px"
>
</Button>
</AbsoluteLayout>


设置第二个Activity新建一个layout2.xml文件


<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性别:"
android:layout_x="74px"
android:layout_y="106px"
>
</TextView>


</AbsoluteLayout>


AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="transfer.data"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity
android:name=".TransferData"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".TransferData2"></activity>
</application>
</manifest>


在来看看R.java

/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/

package transfer.data;

public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class id {
public static final int boy=0x7f050003;
public static final int count=0x7f050007;
public static final int gril=0x7f050004;
public static final int heigth=0x7f050006;
public static final int heigths=0x7f050001;
public static final int sexText=0x7f050005;
public static final int sexs=0x7f050002;
public static final int text=0x7f050000;
}
public static final class layout {
public static final int layout2=0x7f030000;
public static final int main=0x7f030001;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}

好了配置完了接下来开始写代码了


package transfer.data;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;

public class TransferData extends Activity {
/** Called when the activity is first created. */
private Button bt;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/**载入main.xml*/
setContentView(R.layout.main);
/**找到计算按钮*/
bt=(Button)findViewById(R.id.count);
/**设置按钮的监听事件*/
bt.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
/**找到文本框*/
EditText et=(EditText)findViewById(R.id.heigths);
/**将文本框的值转换为 double类型的*/
double height=Double.parseDouble(et.getText().toString());
String sex="";
/**找到单选按钮*/
RadioButton rb1=(RadioButton)findViewById(R.id.boy);
/**判断是否被选中*/
if(rb1.isChecked()){
sex="男";
}else{
sex="女";
}
/**实例化Intent对像,并指定传递的class*/
Intent intent=new Intent();
intent.setClass(TransferData.this, TransferData2.class);

/**实例化Bundle对像,把将要传递的数据以键值对的形式添加进去*/
Bundle bundle=new Bundle();
/**添加的是Double类型的数值*/
bundle.putDouble("height", height);
/**添加的是String类型的数值*/
bundle.putString("sex", sex);
/**将设置好值的Bundle对象添加进Intent*/
intent.putExtras(bundle);
/**调用TransferData2 传递开始*/
startActivity(intent);
}
});
}
}





package transfer.data;

import java.text.DecimalFormat;
import java.text.NumberFormat;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class TransferData2 extends Activity {
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
/**载入layout*/
setContentView(R.layout.layout2);
/**获取 Bundle对象*/
Bundle bundle=this.getIntent().getExtras();
/**获取 传递过来的值也就是性别*/
String sex=bundle.getString("sex");
/**获取 传递过来的值身高*/
double height=bundle.getDouble("height");
/**通过id找到TextView组件对象*/
TextView text=(TextView)findViewById(R.id.text);
/**设置TextView的文本值*/
text.setText("性别:"+sex+"\n身高:"+height+"\n标准体重:"+getWeight(sex, height));
}

public String format(double num){
NumberFormat formatter=new DecimalFormat("0.00");
String count=formatter.format(num);
return count;
}
/**计算男女标准体重*/
public String getWeight(String sex,double height){
String weight="";
weight=format((height-80)*0.7);
if(sex.equals("男")){
weight=format((height-70)*0.7);
}
return weight;
}
}
内容概要:本文围绕EKF SLAM(扩展卡尔曼滤波同步定位与地图构建)的性能展开多项对比实验研究,重点分析在稀疏与稠密landmark环境下、预测与更新步骤同时进行与非同时进行的情况下的系统性能差异,并进一步探讨EKF SLAM在有色噪声干扰下的鲁棒性表现。实验考虑了不确定性因素的影响,旨在评估不同条件下算法的定位精度与地图构建质量,为实际应用中EKF SLAM的优化提供依据。文档还提及多智能体系统在遭受DoS攻击下的弹性控制研究,但核心内容聚焦于SLAM算法的性能测试与分析。; 适合人群:具备一定机器人学、状态估计或自动驾驶基础知识的科研人员及工程技术人员,尤其是从事SLAM算法研究或应用开发的硕士、博士研究生和相关领域研发人员。; 使用场景及目标:①用于比较EKF SLAM在不同landmark密度下的性能表现;②分析预测与更新机制同步与否对滤波器稳定性与精度的影响;③评估系统在有色噪声等非理想观测条件下的适应能力,提升实际部署中的可靠性。; 阅读建议:建议结合MATLAB仿真代码进行实验复现,重点关注状态协方差传播、观测更新频率与噪声模型设置等关键环节,深理解EKF SLAM在复杂环境下的行为特性。稀疏 landmark 与稠密 landmark 下 EKF SLAM 性能对比实验,预测更新同时进行与非同时进行对比 EKF SLAM 性能对比实验,EKF SLAM 在有色噪声下性能实验
内容概要:本文围绕“基于主从博弈的售电商多元零售套餐设计与多级市场购电策略”展开,结合Matlab代码实现,提出了一种适用于电力市场化环境下的售电商优化决策模型。该模型采用主从博弈(Stackelberg Game)理论构建售电商与用户之间的互动关系,售电商作为领导者制定电价套餐策略,用户作为跟随者响应电价并调整用电行为。同时,模型综合考虑售电商在多级电力市场(如日前市场、实时市场)中的【顶级EI复现】基于主从博弈的售电商多元零售套餐设计与多级市场购电策略(Matlab代码实现)购电组合优化,兼顾成本最小化与收益最大化,并引不确定性因素(如负荷波动、可再生能源出力变化)进行鲁棒或随机优化处理。文中提供了完整的Matlab仿真代码,涵盖博弈建模、优化求解(可能结合YALMIP+CPLEX/Gurobi等工具)、结果可视化等环节,具有较强的可复现性和工程应用价值。; 适合人群:具备一定电力系统基础知识、博弈论步认知和Matlab编程能力的研究生、科研人员及电力市场从业人员,尤其适合从事电力市场运营、需求响应、售电策略研究的相关人员。; 使用场景及目标:① 掌握主从博弈在电力市场中的建模方法;② 学习售电商如何设计差异化零售套餐以引导用户用电行为;③ 实现多级市场购电成本与风险的协同优化;④ 借助Matlab代码快速复现顶级EI期刊论文成果,支撑科研项目或实际系统开发。; 阅读建议:建议读者结合提供的网盘资源下载完整代码与案例数据,按照文档目录顺序逐步学习,重点关注博弈模型的数学表达与Matlab实现逻辑,同时尝试对目标函数或约束条件进行扩展改进,以深化理解并提升科研创新能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值