日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android——简单模拟银行转账

發(fā)布時(shí)間:2023/12/10 Android 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android——简单模拟银行转账 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  • 所謂的簡(jiǎn)單模擬銀行轉(zhuǎn)賬,就是在自己使用一些布局(目前有三個(gè)界面,貌似不堪,用者請(qǐng)見諒,本次只是實(shí)現(xiàn)簡(jiǎn)單模擬的銀行轉(zhuǎn)賬業(yè)務(wù)),這模擬有三個(gè)頁(yè)面,分別是:轉(zhuǎn)賬前雙方賬號(hào)相關(guān)信息輸入,確認(rèn)相關(guān)信息頁(yè)面以及提示是否轉(zhuǎn)賬成功(需判斷余額)。

  • 個(gè)人初次看了相關(guān)的五大布局以及四大組件(Activity)、以及Intent的個(gè)人運(yùn)用、使用Handler進(jìn)行驗(yàn)證碼倒計(jì)時(shí)等,那就邊看代碼邊做一些簡(jiǎn)單的解釋。

  • 其中布局文件xml有三個(gè):

  • activity_1.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:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:orientation="vertical"android:background="#F8F8FF"tools:context="com.csii.trans.MainActivity"><!--付款人信息--><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24dp"android:text="付款人信息"android:textColor="#D9D919"android:layout_weight="1"/></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"android:background="#F8F8FF"android:layout_weight="4"><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20dp"android:text="付款人賬號(hào):"android:gravity="left"/><EditText android:id="@+id/f_et_ac"android:layout_width="match_parent"android:layout_height="wrap_content"android:numeric="signed"/></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20dp"android:text="賬 號(hào) 余 額:"android:gravity="left"/><TextView android:id="@+id/f_tv_rest"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="#D9D919"android:gravity="center"android:textSize="24dp"android:text="8 000 元"/></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24dp"android:text="轉(zhuǎn)賬金額:"android:gravity="center"/><EditText android:id="@+id/f_et_trans"android:layout_width="match_parent"android:layout_height="wrap_content"android:numeric="signed"/> /></LinearLayout></LinearLayout><!--收款人信息--><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24dp"android:text="收款人信息"android:gravity="center"android:textColor="#D9D919"/></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"android:background="#F8F8FF"android:layout_weight="4"><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20dp"android:text="收款方戶名:"android:gravity="center"/><EditText android:id="@+id/f_et_payname"android:layout_width="match_parent"android:layout_height="wrap_content"/></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20dp"android:text="收款方賬號(hào):"android:gravity="center"/><EditText android:id="@+id/f_et_payac"android:layout_width="match_parent"android:layout_height="wrap_content"android:numeric="signed"/> /></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20dp"android:text=" 收 款 行 :"android:gravity="center"/><EditText android:id="@+id/f_et_bank"android:layout_width="match_parent"android:layout_height="wrap_content"/></LinearLayout></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_weight="1"><Button android:layout_width="match_parent"android:layout_height="wrap_content"android:text="下一步"android:id="@+id/f_btn_next"android:background="#D9D919"android:layout_weight="1"/></LinearLayout></LinearLayout>
  • activity_2.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:orientation="vertical"android:background="#F8F8FF"><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24dp"android:text="付款賬號(hào):"/><TextView android:id="@+id/s_tv_ac"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="left"android:textSize="26dp"/></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24dp"android:text=" 幣 種 :"android:gravity="center"/><TextView android:id="@+id/s_tv_money"android:layout_width="match_parent"android:layout_height="wrap_content"android:textSize="26dp"android:text=" 人 民 幣 "android:gravity="left"/></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24dp"android:text="轉(zhuǎn)賬金額:"android:gravity="center"/><TextView android:id="@+id/s_tv_paymon"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="26dp"android:gravity="left"/> </LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24dp"android:text=" 收款戶名:"/><TextView android:id="@+id/s_tv_payname"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="left"android:textSize="24dp"/></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24dp"android:text=" 收款賬戶:"android:gravity="center"/><TextView android:id="@+id/s_tv_payac"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="left"android:textSize="26dp"/></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24dp"android:text=" 收 款 行 :"/><TextView android:id="@+id/s_tv_bank"android:layout_width="match_parent"android:layout_height="wrap_content"android:textSize="26dp"android:gravity="left"/></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20sp"android:gravity="center"android:text="短信驗(yàn)證碼:"android:layout_weight="3"/><EditText android:id="@+id/s_et_mess"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="left"android:textSize="20sp"android:maxLength="10"android:layout_weight="2"android:hint="請(qǐng)輸入驗(yàn)證碼"/><Button android:id="@+id/s_btn_time"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#D9D919"android:textSize="18sp"android:gravity="center_horizontal"android:layout_weight="2"android:text="60s"/></LinearLayout><LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><Button android:id="@+id/s_btn_confirm"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#D9D919"android:onClick="btn_resend"android:text="確認(rèn)"/></LinearLayout></LinearLayout>
  • activity_3.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:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.csii.trans.MainActivity"><TextView android:id="@+id/t_tv_suc"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="28dp"android:textColor="#D9D919"/> </RelativeLayout>
  • 以上是相關(guān)的布局代碼,可以看出本人的UI不怎么好,有待提高(/汗)。

  • 接下來(lái)是涉及到模擬銀行轉(zhuǎn)賬業(yè)務(wù)的兩個(gè)簡(jiǎn)單的對(duì)象類,User(用戶)和Pay(轉(zhuǎn)賬對(duì)象),當(dāng)然有人說(shuō)只要一個(gè)類就行,因?yàn)檫@模擬的業(yè)務(wù)太簡(jiǎn)單了,還沒(méi)使用到服務(wù)器交互數(shù)據(jù)(這個(gè)還在學(xué)),個(gè)人為了簡(jiǎn)單點(diǎn)模擬,在頁(yè)面初步設(shè)計(jì)時(shí)就決定了兩個(gè)對(duì)象的調(diào)用的屬性不同,都是為了簡(jiǎn)單模擬下相關(guān)的操作。

  • User.java

