1、首先构思装备购买流程,创建两个Activity以实现两个Activity之间的交互!

2、创建英雄属性xml文件实现英雄属性的选择,点击购买后跳转到装备购买界面,点击所需要的装备并购买!

如图:

其中两个xml文件代码如下:

1

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context="com.example.renxiaohen.gz_zbxz.MainActivity"><ImageView
        android:id="@+id/yasuo"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/yasuo"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="-65dp"
        android:layout_marginBottom="304dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true" /><TextView
        android:id="@+id/autoCompleteTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="英雄属性!"
        android:textSize="20dp"
        android:textColor="@color/colorAccent"
        android:layout_marginTop="214dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"></TextView><LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:orientation="vertical"
        android:layout_below="@id/autoCompleteTextView"><TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"><TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="生命值"
            android:textSize="20dp"
            android:textColorHint="@color/colorPrimary"
            android:id="@+id/shengming"
            ></TextView><ProgressBar
                android:id="@+id/progressBar2"
                style="@style/Widget.AppCompat.ProgressBar.Horizontal"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="2"
                android:background="@color/colorPrimaryDark" /><TextView
                android:id="@+id/shengmingshu"
                style="@style/Widget.AppCompat.ProgressBar.Horizontal"
                android:layout_width="20dp"
                android:layout_height="wrap_content"
                android:text="0"
                android:layout_gravity="center"
                android:textColor="@color/colorAccent"
            ></TextView></TableRow><TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"><TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:hint="攻击力"
            android:textSize="20dp"
            android:textColorHint="@color/colorPrimary"
            android:id="@+id/gongjili"
            ></TextView><ProgressBar
                android:id="@+id/progressBar3"
                style="@style/Widget.AppCompat.ProgressBar.Horizontal"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="2"
                android:background="@color/colorPrimaryDark" /><TextView
                android:id="@+id/gongjishu"
                style="@style/Widget.AppCompat.ProgressBar.Horizontal"
                android:layout_width="20dp"
                android:layout_height="wrap_content"
                android:text="0"
                android:layout_gravity="center"
                android:textColor="@color/colorAccent"
                ></TextView></TableRow><TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"><TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:hint="敏捷度"
            android:textSize="20dp"
            android:textColorHint="@color/colorPrimary"
            android:id="@+id/minjie"
            ></TextView><ProgressBar
                android:id="@+id/progressBar"
                style="@style/Widget.AppCompat.ProgressBar.Horizontal"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="2"
                android:background="@color/colorPrimaryDark" /><TextView
                android:id="@+id/minjieshu"
                style="@style/Widget.AppCompat.ProgressBar.Horizontal"
                android:layout_width="20dp"
                android:layout_height="wrap_content"
                android:text="0"
                android:layout_gravity="center"
                android:textColor="@color/colorAccent"
                ></TextView></TableRow></LinearLayout><Button
        android:id="@+id/buy"
        android:onClick="buy"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="31dp"
        android:background="@color/colorAccent"
        android:text="点击购买装备" />
</RelativeLayout>
2
<TextView
      android:id="@+id/shopTV"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="20dp"
      android:text="欢迎进入商店"
      android:textSize="35sp"
      android:textColor="#FFCC00"
      />
<LinearLayout
    android:id="@+id/zhunbei"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginTop="20dp"
    android:layout_below="@id/shopTV"><RadioButton
            android:id="@+id/huanyin"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/huanyingzhiwu"
            android:text="敏捷+60,攻击+30,防御+10"
            android:textSize="20dp"/><RadioButton
        android:id="@+id/wujin"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:textSize="20dp"
        android:drawableLeft="@drawable/wujinzhiren"
        android:hint="敏捷+10,攻击+50,防御+10" /><RadioButton
        android:id="@+id/yinxue"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:textSize="20dp"
        android:drawableLeft="@drawable/yinxuejian"
        android:hint="敏捷+10,攻击+30,防御+20"/>
</LinearLayout><Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="购买"
      android:textSize="20dp"
      android:background="@color/colorAccent"
      android:layout_alignParentBottom="true"
      android:layout_centerHorizontal="true"
      android:layout_marginBottom="33dp" /></RelativeLayout>
新建一个package,里面新建一个ItemInfo的类,用来存储装备信息

