Activity (项目实战:选择宝宝装备-UsersRegister)【Intent打开Activity、数据传递-回传、更新进度条】
生活随笔
收集整理的這篇文章主要介紹了
Activity (项目实战:选择宝宝装备-UsersRegister)【Intent打开Activity、数据传递-回传、更新进度条】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
源碼【工程文件 --- 可以 直接 通過 git 拷貝到 Android Studio 上】:
https://gitee.com/lwx001/UsersRegister
目? 錄
運行截圖---展示:?
ItemInfo.java :
MainActivity.java :
ShopActivity.java :
ShowActivity.java :
activity_main.xml :
activity_shop.xml :
activity_show.xml :
運行截圖---展示:?
?
ItemInfo.java :
package cn.lwx.usersregister;//用于 封裝 裝備信息的實體類import java.io.Serializable;public class ItemInfo implements Serializable {private String name;private int acctack;private int life;private int speed;public ItemInfo(String name, int acctack, int life, int speed) {this.name = name;this.acctack = acctack;this.life = life;this.speed = speed;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAcctack() {return acctack;}public void setAcctack(int acctack) {this.acctack = acctack;}public int getLife() {return life;}public void setLife(int life) {this.life = life;}public int getSpeed() {return speed;}public void setSpeed(int speed) {this.speed = speed;} }MainActivity.java :
package cn.lwx.usersregister;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText;public class MainActivity extends AppCompatActivity {private EditText et_password;private Button btn_send;private EditText et_name;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 1、獲取相關控件et_name = (EditText) findViewById(R.id.et_name);et_password = (EditText) findViewById(R.id.et_password);btn_send = (Button) findViewById(R.id.btn_send);// 2、給按鈕設置點擊事件 點擊開始游戲按鈕進行數據傳遞btn_send.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {passDate();}});}//通過這個方法實現數據的傳遞 傳遞數據public void passDate() {//1、創建Intent意圖對象,啟動Activity02//Intent intent = new Intent();Intent intent = new Intent(this, ShowActivity.class);//2、將數據存入Intent對象intent.putExtra("name", et_name.getText().toString().trim());intent.putExtra("password", et_password.getText().toString().trim());//3、開啟意圖startActivity(intent);}public void click(View view) {} }ShopActivity.java :
package cn.lwx.usersregister;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.TextView;public class ShopActivity extends AppCompatActivity implements View.OnClickListener {ItemInfo itemInfo;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_shop);itemInfo = new ItemInfo("宇宙無敵大寶劍", 80, 20, 30);findViewById(R.id.rl).setOnClickListener(this);TextView mLifeTV = (TextView) findViewById(R.id.tv_life);TextView mNameTV = (TextView) findViewById(R.id.tv_name);TextView mSpeedTV = (TextView) findViewById(R.id.tv_speed);TextView mAttackTV = (TextView) findViewById(R.id.tv_attack);//設置值mLifeTV.setText("生命值+" + itemInfo.getLife());mNameTV.setText(itemInfo.getName() + "");mSpeedTV.setText("敏捷度+" + itemInfo.getSpeed());mAttackTV.setText("攻擊力+" + itemInfo.getAcctack());}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.rl:// 1、創建意圖對象Intent intent = new Intent();// 2、存儲數據到意圖intent.putExtra("equipment", itemInfo);// 3、把數據返回setResult(1, intent);// 4、關閉當前頁面finish();break;}} }ShowActivity.java :
package cn.lwx.usersregister;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ProgressBar; import android.widget.TextView;public class ShowActivity extends AppCompatActivity {private ProgressBar mProgressBar1;private ProgressBar mProgressBar2;private ProgressBar mProgressBar3;private TextView mLifeTV;private TextView mAttackTV;private TextView mSpeedTV;private TextView tv_name;private TextView tv_password;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_show);//1、獲取開啟此頁面的意圖Intent intent = getIntent();//2、根據key取出對應的value值String name = intent.getStringExtra("name");String password = intent.getStringExtra("password");//3、把用戶名與密碼展示到控件上tv_name = (TextView) findViewById(R.id.tv_name);tv_password = (TextView) findViewById(R.id.tv_password);tv_name.setText("用戶名:" + name);tv_password.setText("密 碼:" + password);mLifeTV = (TextView) findViewById(R.id.tv_life_progress);mAttackTV = (TextView) findViewById(R.id.tv_attack_progress);mSpeedTV = (TextView) findViewById(R.id.tv_speed_progress);//4、初始化進度條initProgress();}private void initProgress() {//1、找到進度條控件mProgressBar1 = (ProgressBar) findViewById(R.id.progressBar1);mProgressBar2 = (ProgressBar) findViewById(R.id.progressBar2);mProgressBar3 = (ProgressBar) findViewById(R.id.progressBar3);//2、設置進度條的最大值mProgressBar1.setMax(100); //設置最大值1000mProgressBar2.setMax(100);mProgressBar3.setMax(100);}// 點擊按鈕 購買裝備 開啟新的activity并獲取他的返回值public void click(View view) {Intent intent = new Intent(this, ShopActivity.class);startActivityForResult(intent, 1); // 返回請求結果,請求碼為1}//當開啟的Activity頁面關閉時執行@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (data != null) {// 判斷結果碼是否等于1,等于1為寶寶添加裝備if (resultCode == 1) {if (requestCode == 1) {//獲取上一個頁面返回的數值ItemInfo info = (ItemInfo) data.getSerializableExtra("equipment");//更新ProgressBar的值updateProgress(info);}}}}//更新ProgressBar的值private void updateProgress(ItemInfo info) {int progress1 = mProgressBar1.getProgress();int progress2 = mProgressBar2.getProgress();int progress3 = mProgressBar3.getProgress();mProgressBar1.setProgress(progress1 + info.getLife());mProgressBar2.setProgress(progress2 + info.getAcctack());mProgressBar3.setProgress(progress3 + info.getSpeed());mLifeTV.setText(mProgressBar1.getProgress() + "");mAttackTV.setText(mProgressBar2.getProgress() + "");mSpeedTV.setText(mProgressBar3.getProgress() + "");} }activity_main.xml :
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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:background="@drawable/loading"tools:context=".MainActivity"><ImageViewandroid:id="@+id/iv_head"android:layout_width="50dp"android:layout_height="50dp"android:layout_centerHorizontal="true"android:layout_marginTop="100dp"android:src="@drawable/head" /><LinearLayoutandroid:id="@+id/layout"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@+id/iv_head"android:layout_margin="10dp"android:orientation="vertical"><RelativeLayoutandroid:id="@+id/regist_username"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="5dp"><TextViewandroid:id="@+id/tv_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:text="用戶名:"android:textSize="20sp" /><EditTextandroid:id="@+id/et_name"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="5dp"android:layout_toRightOf="@id/tv_name"android:hint="請輸入用戶名"android:textSize="16sp" /></RelativeLayout><RelativeLayoutandroid:id="@+id/regist_password"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="5dp"><TextViewandroid:id="@+id/tv_psw"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:text="密 碼:"android:textSize="20sp" /><EditTextandroid:id="@+id/et_password"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="5dp"android:layout_toRightOf="@id/tv_psw"android:hint="請輸入密碼"android:inputType="textPassword"android:textSize="16sp" /></RelativeLayout></LinearLayout><Buttonandroid:id="@+id/btn_send"android:layout_width="160dp"android:layout_height="48dp"android:layout_below="@id/layout"android:layout_centerHorizontal="true"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"android:background="@drawable/start"android:text="注冊"android:textColor="#FFFFFF"android:textSize="20sp"android:textStyle="bold" /> </RelativeLayout>activity_shop.xml :
<?xml version="1.0" encoding="utf-8"?> <RelativeLayoutandroid:id="@+id/rl"xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/loading"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="#307f7f7f"android:gravity="center_vertical"android:orientation="horizontal"android:padding="5dp"><ImageViewandroid:layout_width="30dp"android:layout_height="30dp"android:background="@android:drawable/ic_menu_info_details"/><TextViewandroid:id="@+id/tv_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="20dp"android:text="商品名稱"/><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="40dp"android:orientation="vertical"><TextViewandroid:id="@+id/tv_life"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="生命值"android:textSize="13sp"/><TextViewandroid:id="@+id/tv_attack"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="攻擊力"android:textSize="13sp"/><TextViewandroid:id="@+id/tv_speed"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="速度"android:textSize="13sp"/></LinearLayout></LinearLayout> </RelativeLayout>activity_show.xml :
<?xml version="1.0" encoding="utf-8"?> <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:background="@drawable/loading"android:orientation="vertical"tools:context=".MainActivity"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="30dp"android:layout_marginBottom="15dp"android:orientation="horizontal"android:padding="15dp"><ImageViewandroid:id="@+id/pet_imgv"android:layout_width="0dp"android:layout_height="150dp"android:layout_weight="1"android:background="@drawable/baby" /><LinearLayoutandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1"android:orientation="vertical"android:paddingLeft="20dp"><TextViewandroid:id="@+id/tv_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="用戶名:"android:textSize="14sp"android:textStyle="bold" /><TextViewandroid:id="@+id/tv_password"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:text="密 碼:"android:textSize="14sp"android:textStyle="bold" /></LinearLayout></LinearLayout><TextViewandroid:id="@+id/pet_dialog_tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_marginBottom="25dp"android:text="主人,快給小寶寶購買裝備吧~"android:textSize="20sp" /><TableLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_marginLeft="20dp"android:layout_marginRight="5dp"android:layout_marginBottom="50dp"><TableRowandroid:layout_width="fill_parent"android:layout_height="wrap_content"><TextViewandroid:layout_width="0dip"android:layout_height="wrap_content"android:layout_weight="1"android:text="生命值:"android:textColor="@android:color/black"android:textSize="18sp" /><ProgressBarandroid:id="@+id/progressBar1"style="?android:attr/progressBarStyleHorizontal"android:layout_width="0dip"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="2" /><TextViewandroid:id="@+id/tv_life_progress"android:layout_width="0dip"android:layout_height="wrap_content"android:layout_weight="1"android:gravity="center"android:text="0"android:textColor="#000000"android:textSize="18sp" /></TableRow><TableRowandroid:layout_width="fill_parent"android:layout_height="wrap_content"><TextViewandroid:layout_width="0dip"android:layout_height="wrap_content"android:layout_weight="1"android:text="攻擊力:"android:textColor="@android:color/black"android:textSize="18sp" /><ProgressBarandroid:id="@+id/progressBar2"style="?android:attr/progressBarStyleHorizontal"android:layout_width="0dip"android:layout_height="wrap_content"android:layout_weight="2" /><TextViewandroid:id="@+id/tv_attack_progress"android:layout_width="0dip"android:layout_height="wrap_content"android:layout_weight="1"android:gravity="center"android:text="0"android:textColor="#000000"android:textSize="18sp" /></TableRow><TableRowandroid:layout_width="fill_parent"android:layout_height="wrap_content"><TextViewandroid:layout_width="0dip"android:layout_height="wrap_content"android:layout_weight="1"android:text="敏 捷:"android:textColor="@android:color/black"android:textSize="18sp" /><ProgressBarandroid:id="@+id/progressBar3"style="?android:attr/progressBarStyleHorizontal"android:layout_width="0dip"android:layout_height="wrap_content"android:layout_weight="2" /><TextViewandroid:id="@+id/tv_speed_progress"android:layout_width="0dip"android:layout_height="wrap_content"android:layout_weight="1"android:gravity="center"android:text="0"android:textColor="#000000"android:textSize="18sp" /></TableRow></TableLayout><Buttonandroid:id="@+id/btn_baby"android:layout_width="160dp"android:layout_height="48dp"android:layout_gravity="center"android:background="@drawable/start"android:onClick="click"android:text="立即購買 GO!"android:textColor="#ffffff"android:textSize="18sp"android:textStyle="bold" /> </LinearLayout>蟹蟹觀看~~~
總結
以上是生活随笔為你收集整理的Activity (项目实战:选择宝宝装备-UsersRegister)【Intent打开Activity、数据传递-回传、更新进度条】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP-计算表单提交的数据
- 下一篇: Android---Service(生命