package com.csii.trans;import java.io.Serializable;/*** Created by Zeb灬D on 2016/7/16.*/ public class User implements Serializable{private String ac;private int money;public String getAc() {return ac;}public void setAc(String ac) {this.ac = ac;}public int getMoney() {return money;}public void setMoney(int money) {this.money = money;} } Pay.java package com.csii.trans;import java.io.Serializable;/*** Created by Zeb灬D on 2016/7/16.*/ public class Pay implements Serializable {private String name;private String payac;private String address;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPayac() {return payac;}public void setPayac(String payac) {this.payac = payac;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;} }
  • 以上是兩個(gè)對(duì)象,都實(shí)現(xiàn)了Serializable 接口,在使用Intent時(shí)需要進(jìn)行序列化。

  • 下面是對(duì)應(yīng)的三個(gè)activity相關(guān)操作的類,其中Comfirm類使用Handler與Thread實(shí)現(xiàn)倒計(jì)時(shí)。

  • MainActivity.java

package com.csii.trans;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.TextView; import android.widget.Toast;public class MainActivity extends AppCompatActivity {private Button f_btn_next;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_1);f_btn_next=(Button) findViewById(R.id.f_btn_next);f_btn_next.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {EditText f_et_ac=(EditText) findViewById(R.id.f_et_ac);TextView f_tv_rest=(TextView) findViewById(R.id.f_tv_rest);EditText f_et_trans=(EditText) findViewById(R.id.f_et_trans);EditText f_et_payname=(EditText) findViewById(R.id.f_et_payname);EditText f_et_payac=(EditText) findViewById(R.id.f_et_payac);EditText f_et_bank=(EditText) findViewById(R.id.f_et_bank);String ac=f_et_ac.getText().toString();String trans=f_et_trans.getText().toString();String name=f_et_payname.getText().toString();String payac=f_et_payac.getText().toString();String bank=f_et_bank.getText().toString();User user=new User();Pay pay=new Pay();if(ac.isEmpty()||trans.isEmpty()||name.isEmpty()||payac.isEmpty()||bank.isEmpty()){Toast.makeText(MainActivity.this, "您還有輸入的數(shù)據(jù)", Toast.LENGTH_SHORT).show();}else{user.setMoney(8000);user.setAc(ac);pay.setName(name);pay.setPayac(payac);pay.setAddress(bank);Intent intent = new Intent(MainActivity.this, Comfirm.class);intent.putExtra("trans", trans);intent.putExtra("user", user);intent.putExtra("pay", pay);startActivity(intent);}}});}}
  • Comfirm.java