ItermInfo.java
[java] view plaincopy
  1. package cn.itcast.domain;
  2. import java.io.Serializable;
  3. public class ItemInfo implements Serializable {
  4. private  String name;
  5. private  int health;
  6. private  int power;
  7. private  int sen;
  8. public ItemInfo(String name,int health,int power,int sen){
  9. this.name=name;
  10. this.health=health;
  11. this.power=power;
  12. this.sen=sen;
  13. }
  14. public String getName(){
  15. return name;
  16. }
  17. public void setName(String name){
  18. this.name=name;
  19. }
  20. public int getHealth(){
  21. return health;
  22. }
  23. public void setHealth(int health){
  24. this.health=health;
  25. }
  26. public int getPower(){
  27. return power;
  28. }
  29. public void setPower(int power){
  30. this.power=power;
  31. }
  32. public int getSen(){
  33. return sen;
  34. }
  35. public void setSen(int sen){
  36. this.sen=sen;
  37. }
  38. public String toString(){
  39. return "[name="+name+"power="+power+"sen="+sen+"]";
  40. }
  41. }
MainActivity.java
[java] view plaincopy
  1. package com.eee.eeeee;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.inputmethodservice.Keyboard;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.os.Bundle;
  7. import android.util.Log;
  8. import android.view.KeyEvent;
  9. import android.view.MotionEvent;
  10. import android.view.View;
  11. import android.widget.Button;
  12. import android.widget.EditText;
  13. import android.widget.RadioButton;
  14. import android.widget.Toast;
  15. import java.util.Timer;
  16. import java.util.TimerTask;
  17. import static android.R.attr.data;
  18. import static android.R.attr.logo;
  19. import static com.eee.eeeee.R.styleable.View;
  20. public class MainActivity extends AppCompatActivity{
  21. public EditText et1,et2;
  22. public RadioButton rb1,rb2;
  23. public static final int RC=1;
  24. @Override
  25. public void onCreate(Bundle savedInstanceState) {
  26. super.onCreate(savedInstanceState);
  27. setContentView(R.layout.activity_main);
  28. Button b1 =(Button)findViewById(R.id.BB1);
  29. Button b2 =(Button)findViewById(R.id.BB2);
  30. et1 =(EditText)findViewById(R.id.et_UN);
  31. et2 =(EditText)findViewById(R.id.et_PW);
  32. rb1 =(RadioButton)findViewById(R.id.man);
  33. rb2 =(RadioButton)findViewById(R.id.woman);
  34. b1.setOnClickListener(new View.OnClickListener() {
  35. @Override
  36. public void onClick(View view) {
  37. Intent intent =new Intent(MainActivity.this,SecACT.class);
  38. intent.putExtra("un",et1.getText().toString().trim());
  39. startActivity(intent);
  40. }
  41. });
  42. b1.setOnClickListener(new View.OnClickListener() {
  43. @Override
  44. public void onClick(View view) {
  45. passData();
  46. Toast.makeText(MainActivity.this,"Regist Successful!",Toast.LENGTH_SHORT).show();
  47. }
  48. });
  49. }
  50. public void passData() {
  51. Intent intent = new Intent(MainActivity.this, SecACT.class);
  52. intent.putExtra("un", et1.getText().toString().trim());
  53. intent.putExtra("pd", et2.getText().toString().trim());
  54. String sex = "";
  55. if (rb1.isChecked()) {
  56. sex = "Man";
  57. } else if (rb2.isChecked()) {
  58. sex = "Woman";
  59. }
  60. intent.putExtra("sex", sex);
  61. startActivity(intent);
  62. }
  63. private long firstTime=0;
  64. @Override
  65. public boolean onKeyUp(int keyCode, KeyEvent event) {
  66. switch (keyCode){
  67. case KeyEvent.KEYCODE_BACK:
  68. long secondTime=System.currentTimeMillis();
  69. if(secondTime-firstTime>2000){
  70. Toast.makeText(MainActivity.this,"Press Again to Exit!",Toast.LENGTH_SHORT).show();
  71. firstTime=secondTime;
  72. return true;
  73. }else{
  74. finish();
  75. }
  76. break;
  77. }
  78. return super.onKeyUp(keyCode, event);
  79. }
  80. }
