2021-06-07 QQ注册

**

QQ注册功能实现 案例小结

**

*1、新建(添加)Activity界面(从注册界面—注册成功接收注册内容界面)
方法:java下------第一个文件夹 右击----new-----activity—empty activity
2、按钮的监听事件,实现界面的跳转,并且将注册的数据,提交给成功界面
(1)定义组件对象
(2)实例化对象(将xml中的组件,强类型转化为java中对象)
(3)编写对象的事件方法(按钮的事件方法,两种类型)
I、编写监听事件: 按钮对象名.setOnClickListener()
II、单独定义按钮的onclick的事件doClick。 android:onClick=“doClick()”
3、实现跳转,需要Intent意图、目的对象,并且实现数据传递
(1)定义Intent意图 Intent intent=new Intent(当前界面.this,下一个界面.class);
(2)通过intent写入数据 intent.putExtra(“键”,“值”)//键值对
(3)数据是如何获取的? etName.getText()
(4)执行你的意图 startActivity(intent)
4、接收上一界面(意图)传来的数据
(1)定义Intent意图,获取意图getIntent(),并得到数据getStringExtra()
(2)通过组件TextView,将得到的数据赋值给组件TextView

1、activity_main.xml

<?xml version="1.0" encoding="utf-8"?>


<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="QQ会员注册信息"
    android:textSize="30sp"
    android:layout_marginTop="30dp"
    android:layout_gravity="center"

    />
<LinearLayout

    android:layout_marginTop="20dp"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    <TextView
        android:text="账号:"
        android:textSize="26sp"
        android:layout_marginLeft="50dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <EditText
        android:id="@+id/etname"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginRight="50dp"
        android:textSize="20sp"
        android:hint="输入数字号码"
        />

</LinearLayout>
<LinearLayout

    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    <TextView
        android:text="密码:"
        android:textSize="26sp"
        android:layout_marginLeft="50dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <EditText
        android:id="@+id/etpwd"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginRight="50dp"
        android:textSize="20sp"
        android:inputType="numberPassword"
        android:maxLength="6"
        android:hint="输入密码信息"
        />

</LinearLayout>

<LinearLayout
    android:layout_marginTop="20dp"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <Button
        android:id="@+id/btnzc"
        android:text="注  册"
        android:textSize="26sp"
        android:layout_weight="1"
        android:layout_marginLeft="50dp"
        android:background="@color/colorPrimary"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <Button
        android:id="@+id/btnqx"
        android:text="取  消"
        android:background="@color/colorPrimary"
        android:textSize="26sp"
        android:layout_weight="1"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="50dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

2、MainActivity.java

package com.example.myapp318qqreg;

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;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
//定义对象
EditText etName,etPwd;
Button btnZC,btnQX;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //实例化对象,将XML中的组件,强类型转批为java中的对象,才可以调用对象的事件方法
    etName=(EditText)findViewById(R.id.etname);
    etPwd=(EditText)findViewById(R.id.etpwd);
    btnZC=(Button)findViewById(R.id.btnzc);
    btnQX=(Button)findViewById(R.id.btnqx);

    //编写按钮的监听事件
    btnZC.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            //获取注册信息,账号和密码的内容,定义了字符缓冲对象

            if(!etName.getText().toString().trim().equals("") && !etPwd.getText().toString().trim().equals("")) {
                StringBuffer str = new StringBuffer("你QQ注册的信息如下:\n");
                str.append("账号:" + etName.getText().toString().trim()).append("\n");
                str.append("密码:" + etPwd.getText().toString().trim());
                //定义意图Intent,并写入数据putExtra()
                Intent intent = new Intent(MainActivity.this, SuccessRegActivity.class);
                intent.putExtra("reginfo", str.toString());//键、值对
                //启动意图
                startActivity(intent);
                finish();
            }
            else
            {
                Toast.makeText(MainActivity.this,"账号和密码不能为空!",Toast.LENGTH_SHORT).show();

            }


        }
    });


    btnQX.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            etName.setText("");
            etPwd.setText("");
        }
    });

}

}

**

3、activity_success_reg.xml

<?xml version="1.0" encoding="utf-8"?>

<TextView
    android:id="@+id/tv"
    android:text="注册的QQ信息:"
    android:layout_marginTop="70dp"
    android:layout_gravity="center"
    android:textSize="30sp"
    android:textColor="@color/colorAccent"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<Button
    android:id="@+id/btnback"
    android:text="返   回"
    android:textSize="26sp"
    android:layout_marginTop="150dp"
    android:layout_gravity="center"
    android:onClick="doClick"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

*4、SuccessRegActivity.java

package com.example.myapp318qqreg;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class SuccessRegActivity extends AppCompatActivity {
TextView tV;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_success_reg);

    tV=(TextView)findViewById(R.id.tv);
    Intent intent=getIntent();
    String  xx=intent.getStringExtra("reginfo");//获取上一界面中,指定的键reginfo
    tV.setText(xx);//将intent获取的内容,赋值给tV

}

public  void doClick(View v){
    Intent intent=new Intent(SuccessRegActivity.this,MainActivity.class);
    startActivity(intent);
    finish();


}

}

猜你喜欢

转载自blog.csdn.net/qq_45438019/article/details/117659371
qq