首页

Android 仿qq登陆注册

java

2020-6-27

package com.fg.androidtest.activty;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.example.androidtest.R;
import com.fg.androidtest.utils.Autjcode;
import com.fg.androidtext.sqlite.MyDatabaseHelper;
import com.fg.androidtext.sqlite.MyloginCursor;
import com.fg.androidtext.sqlite.MytabOperate;

public class RegisterActivity extends Activity implements OnClickListener,
		OnFocusChangeListener {
	private Button registerBack;
	private Button registerCheck;
	private Button registerBtn;
	private EditText registerId;
	private EditText registerPassword;
	private EditText registerAuth;
	private EditText turePassword;
	private TextView registerBackText;
	private TextView registerIdText;
	private TextView registerPwText;
	private TextView turePwText;
	private TextView registerAuthText;
	private ImageView registerAuthimg;
	private String isPhone, isPassword, isTruePassword, Autecode, Autecodeimg;
	private int flagPhone, flagPassword, flagTruePassword, flagAutecode;
	private SQLiteOpenHelper helper;
	private MytabOperate mylogin;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_register);
		helper = new MyDatabaseHelper(this);
		initView();
	}

	private void initView() {
		registerBack = (Button) findViewById(R.id.registerBack);
		registerBack.setOnClickListener(this);
		registerCheck = (Button) findViewById(R.id.registerCheck);
		registerCheck.setOnClickListener(this);
		registerBtn = (Button) findViewById(R.id.registerBtn);
		registerBtn.setOnClickListener(this);
		registerBackText = (TextView) findViewById(R.id.registerBackText);
		registerBackText.setOnClickListener(this);

		registerId = (EditText) findViewById(R.id.registerId);
		registerId.setOnFocusChangeListener(this);
		registerPassword = (EditText) findViewById(R.id.registerPassword);
		registerPassword.setOnFocusChangeListener(this);
		registerAuth = (EditText) findViewById(R.id.registerAuth);
		registerAuth.setOnFocusChangeListener(this);
		registerAuth.setOnClickListener(this);
		turePassword = (EditText) findViewById(R.id.turePassword);
		turePassword.setOnFocusChangeListener(this);

		registerAuthimg = (ImageView) findViewById(R.id.registerAuthimg);
		registerAuthimg.setImageBitmap(Autjcode.getInstance().createBitmap());

		registerIdText = (TextView) findViewById(R.id.registerIdText);
		registerPwText = (TextView) findViewById(R.id.registerPwText);
		turePwText = (TextView) findViewById(R.id.turePwText);
		registerAuthText = (TextView) findViewById(R.id.registerAuthText);

	}

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.registerBack:
			RegisterActivity.this.finish();
			break;
		case R.id.registerBackText:
			RegisterActivity.this.finish();
			break;
		case R.id.registerAuth:
			registerAuth.setFocusable(true);
			registerAuth.setFocusableInTouchMode(true);
			registerAuth.requestFocus();
			registerAuth.findFocus();
			break;
		case R.id.registerCheck:
			registerAuthimg.setImageBitmap(Autjcode.getInstance()
					.createBitmap());
			break;
		case R.id.registerBtn:
			registerAuth.setFocusable(false);
			isPhone = registerId.getText().toString();
			if (flagAutecode == 1 && flagPassword == 1 && flagPhone == 1
					&& flagTruePassword == 1) {
				if (new MyloginCursor(
						RegisterActivity.this.helper.getReadableDatabase())
						.find(isPhone).size() == 0) {
					mylogin = new MytabOperate(helper.getWritableDatabase());
					mylogin.insert(isPhone, isPassword);
					new AlertDialog.Builder(RegisterActivity.this)
							.setTitle("提示")
							.setMessage("注册成功!")
							.setPositiveButton("确认",
									new DialogInterface.OnClickListener() {

										@Override
										public void onClick(
												DialogInterface dialog,
												int which) {
											Intent i = new Intent(
													RegisterActivity.this,
													LoginActivity.class);
											i.putExtra("myId", isPhone);
											RegisterActivity.this.finish();
											startActivity(i);
										}
									}).show();

				} else {
					new AlertDialog.Builder(RegisterActivity.this)
							.setTitle("提示").setMessage("用户已存在")
							.setPositiveButton("确认", null).show();
				}
			} else {
				Toast.makeText(RegisterActivity.this, "注册失败",
						Toast.LENGTH_SHORT).show();
			}
			break;
		default:
			break;
		}

	}

	@Override
	public void onFocusChange(View v, boolean hasFocus) {
		isPhone = registerId.getText().toString();
		isPassword = registerPassword.getText().toString();
		isTruePassword = turePassword.getText().toString();
		Autecode = registerAuth.getText().toString();
		Autecodeimg = Autjcode.getInstance().getCode().toUpperCase();
		switch (v.getId()) {
		case R.id.registerId:
			if (hasFocus == false) {
				// 手机号码的正则判断
				Pattern pattern = Pattern.compile("^1[3,5,8]\\d{9}$");
				Matcher matcher = pattern.matcher(isPhone);
				if (matcher.find()) {
					registerIdText.setVisibility(View.INVISIBLE);
					flagPhone = 1;
				} else {
					if (registerId.length() != 0) {
						registerIdText.setVisibility(View.VISIBLE);
					}
				}
			}
			break;
		case R.id.registerPassword:
			if (hasFocus == false) {
				if ((isPassword.length() < 6 || isPassword.length() > 20)
						&& isPassword.length() != 0) {
					registerPwText.setVisibility(View.VISIBLE);
				} else {
					registerPwText.setVisibility(View.INVISIBLE);
					flagPassword = 1;
				}
			}
			break;
		case R.id.turePassword:
			if (hasFocus == false) {
				if (isTruePassword.equals(isPassword)) {
					turePwText.setVisibility(View.INVISIBLE);
					flagTruePassword = 1;
				} else {
					if (turePassword.length() != 0) {
						turePwText.setVisibility(View.VISIBLE);
					}
				}
			}
			break;
		case R.id.registerAuth:
			if (hasFocus == false) {
				// 判断验证码是否正确,toUpperCase()是不区分大小写
				if (Autecode.toUpperCase().equals(Autecodeimg)) {
					registerAuthText.setVisibility(View.INVISIBLE);
					flagAutecode = 1;
				} else {
					if (registerAuth.length() != 0) {
						registerAuthText.setVisibility(View.VISIBLE);
					}
				}
			}
			break;
		default:
			break;
		}
	}
}