SecAct.java
[java] view plaincopy
  1. package com.eee.eeeee;
  2. import android.os.Bundle;
  3. import android.content.Intent;
  4. import android.inputmethodservice.Keyboard;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.os.Bundle;
  7. import android.util.Log;
  8. import android.view.KeyEvent;
  9. import android.view.MotionEvent;
  10. import android.view.View;
  11. import android.widget.Button;
  12. import android.widget.TextView;
  13. import android.widget.Toast;
  14. import static com.eee.eeeee.R.styleable.View;
  15. public class SecACT extends AppCompatActivity {
  16. public TextView tv1,tv2,tv3;
  17. @Override
  18. protected void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.activity_secact);
  21. Button b1=(Button)findViewById(R.id.back1);
  22. tv1=(TextView)findViewById(R.id.name);
  23. tv2=(TextView)findViewById(R.id.pass);
  24. tv3=(TextView)findViewById(R.id.sex);
  25. Intent i =getIntent();
  26. String name =i.getStringExtra("un");
  27. String pass = i.getStringExtra("pd");
  28. String sex =i.getStringExtra("sex");
  29. tv1.setText("Your UserName: "+name);
  30. tv2.setText("Your PassWord: "+pass+" (Please Do not tell Others)");
  31. tv3.setText("Your Sex: "+sex);
  32. b1.setOnClickListener(new View.OnClickListener() {
  33. @Override
  34. public void onClick(View view) {
  35. Intent intent=new Intent(SecACT.this,CharAct.class);
  36. intent.putExtra("name",tv1.getText().toString().trim());
  37. if(getData().equals("Woman")){
  38. intent.putExtra("code","2");
  39. }else if(getData().equals("Man")){
  40. intent.putExtra("code","1");
  41. }
  42. Log.i("---->",getData());
  43. startActivity(intent);
  44. }
  45. });
  46. }
  47. public String getData(){
  48. Intent in =getIntent();
  49. String x=in.getStringExtra("sex");
  50. return x;
  51. }
  52. }