package com.csii.trans;import android.content.Intent; import android.os.Bundle; import android.os.Message; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast;public class Comfirm extends AppCompatActivity {private TextView s_tv_ac;private TextView s_tv_money;private TextView s_tv_paymon;private TextView s_tv_payname;private TextView s_tv_payac;private TextView s_tv_bank;private EditText s_et_mess;public static int money;private Button s_btn_time;private Button s_btn_confirm;private User user;private Pay pay;private Handler handler;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_2);s_tv_ac = (TextView) findViewById(R.id.s_tv_ac);s_tv_paymon = (TextView) findViewById(R.id.s_tv_paymon);s_tv_payname = (TextView) findViewById(R.id.s_tv_payname);s_tv_payac = (TextView) findViewById(R.id.s_tv_payac);s_tv_bank = (TextView) findViewById(R.id.s_tv_bank);s_btn_time=(Button)findViewById(R.id.s_btn_time);Intent intent = getIntent();User user = (User) intent.getSerializableExtra("user");Pay pay = (Pay) intent.getSerializableExtra("pay");String trans = intent.getStringExtra("trans");user.setMoney(user.getMoney() - Integer.parseInt(trans, 10));money = user.getMoney() - Integer.parseInt(trans, 10);user.setAc(user.getAc());s_tv_ac.setText(user.getAc());s_tv_paymon.setText(trans);s_tv_payname.setText(pay.getName());s_tv_payac.setText(pay.getPayac());s_tv_bank.setText(pay.getAddress());handler = new Handler() {public void handleMessage(Message msg) {s_btn_time.setText((String)msg.obj);}}; // new Th(handler,Comfirm.this).start();new Thread(new Runnable(){@Overridepublic void run() {for (int i=60;i>=0;i--){Message message=new Message();message.obj=new String(i+"秒");handler.sendMessage(message);try{Thread.sleep(1000);} catch (InterruptedException e){e.printStackTrace();}}}}).start();s_btn_confirm = (Button) findViewById(R.id.s_btn_confirm);s_btn_confirm.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {s_et_mess=(EditText) findViewById(R.id.s_et_mess);String mess=s_et_mess.getText().toString();if (mess.isEmpty()){Toast.makeText(Comfirm.this, "請(qǐng)輸入驗(yàn)證碼", Toast.LENGTH_SHORT).show();return;}if (money<0){Toast.makeText(Comfirm.this, "您的余額不足", Toast.LENGTH_SHORT).show();}Intent intent = new Intent(Comfirm.this, Success.class);intent.putExtra("money",String.valueOf(money));intent.putExtra("data", "轉(zhuǎn)賬成功");startActivity(intent);}});}}
  • Success.java
package com.csii.trans;import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;public class Success extends AppCompatActivity {private TextView t_tv_suc;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_3);Intent intent=getIntent();t_tv_suc=(TextView)findViewById(R.id.t_tv_suc);int money=Integer.parseInt(intent.getStringExtra("money"),10);if (money>=0) t_tv_suc.setText(intent.getStringExtra("data"));else t_tv_suc.setText("余額不足");}}
  • 以上是個(gè)人的一些操作,因時(shí)間有限(貌似是三個(gè)小時(shí)做的,故簡(jiǎn)陋),其中在判斷余額的順序(先進(jìn)行相減后的結(jié)果,存入與判斷的順序),也希望能幫到你們。

May-The-Good-Luck-Be-With-You

總結(jié)

以上是生活随笔為你收集整理的Android——简单模拟银行转账的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。