资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
AndroidTest/.classpath , 475
AndroidTest/.project , 847
AndroidTest/.settings/org.eclipse.jdt.core.prefs , 177
AndroidTest/AndroidManifest.xml , 1240
AndroidTest/bin/AndroidManifest.xml , 1240
AndroidTest/bin/AndroidTest.apk , 356744
AndroidTest/bin/classes/com/example/androidtest/BuildConfig.class , 355
AndroidTest/bin/classes/com/example/androidtest/R$attr.class , 355
AndroidTest/bin/classes/com/example/androidtest/R$dimen.class , 476
AndroidTest/bin/classes/com/example/androidtest/R$drawable.class , 537
AndroidTest/bin/classes/com/example/androidtest/R$id.class , 3020
AndroidTest/bin/classes/com/example/androidtest/R$layout.class , 552
AndroidTest/bin/classes/com/example/androidtest/R$menu.class , 403
AndroidTest/bin/classes/com/example/androidtest/R$string.class , 1118
AndroidTest/bin/classes/com/example/androidtest/R$style.class , 583
AndroidTest/bin/classes/com/example/androidtest/R.class , 723
AndroidTest/bin/classes/com/fg/androidtest/activty/ChangePasswordActivity$1.class , 1213
AndroidTest/bin/classes/com/fg/androidtest/activty/ChangePasswordActivity.class , 5366
AndroidTest/bin/classes/com/fg/androidtest/activty/FindPasswordActivity$1.class , 2192
AndroidTest/bin/classes/com/fg/androidtest/activty/FindPasswordActivity$2.class , 2015
AndroidTest/bin/classes/com/fg/androidtest/activty/FindPasswordActivity.class , 5768
AndroidTest/bin/classes/com/fg/androidtest/activty/LoginActivity.class , 3761
AndroidTest/bin/classes/com/fg/androidtest/activty/RegisterActivity$1.class , 1410
AndroidTest/bin/classes/com/fg/androidtest/activty/RegisterActivity.class , 6489
AndroidTest/bin/classes/com/fg/androidtest/utils/Autjcode.class , 4416
AndroidTest/bin/classes/com/fg/androidtext/sqlite/MyDatabaseHelper.class , 1508
AndroidTest/bin/classes/com/fg/androidtext/sqlite/MyloginCursor.class , 2029
AndroidTest/bin/classes/com/fg/androidtext/sqlite/MytabOperate.class , 1443
AndroidTest/bin/classes.dex , 711764
AndroidTest/bin/dexedLibs/android-support-v4-12a77733e074563ef74768a0bc732628.jar , 232610
AndroidTest/bin/jarlist.cache , 120
AndroidTest/bin/res/crunch/drawable-hdpi/ic_launcher.png , 14335
AndroidTest/bin/res/crunch/drawable-mdpi/ic_launcher.png , 4298
AndroidTest/bin/res/crunch/drawable-xhdpi/btnbg.png , 280
AndroidTest/bin/res/crunch/drawable-xhdpi/ic_launcher.png , 14335
AndroidTest/bin/res/crunch/drawable-xhdpi/tou.png , 29129
AndroidTest/bin/res/crunch/drawable-xhdpi/user_qq.png , 4059
AndroidTest/bin/res/crunch/drawable-xxhdpi/ic_launcher.png , 28542
AndroidTest/bin/resources.ap_ , 110894
AndroidTest/gen/com/example/androidtest/BuildConfig.java , 165
AndroidTest/gen/com/example/androidtest/R.java , 8357
AndroidTest/ic_launcher-web.png , 128893
AndroidTest/libs/android-support-v4.jar , 621451
AndroidTest/lint.xml , 104
AndroidTest/proguard-project.txt , 781
AndroidTest/project.properties , 563
AndroidTest/res/drawable-hdpi/ic_launcher.png , 16521
AndroidTest/res/drawable-mdpi/ic_launcher.png , 4615
AndroidTest/res/drawable-xhdpi/back.9.png , 535
AndroidTest/res/drawable-xhdpi/btnbg.png , 1341
AndroidTest/res/drawable-xhdpi/ic_launcher.png , 16521
AndroidTest/res/drawable-xhdpi/tou.png , 31755
AndroidTest/res/drawable-xhdpi/user_qq.png , 3661
AndroidTest/res/drawable-xxhdpi/ic_launcher.png , 33897
AndroidTest/res/layout/activity_changepassword.xml , 5888
AndroidTest/res/layout/activity_findpassword.xml , 5492
AndroidTest/res/layout/activity_login.xml , 4423
AndroidTest/res/layout/activity_register.xml , 8398
AndroidTest/res/menu/main.xml , 263
AndroidTest/res/values/dimens.xml , 220
AndroidTest/res/values/strings.xml , 1244
AndroidTest/res/values/styles.xml , 2194
AndroidTest/res/values-sw600dp/dimens.xml , 203
AndroidTest/res/values-sw720dp-land/dimens.xml , 277
AndroidTest/res/values-v11/styles.xml , 334
AndroidTest/res/values-v14/styles.xml , 391
AndroidTest/src/com/fg/androidtest/activty/ChangePasswordActivity.java , 5970
AndroidTest/src/com/fg/androidtest/activty/FindPasswordActivity.java , 4851
AndroidTest/src/com/fg/androidtest/activty/LoginActivity.java , 3139
AndroidTest/src/com/fg/androidtest/activty/RegisterActivity.java , 6953
AndroidTest/src/com/fg/androidtest/utils/Autjcode.java , 3270
AndroidTest/src/com/fg/androidtext/sqlite/MyDatabaseHelper.java , 1058
AndroidTest/src/com/fg/androidtext/sqlite/MyloginCursor.java , 1075
AndroidTest/src/com/fg/androidtext/sqlite/MytabOperate.java , 1100
说明.htm , 4317
没有账号? 忘记密码?

社交账号快速登录