CharAct.java
[java] view plaincopy
  1. package com.eee.eeeee;
  2. import android.content.Intent;
  3. import android.graphics.Color;
  4. import android.os.Bundle;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.util.Log;
  7. import android.view.View;
  8. import android.widget.Button;
  9. import android.widget.ImageView;
  10. import android.widget.ProgressBar;
  11. import android.widget.TextView;
  12. import cn.itcast.domain.ItemInfo;
  13. import static com.eee.eeeee.R.drawable.soldier76;
  14. public class CharAct extends AppCompatActivity {
  15. private ProgressBar hp,pp,sp;
  16. private TextView sh,stvp,ss;
  17. public void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.activity_char);
  20. sh=(TextView)findViewById(R.id.status_hea);
  21. stvp=(TextView)findViewById(R.id.status_pow);
  22. ss=(TextView)findViewById(R.id.status_sen);
  23. Button b=(Button)findViewById(R.id.button);
  24. TextView tv=(TextView)findViewById(R.id.name);
  25. ImageView iv =(ImageView)findViewById(R.id.iv);
  26. TextView tv2=(TextView)findViewById(R.id.CN);
  27. b.setOnClickListener(new View.OnClickListener() {
  28. @Override
  29. public void onClick(View view) {
  30. Intent intent=new Intent(CharAct.this,ShopAct.class);
  31. startActivityForResult(intent,1);
  32. }
  33. });
  34. Intent i =getIntent();
  35. String name=i.getStringExtra("name");
  36. String code=i.getStringExtra("code");
  37. Log.i("--->",code);
  38. if(code.equals("1")) {
  39. tv.setText(name + "`s Character is Soldier76");
  40. iv.setBackground(getDrawable(R.drawable.soldier76));
  41. tv2.setText("Soldier76");
  42. }else if(code.equals("2")){
  43. tv.setText(name + "`s Character is Mercy");
  44. iv.setBackground(getDrawable(R.drawable.angel));
  45. tv2.setText("Mercy");
  46. }
  47. initProgress();
  48. }
  49. private void initProgress(){
  50. int x=0;
  51. hp=(ProgressBar)findViewById(R.id.pro_health);
  52. pp=(ProgressBar)findViewById(R.id.pro_power);
  53. sp=(ProgressBar)findViewById(R.id.pro_sen);
  54. sh=(TextView)findViewById(R.id.status_hea);
  55. stvp=(TextView)findViewById(R.id.status_pow);
  56. ss=(TextView)findViewById(R.id.status_sen);
  57. Button b=(Button)findViewById(R.id.button);
  58. hp.setMax(100);
  59. pp.setMax(100);
  60. sp.setMax(100);
  61. hp.setProgress(30);
  62. pp.setProgress(20);
  63. sp.setProgress(80);
  64. sh.setText(hp.getProgress()+"");
  65. stvp.setText(pp.getProgress()+"");
  66. ss.setText(sp.getProgress()+"");
  67. x=hp.getProgress();
  68. judegeStatus(x);
  69. }
  70. @Override
  71. protected void onActivityResult(int requestCode,int resultCode,Intent data){
  72. if(data!=null){
  73. if(resultCode==1){
  74. if(requestCode==1){
  75. ItemInfo info =(ItemInfo)data.getSerializableExtra("equip");
  76. updateProgress(info);
  77. }
  78. }
  79. }
  80. }
  81. private void updateProgress(ItemInfo info){
  82. int x=0;
  83. int p1=hp.getProgress();
  84. int p2=pp.getProgress();
  85. int p3=sp.getProgress();
  86. hp.setProgress(p1+info.getHealth());
  87. pp.setProgress(p2+info.getPower());
  88. sp.setProgress(p3+info.getSen());
  89. sh.setText(hp.getProgress()+"");
  90. stvp.setText(pp.getProgress()+"");
  91. ss.setText(sp.getProgress()+"");
  92. x=hp.getProgress();
  93. judegeStatus(x);
  94. }
  95. public void judegeStatus(int x){
  96. TextView tx=(TextView)findViewById(R.id.status);
  97. if(x>=50){
  98. tx.setTextColor(Color.rgb(255, 255, 0));
  99. tx.setText("Good");
  100. }else if(x>=90&&x<=100){
  101. tx.setTextColor(Color.rgb(0, 255, 0));
  102. tx.setText("Wonderful");
  103. }else if(x<25&&x>=0){
  104. tx.setTextColor(Color.rgb(255, 0, 0));
  105. tx.setText("Weak");
  106. }
  107. }
  108. }
ShopAct.java
[java] view plaincopy
  1. package com.eee.eeeee;
  2. import android.content.Intent;
  3. import android.os.Bundle;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.view.View;
  6. import android.widget.TextView;
  7. import cn.itcast.domain.ItemInfo;
  8. public class ShopAct extends AppCompatActivity implements View.OnClickListener{
  9. private ItemInfo itemInfo;
  10. public void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_shop);
  13. itemInfo =new ItemInfo("Tactical eyepiece",80,100,60);
  14. findViewById(R.id.rr).setOnClickListener(this);
  15. TextView h=(TextView)findViewById(R.id.health);
  16. TextView p=(TextView)findViewById(R.id.power);
  17. TextView s=(TextView)findViewById(R.id.sen);
  18. TextView n=(TextView)findViewById(R.id.item);
  19. n.setText(itemInfo.getName()+"");
  20. h.setText("Health++"+itemInfo.getHealth());
  21. p.setText("Power++"+itemInfo.getPower());
  22. s.setText("Sen++"+itemInfo.getSen());
  23. }
  24. @Override
  25. public void onClick(View v){
  26. switch (v.getId()){
  27. case R.id.rr:
  28. Intent intent =new Intent();
  29. intent.putExtra("equip",itemInfo);
  30. setResult(1,intent);
  31. finish();
  32. break;
  33. }
  34. }
  35. }
												

