实验七使⽤Intent在Activity间传输数据
实验七 使⽤Intent在Activity间传输数据
⼀、实验要求和⽬的
1. 理解Activity组件的功能与作⽤;
2. 掌握使⽤Intent在多个Activity组件间传输数据的⽅法;
3. 掌握在l中配置Activity组件的⽅法。
⼆、实验环境
4. 部署有Android Studio和Android SDK的主机;
5. 建议在机房的HelloWorld例⼦上完成。
三、上机操作参考步骤
1、 完成⼀个体重计算器的应⽤程序开发。图1为该应⽤的⾸界⾯(即主Activity),⽤户可选择性别和输⼊⾝⾼值,点击“计算”按
钮后启动图2所⽰的界⾯(即第⼆个Activity)。可以通过Intent携带性别、⾝⾼数据到第⼆个Activity,然后计算出体重并把三个数据显⽰到三个TextView中即可
import androidx.appcompat.app.AppCompatActivity;
t.Intent;
import android.os.Bundle;
import android.widget.TextView;
ample.shiyan7.Person;
public class Fatactivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState){
setContentView(R.layout.activity_fatactivity);
TextView gender=findViewById(der);
TextView height=findViewById(R.id.height);
TextView fat=findViewById(R.id.fat);
Intent intent=getIntent();
Person p=(SerializableExtra("person"); gender.setText("您的性别为"+p.getGender());
height.setText("您的⾝⾼为"+p.getHeight());
int fat1=Integer.Height());
Gender()=="男")
fat.setText("您的标准体重为:"+(fat1-80)*0.7);
else
fat.setText("您的标准体重为:"+(fat1-70)*0.6);
}
}
import java.io.Serializable;
public class Person implements Serializable {
private String height;
private String gender;
public Person(String height, String gender) {
this.height= height;
}
public String getHeight()
{
return height;
}
public void setName(String height)
{
this.height= height;
}
public String getGender()
{
return gender;
}
public void setGender(String gender)
{
}
}
import androidx.appcompat.app.AppCompatActivity;
t.Intent;
import android.wifi.aware.PeerHandle;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
ample.shiyan7.Person;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState){
setContentView(R.layout.activity_main);
Button bt1=findViewById(R.id.bt1);
final RadioButton rb1=findViewById(R.id.rb1);
final EditText height=findViewById(1);
bt1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
String gender = rb1.isChecked()?"男":"⼥";
Person p =new Text().toString(), gender); Bundle data =new Bundle();
data.putSerializable("person", p);
Intent intent =new Intent(MainActivity.this, Fatactivity.class); intent.putExtras(data);
MainActivity.this.startActivity(intent);
}
});
}
}
activity_fatactivity
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="schemas.android/apk/res/android" xmlns:app="schemas.android/apk/res-auto"
xmlns:tools="schemas.android/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/gender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
>
</TextView>
<TextView
android:id="@+id/height"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
>
</TextView>
<TextView
android:id="@+id/fat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
>
</TextView>
</LinearLayout>
l
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="schemas.android/apk/res/android" xmlns:app="schemas.android/apk/res-auto"
xmlns:tools="schemas.android/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv1"
android:text="计算标准体重"
android:textSize="30sp"
android:layout_margin="5dp"
></TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv2"
android radiogroupandroid:textSize="18sp"
android:text="性别"
android:layout_below="@+id/tv1"
android:layout_marginTop="15dp"
></TextView>
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rg1"
android:layout_toRightOf="@+id/tv2"
android:layout_below="@+id/tv1"
android:orientation="horizontal"
android:layout_marginTop="15dp"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论