**
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();
}
}