Android实现模拟装备购买相关推荐

  1. 【BZOJ4004】装备购买(线性基)

    [BZOJ4004]装备购买(线性基) 题面 BZOJ 洛谷 Description 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am ...

  2. 【Android】模拟返回键、菜单键、Home键

    Android 如何模拟返回键.菜单键.主页键? 如果有一个悬浮窗,运行所有程序的时候都能够看到,我希望点击悬浮窗就模拟返回键的功能,不管我现在运行的是什么程序,这个如何实现? 方法一: Runtim ...

  3. Android 关于模拟点击和Hook框架的杂谈

    1. 背景 就跟我们以前玩页游挂机一样,Android端也有游戏,而且样式繁多,如果重复的操作每次都要自己重复一遍操作,那不得烦死,所以就有了这篇文章,本文仅探讨方案,大家可以尝试.而且现在的模拟器( ...

  4. Android 手机模拟游戏手柄(USB,C#,winio)

    Android 手机模拟游戏手柄(USB,C#,winio) 使用的知识点:Android服务器通过USB连接PC端,winio发送键盘消息,Socket编程,线程,Android多点触控 先说下思路 ...

  5. android 辅助功能 模拟点击,Android模拟点击的四种方式

    导论 在Android中模拟一个点击事件有三种方式是通过模拟MotionEvent来实现:一种是通过ADB来实现:一种是通过Instrumentation测试框架来实现 第一种:模拟MotionEve ...

  6. JAVA简单模拟商品购买,记录购买日志

    JAVA模拟商品购买,生成购买记录. 1.Product类 public class Product {int proId;//商品IDint proPrice;//积分int proNum;//数量 ...

  7. Android之——模拟实现检测心率变化的应用实例

    Android之--模拟实现检测心率变化的应用实例 当今,市面上有了一些可以通过Android应用来检测病人心率,血压,体温,等等,一系列方便人们日常生活的Android手机应用.那么,这些实用的手机 ...

  8. 用Android平板模拟蓝牙耳机,与手机连接,实现接听与拨打电话-预研

    用Android平板模拟蓝牙耳机,与手机连接,实现接听与拨打电话 结论: 没找到可以用的方案.据说要蓝牙协议支持.普通手机.平板做不了. 正常蓝牙打电话时,手机是实现了蓝牙协议的AG端,耳机是HF端, ...

  9. BZOJ4004: [JLOI2015]装备购买

    Description 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am) 表示  (1 <= i <= n; 1 < ...

  10. android怎么模拟返回,Android中障蔽返回键,HOME键以及模拟HOME键返回效果的方法...

    Android中屏蔽返回键,HOME键以及模拟HOME键返回效果的方法 在Android开发中,有时需要屏蔽一些实体的按键,如HOME键,返回键等实体的按键,实现的方法如下. 1. 屏蔽实体按键 屏蔽 ...

最新文章

  1. 数据结构|-常见数据结构整理
  2. FFmpeg中libavutil库简介及测试代码
  3. 清华天才王垠受邀面试阿里P9,被阿里P10赵海平面跪,整个事件回顾...
  4. SQLSERVER 2014 SP1 的服务器 日志文件无法收缩的处理
  5. Python系列之Collections内置模块(2)
  6. property的修饰符
  7. opencv轻松入门面向python下载_OpenCV轻松入门:面向Python
  8. Python实现多行数据读入
  9. 文件从一台服务器拷贝到另一台服务器
  10. java未知变量的类型_Java语言中类、变量及方法的声明 | 学步园
  11. 画像像素软件_怎样学好像素画?
  12. java拼写json
  13. 如何在VS上用C#玩坏“Hello World”。
  14. SDN+DPI文献阅读
  15. Asp.net实用技巧
  16. XXXX大学课程设计说明书格式规范
  17. 学习C++程序设计需要什么基础
  18. 【JVM】灵性一问——为什么用元空间替换永久代?
  19. 投影仪分辨率以及对应的投影幕布比例
  20. 转专业申请麦吉尔大学计算机,加拿大大学转专业申请秘籍

热门文章

  1. 技术干货 | 如何用MindSpore优化器加速收敛高度逼近最优值?
  2. epub格式的电子书
  3. 使用 字蛛 对ttf字体文件进行压缩
  4. unity 制作行李箱密码
  5. 2022年2月国产数据库排行榜:冠军宝座面临挑战,OceanBase 重返 TOP3
  6. android获取全部ram和rom,手机中的RAM和ROM,你懂得多少?
  7. 论文笔记 Question Answering over Freebase via Attentive RNN with Similarity Matrix based CNN
  8. 经典前端框架,一个时代的落幕:如何看待layui 官网将于 2021年10月13日 进行下线?
  9. uni-app开发经验分享十三:实现手机扫描二维码并跳转全过程
  10. 强化学习(一):简介——什么是强化学习?