1.介绍
2.相关属性
(1)启动Activity
(2)Intent介绍
(3)关闭Activity
3.多个页面之间传递数据
(1)相关属性
注意:data为str的代号
(2)xml文件
第一个界面
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:id="@+id/textView" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="50dp" android:text="这是登录界面" android:textSize="30dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center"> <TextView android:id="@+id/textView_username" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="用户名" /> <EditText android:id="@+id/editText_username" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center"> <TextView android:id="@+id/textView_password" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="密码" /> <EditText android:id="@+id/editText_password" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="textPassword" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center"> <Button android:id="@+id/button_login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录" /> <Button android:id="@+id/button_exit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="退出" /> </LinearLayout> <TextView android:id="@+id/textView2" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="50dp" android:text="这是标准体重计算界面" android:textSize="30dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center"> <TextView android:id="@+id/textView_gender" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="请选择性别" /> <RadioGroup android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="horizontal"> <RadioButton android:id="@+id/radioButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男" /> <RadioButton android:id="@+id/radioButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女" /> </RadioGroup> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center"> <TextView android:id="@+id/textView_userheight" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="请输入您的身高" /> <EditText android:id="@+id/editText_userheight" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center"> <Button android:id="@+id/button_calculate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="计算" /> </LinearLayout> </LinearLayout>
第二个界面
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:id="@+id/textView" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="50dp" android:text="这是第二个界面" android:textSize="30dp" /> <Button android:id="@+id/button" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="返回" /> <EditText android:id="@+id/editText_message" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" android:text="Name" /> <EditText android:id="@+id/editText_weight" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" android:text="Name" /> </LinearLayout>
(3)java后台代码
界面1
package com.lucky.test31activity; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; public class MainActivity extends AppCompatActivity { Button button_login; Button button_calculate; EditText editText_username; EditText editText_password; EditText editText_height; RadioButton radioButton; String gender; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button_login=findViewById(R.id.button_login); button_calculate=findViewById(R.id.button_calculate); editText_username=findViewById(R.id.editText_username); editText_password=findViewById(R.id.editText_password); editText_height=findViewById(R.id.editText_userheight); radioButton=findViewById(R.id.radioButton); button_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //实现页面之间的跳转 Intent intent=new Intent(MainActivity.this,SecondActivity.class); //若页面之间要传递数据,可以用putExtra()方法,若不需要传递数据则下面两句可以不写 //toString()一定不能少 intent.putExtra("001",editText_username.getText().toString()); intent.putExtra("002",editText_password.getText().toString()); if(radioButton.isChecked()){ gender="男"; }else { gender="女"; } intent.putExtra("003",gender); intent.putExtra("004",Integer.parseInt(editText_height.getText().toString())); startActivity(intent); //进行页面跳转 } }); button_calculate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //实现页面之间的跳转 Intent intent=new Intent(MainActivity.this,SecondActivity.class); //若页面之间要传递数据,可以用putExtra()方法,若不需要传递数据则下面两句可以不写 //toString()一定不能少 if(radioButton.isChecked()){ gender="男"; }else { gender="女"; } intent.putExtra("003",gender); intent.putExtra("004",Integer.parseInt(editText_height.getText().toString())); startActivity(intent); //进行页面跳转 } }); } }
界面2
package com.lucky.test31activity; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class SecondActivity extends AppCompatActivity { Button button1; EditText editText_message; EditText editText_userweight; int userheight; double userweight; String gender; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); button1=findViewById(R.id.button); editText_message=findViewById(R.id.editText_message); editText_userweight=findViewById(R.id.editText_weight); Intent intent=getIntent();//获取Intent String name=intent.getStringExtra("001"); String pwd=intent.getStringExtra("002"); gender=intent.getStringExtra("003"); userheight=intent.getIntExtra("004",0); if(gender.equals("男")){ userweight=(userheight-80)*0.7; }else { userweight=(userheight-70)*0.6; } editText_message.setText("用户名为:"+name+"\n密码为:"+pwd); editText_userweight.setText("您的体重为:"+userweight); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish();//关闭页面 } }); } }