注册登录显示个人中心
生活随笔
收集整理的這篇文章主要介紹了
注册登录显示个人中心
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
布局login
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<RelativeLayout
android:id="@+id/login_view"
android:layout_width="400dp"
android:layout_height="800dp"
android:layout_centerInParent="true"
>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="注冊"
android:id="@+id/login_btn_register"
android:onClick="resetpwd"
android:textColor="#ffffff"
android:background="#e52525"
android:textSize="20dp"
android:layout_below="@+id/login_btn_login"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="10dp" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="登錄"
android:id="@+id/login_btn_login"
android:onClick="finish_login"
android:background="#545bcb"
android:textSize="20dp"
android:textColor="#ffffff"
android:layout_below="@+id/login_edit_pwd"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="52dp" />
<ImageView
android:layout_width="300dp"
android:layout_height="150dp"
android:id="@+id/logo"
android:src="@mipmap/ic_launcher"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignWithParentIfMissing="false"
android:background="#ffffff" />
<EditText
android:layout_width="400dp"
android:layout_height="60dp"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/login_edit_pwd"
android:drawableLeft="@android:drawable/ic_lock_idle_lock"
android:hint="請輸入您的密碼"
android:layout_below="@+id/login_edit_account"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="400dp"
android:layout_height="60dp"
android:inputType="textPersonName"
android:id="@+id/login_edit_account"
android:drawableLeft="@android:drawable/ic_menu_myplaces"
android:hint="請輸入您的用戶名"
android:layout_below="@+id/logo"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="20dp" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="注銷"
android:id="@+id/login_btn_cancle"
android:textSize="20dp"
android:layout_below="@+id/login_btn_register"
android:layout_marginTop="10dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textColor="#ffffff"
android:background="#3a1313" />
<CheckBox
android:layout_width="100dp"
android:layout_height="20dp"
android:text="記住密碼"
android:id="@+id/Login_Remember"
android:layout_below="@+id/login_edit_pwd"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:checked="false"
android:textSize="15dp" />
<TextView
android:layout_width="60dp"
android:layout_height="20dp"
android:text="修改密碼"
android:id="@+id/login_text_change_pwd"
android:layout_below="@+id/login_edit_pwd"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:textSize="15dp" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/login_success_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginLeft="15.0px"
android:layout_marginRight="15.0px"
android:layout_marginTop="62.0px"
android:background="#ff3f3f3f"
android:paddingBottom="10.0px"
android:paddingTop="21.0px"
android:visibility="gone" >
<TextView
android:id="@+id/login_success_show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textColor="#ff3f3f3f"
android:textSize="20.0dip" />
</RelativeLayout>
</RelativeLayout>
布局 register
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<EditText
android:drawableLeft="@android:drawable/ic_menu_myplaces"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/resetpwd_edit_name"
android:layout_alignParentTop="true"
android:hint="請輸入您的用戶名"
android:layout_alignLeft="@+id/resetpwd_edit_pwd_new"
android:layout_alignStart="@+id/resetpwd_edit_pwd_new"
android:layout_alignRight="@+id/resetpwd_edit_pwd_new"
android:layout_alignEnd="@+id/resetpwd_edit_pwd_new" />
<!--
<EditText android:id="@+id/edt_operator_name" style="@style/syncEditText"
android:hint="@string/hint_operator_name" />
<ImageView android:id="@+id/syncOperatorImg" style="@style/syncImageView"
android:layout_alignLeft="@+id/edt_operator_name"
android:layout_alignTop="@+id/edt_operator_name"
android:layout_alignBottom="@+id/edt_operator_name" android:src="@drawable/sync_operator" />
-->
<EditText
android:drawableLeft="@android:drawable/ic_lock_idle_lock"
android:layout_width="fill_parent"
android:layout_height="60dp"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/resetpwd_edit_pwd_old"
android:hint="請輸入您的密碼"
android:layout_below="@+id/resetpwd_edit_name"
android:layout_alignRight="@+id/resetpwd_edit_name"
android:layout_alignEnd="@+id/resetpwd_edit_name"
android:layout_alignLeft="@+id/resetpwd_edit_name"
android:layout_alignStart="@+id/resetpwd_edit_name" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="取消"
android:id="@+id/register_btn_cancel"
android:textSize="20dp"
android:background="#f71818"
android:layout_below="@+id/register_btn_sure"
android:layout_alignLeft="@+id/register_btn_sure"
android:layout_alignStart="@+id/register_btn_sure"
android:layout_marginTop="10dp" />
<EditText
android:drawableLeft="@android:drawable/ic_lock_idle_lock"
android:layout_width="fill_parent"
android:layout_height="60dp"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/resetpwd_edit_pwd_new"
android:layout_below="@+id/resetpwd_edit_pwd_old"
android:layout_centerHorizontal="true"
android:hint="請確認您的密碼" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="確定"
android:id="@+id/register_btn_sure"
android:textSize="20dp"
android:background="#1cf718"
android:layout_below="@+id/resetpwd_edit_pwd_new"
android:layout_alignLeft="@+id/resetpwd_edit_pwd_new"
android:layout_alignStart="@+id/resetpwd_edit_pwd_new"
android:layout_marginTop="20dp" />
</RelativeLayout>布局 regisetpwd<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<EditText
android:drawableLeft="@android:drawable/ic_menu_myplaces"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/resetpwd_edit_name"
android:layout_alignParentTop="true"
android:hint="請輸入您的用戶名"
android:layout_alignLeft="@+id/resetpwd_edit_pwd_new"
android:layout_alignStart="@+id/resetpwd_edit_pwd_new"
android:layout_alignRight="@+id/resetpwd_edit_pwd_new"
android:layout_alignEnd="@+id/resetpwd_edit_pwd_new" />
<!--
<EditText android:id="@+id/edt_operator_name" style="@style/syncEditText"
android:hint="@string/hint_operator_name" />
<ImageView android:id="@+id/syncOperatorImg" style="@style/syncImageView"
android:layout_alignLeft="@+id/edt_operator_name"
android:layout_alignTop="@+id/edt_operator_name"
android:layout_alignBottom="@+id/edt_operator_name" android:src="@drawable/sync_operator" />
-->
<EditText
android:drawableLeft="@android:drawable/ic_lock_idle_lock"
android:layout_width="fill_parent"
android:layout_height="60dp"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/resetpwd_edit_pwd_old"
android:hint="請輸入您的舊密碼"
android:layout_below="@+id/resetpwd_edit_name"
android:layout_alignRight="@+id/resetpwd_edit_name"
android:layout_alignEnd="@+id/resetpwd_edit_name"
android:layout_alignLeft="@+id/resetpwd_edit_name"
android:layout_alignStart="@+id/resetpwd_edit_name" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="取消"
android:id="@+id/resetpwd_btn_cancel"
android:textSize="20dp"
android:onClick="not_to_reset"
android:background="#f71818"
android:layout_below="@+id/resetpwd_btn_sure"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="20dp" />
<EditText
android:drawableLeft="@android:drawable/ic_lock_idle_lock"
android:layout_width="fill_parent"
android:layout_height="60dp"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/resetpwd_edit_pwd_new"
android:layout_below="@+id/resetpwd_edit_pwd_old"
android:layout_centerHorizontal="true"
android:hint="請確認您的新密碼"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="確定"
android:id="@+id/resetpwd_btn_sure"
android:textSize="20dp"
android:onClick="sure_to_reset"
android:background="#1cf718"
android:layout_marginTop="92dp"
android:layout_below="@+id/resetpwd_edit_pwd_new"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:drawableLeft="@android:drawable/ic_lock_idle_lock"
android:layout_width="fill_parent"
android:layout_height="60dp"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/resetpwd_edit_pwd_check"
android:hint="請輸入您的新密碼"
android:layout_below="@+id/resetpwd_edit_pwd_new"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>布局 user<?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:orientation="vertical">
<RelativeLayout
android:id="@+id/rl"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/main_geren"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="個人信息"
android:textColor="#000"
android:textSize="40sp" />
</RelativeLayout>
<TextView
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_below="@+id/rl"
android:background="#000" />
<RelativeLayout
android:id="@+id/rl1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="頭像"
android:textColor="#000"
android:textSize="20sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="42dp"
android:layout_marginRight="42dp"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView2"
android:layout_alignBottom="@+id/textView2"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:text=">"
android:textColor="#000"
android:textSize="30sp" />
</RelativeLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_below="@+id/rl1"
android:background="#000" />
<RelativeLayout
android:id="@+id/rl2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<TextView
android:id="@+id/main_textview_touxiang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="用戶名"
android:textColor="#000"
android:textSize="20sp" />
<TextView
android:id="@+id/user_textView_user"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/main_textview_touxiang"
android:layout_alignBottom="@+id/main_textview_touxiang"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:text="用戶"
android:textColor="#000"
android:textSize="30sp" />
</RelativeLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_below="@+id/rl2"
android:background="#000" />
<RelativeLayout
android:id="@+id/rl3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<TextView
android:id="@+id/main_textView_nicheng"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="昵稱"
android:textColor="#000"
android:textSize="20sp" />
<TextView
android:id="@+id/naim_textView_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/main_textView_nicheng"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:text="未登錄"
android:textColor="#000"
android:textSize="30sp" />
</RelativeLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_below="@+id/rl3"
android:background="#000" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp">
<Button
android:id="@+id/main_button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="back_to_login"
android:text="退出登錄" />
<Button
android:id="@+id/returnback"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="shangpin"
android:text="跳轉商品搜索頁面" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>代碼 import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class Login extends Activity { //登錄界面活動
public int pwdresetFlag=0;
private EditText mAccount; //用戶名編輯
private EditText mPwd; //密碼編輯
private Button mRegisterButton; //注冊按鈕
private Button mLoginButton; //登錄按鈕
private Button mCancleButton; //注銷按鈕
private CheckBox mRememberCheck;
private SharedPreferences login_sp;
private String userNameValue,passwordValue;
private View loginView; //登錄
private View loginSuccessView;
private TextView loginSuccessShow;
private TextView mChangepwdText;
private UserDataManager mUserDataManager; //用戶數據管理類
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.login);
//通過id找到相應的控件
mAccount = (EditText) findViewById(R.id.login_edit_account);
mPwd = (EditText) findViewById(R.id.login_edit_pwd);
mRegisterButton = (Button) findViewById(R.id.login_btn_register);
mLoginButton = (Button) findViewById(R.id.login_btn_login);
mCancleButton = (Button) findViewById(R.id.login_btn_cancle);
loginView=findViewById(R.id.login_view);
loginSuccessView=findViewById(R.id.login_success_view);
loginSuccessShow=(TextView) findViewById(R.id.login_success_show);
mChangepwdText = (TextView) findViewById(R.id.login_text_change_pwd);
mRememberCheck = (CheckBox) findViewById(R.id.Login_Remember);
login_sp = getSharedPreferences("userInfo", 0);
String name=login_sp.getString("USER_NAME", "");
String pwd =login_sp.getString("PASSWORD", "");
boolean choseRemember =login_sp.getBoolean("mRememberCheck", false);
boolean choseAutoLogin =login_sp.getBoolean("mAutologinCheck", false);
//如果上次選了記住密碼,那進入登錄頁面也自動勾選記住密碼,并填上用戶名和密碼
if(choseRemember){ mAccount.setText(name);
mPwd.setText(pwd);
mRememberCheck.setChecked(true);
} mRegisterButton.setOnClickListener(mListener); //采用OnClickListener方法設置不同按鈕按下之后的監聽事件
mLoginButton.setOnClickListener(mListener);
mCancleButton.setOnClickListener(mListener);
mChangepwdText.setOnClickListener(mListener);
ImageView image = (ImageView) findViewById(R.id.logo); //使用ImageView顯示logo
image.setImageResource(R.mipmap.ic_launcher);
if (mUserDataManager == null) { mUserDataManager = new UserDataManager(this);
mUserDataManager.openDataBase(); //建立本地數據庫
} } OnClickListener mListener = new OnClickListener() { //不同按鈕按下的監聽事件選擇
public void onClick(View v) { switch (v.getId()) { case R.id.login_btn_register: //登錄界面的注冊按鈕
Intent intent_Login_to_Register = new Intent(Login.this,Register.class) ; //切換Login Activity至User Activity
startActivity(intent_Login_to_Register);
finish();
break;
case R.id.login_btn_login: //登錄界面的登錄按鈕
login();
break;
case R.id.login_btn_cancle: //登錄界面的注銷按鈕
cancel();
break;
case R.id.login_text_change_pwd: //登錄界面的注銷按鈕
Intent intent_Login_to_reset = new Intent(Login.this,Resetpwd.class) ; //切換Login Activity至User Activity
startActivity(intent_Login_to_reset);
finish();
break;
} } };
public void login() { //登錄按鈕監聽事件
if (isUserNameAndPwdValid()) { String userName = mAccount.getText().toString().trim(); //獲取當前輸入的用戶名和密碼信息
String userPwd = mPwd.getText().toString().trim();
SharedPreferences.Editor editor =login_sp.edit();
int result=mUserDataManager.findUserByNameAndPwd(userName, userPwd);
if(result==1){ //返回1說明用戶名和密碼均正確
//保存用戶名和密碼
editor.putString("USER_NAME", userName);
editor.putString("PASSWORD", userPwd);
//是否記住密碼
if(mRememberCheck.isChecked()){ editor.putBoolean("mRememberCheck", true);
}else{ editor.putBoolean("mRememberCheck", false);
} editor.commit();
Intent intent = new Intent(Login.this,User.class) ;
//切換Login Activity至User Activity
intent.putExtra("name",userName);
startActivity(intent);
finish();
Toast.makeText(this, "登陸成功!!", Toast.LENGTH_SHORT).show();
}else if(result==0){Toast.makeText(this, "賬號未注冊!!", Toast.LENGTH_SHORT).show();
} } } public void cancel() { //注銷
if (isUserNameAndPwdValid()) { String userName = mAccount.getText().toString().trim(); //獲取當前輸入的用戶名和密碼信息
String userPwd = mPwd.getText().toString().trim();
int result=mUserDataManager.findUserByNameAndPwd(userName, userPwd);
if(result==1){ //返回1說明用戶名和密碼均正確
Toast.makeText(this, "注銷成功!!", Toast.LENGTH_SHORT).show();
mPwd.setText("");
mAccount.setText("");
mUserDataManager.deleteUserDatabyname(userName);
}else if(result==0){Toast.makeText(this, "注銷失敗!!", Toast.LENGTH_SHORT).show();
} } } public boolean isUserNameAndPwdValid() { if (mAccount.getText().toString().trim().equals("")) {Toast.makeText(this, "請輸入賬號!!", Toast.LENGTH_SHORT).show();
return false;
} else if (mPwd.getText().toString().trim().equals("")) {Toast.makeText(this, "請輸入密碼!!", Toast.LENGTH_SHORT).show();
return false;
}return true;
} @Override
protected void onResume() { if (mUserDataManager == null) { mUserDataManager = new UserDataManager(this);
mUserDataManager.openDataBase();
} super.onResume();
} @Override
protected void onDestroy() { super.onDestroy();
} @Override
protected void onPause() { if (mUserDataManager != null) { mUserDataManager.closeDataBase();
mUserDataManager = null;
} super.onPause();
}
} 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.Toast;
public class Register extends AppCompatActivity { private EditText mAccount; //用戶名編輯
private EditText mPwd; //密碼編輯
private EditText mPwdCheck; //密碼編輯
private Button mSureButton; //確定按鈕
private Button mCancelButton; //取消按鈕
private UserDataManager mUserDataManager; //用戶數據管理類
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.register);
mAccount = (EditText) findViewById(R.id.resetpwd_edit_name);
mPwd = (EditText) findViewById(R.id.resetpwd_edit_pwd_old);
mPwdCheck = (EditText) findViewById(R.id.resetpwd_edit_pwd_new);
mSureButton = (Button) findViewById(R.id.register_btn_sure);
mCancelButton = (Button) findViewById(R.id.register_btn_cancel);
mSureButton.setOnClickListener(m_register_Listener); //注冊界面兩個按鈕的監聽事件
mCancelButton.setOnClickListener(m_register_Listener);
if (mUserDataManager == null) { mUserDataManager = new UserDataManager(this);
mUserDataManager.openDataBase(); //建立本地數據庫
} } View.OnClickListener m_register_Listener = new View.OnClickListener() { //不同按鈕按下的監聽事件選擇
public void onClick(View v) { switch (v.getId()) { case R.id.register_btn_sure: //確認按鈕的監聽事件
register_check();
break;
case R.id.register_btn_cancel: //取消按鈕的監聽事件,由注冊界面返回登錄界面
Intent intent_Register_to_Login = new Intent(Register.this,Login.class) ; //切換User Activity至Login Activity
startActivity(intent_Register_to_Login);
finish();
break;
} } };
public void register_check() { //確認按鈕的監聽事件
if (isUserNameAndPwdValid()) { String userName = mAccount.getText().toString().trim();
String userPwd = mPwd.getText().toString().trim();
String userPwdCheck = mPwdCheck.getText().toString().trim();
//檢查用戶是否存在
int count=mUserDataManager.findUserByName(userName);
//用戶已經存在時返回,給出提示文字
if(count>0){Toast.makeText(this, "用戶已存在!!", Toast.LENGTH_SHORT).show();
return ;
} if(userPwd.equals(userPwdCheck)==false){ //兩次密碼輸入不一樣
Toast.makeText(this, "密碼不一致!!", Toast.LENGTH_SHORT).show();
return ;
} else { UserData mUser = new UserData(userName, userPwd);
mUserDataManager.openDataBase();
long flag = mUserDataManager.insertUserData(mUser); //新建用戶信息
if (flag == -1) {Toast.makeText(this, "11!!", Toast.LENGTH_SHORT).show();
}else{Toast.makeText(this, "注冊成功!!", Toast.LENGTH_SHORT).show();
Intent intent_Register_to_Login = new Intent(Register.this,Login.class) ; //切換User Activity至Login Activity
startActivity(intent_Register_to_Login);
finish();
} } } } public boolean isUserNameAndPwdValid() { if (mAccount.getText().toString().trim().equals("")) {Toast.makeText(this, "請輸入賬號!!", Toast.LENGTH_SHORT).show();
return false;
} else if (mPwd.getText().toString().trim().equals("")) {Toast.makeText(this, "請輸入密碼!!", Toast.LENGTH_SHORT).show();
return false;
}else if(mPwdCheck.getText().toString().trim().equals("")) {Toast.makeText(this, "請輸入確認密碼!!", Toast.LENGTH_SHORT).show();
return false;
} return true;
}
}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.Toast;
public class Resetpwd extends AppCompatActivity { private EditText mAccount; //用戶名編輯
private EditText mPwd_old; //密碼編輯
private EditText mPwd_new; //密碼編輯
private EditText mPwdCheck; //密碼編輯
private Button mSureButton; //確定按鈕
private Button mCancelButton; //取消按鈕
private UserDataManager mUserDataManager; //用戶數據管理類
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.resetpwd);
mAccount = (EditText) findViewById(R.id.resetpwd_edit_name);
mPwd_old = (EditText) findViewById(R.id.resetpwd_edit_pwd_old);
mPwd_new = (EditText) findViewById(R.id.resetpwd_edit_pwd_new);
mPwdCheck = (EditText) findViewById(R.id.resetpwd_edit_pwd_check);
mSureButton = (Button) findViewById(R.id.resetpwd_btn_sure);
mCancelButton = (Button) findViewById(R.id.resetpwd_btn_cancel);
mSureButton.setOnClickListener(m_resetpwd_Listener); //注冊界面兩個按鈕的監聽事件
mCancelButton.setOnClickListener(m_resetpwd_Listener);
if (mUserDataManager == null) { mUserDataManager = new UserDataManager(this);
mUserDataManager.openDataBase(); //建立本地數據庫
} } View.OnClickListener m_resetpwd_Listener = new View.OnClickListener() { //不同按鈕按下的監聽事件選擇
public void onClick(View v) { switch (v.getId()) { case R.id.resetpwd_btn_sure: //確認按鈕的監聽事件
resetpwd_check();
break;
case R.id.resetpwd_btn_cancel: //取消按鈕的監聽事件,由注冊界面返回登錄界面
Intent intent_Resetpwd_to_Login = new Intent(Resetpwd.this,Login.class) ; //切換Resetpwd Activity至Login Activity
startActivity(intent_Resetpwd_to_Login);
finish();
break;
} } };
public void resetpwd_check() { //確認按鈕的監聽事件
if (isUserNameAndPwdValid()) { String userName = mAccount.getText().toString().trim();
String userPwd_old = mPwd_old.getText().toString().trim();
String userPwd_new = mPwd_new.getText().toString().trim();
String userPwdCheck = mPwdCheck.getText().toString().trim();
int result=mUserDataManager.findUserByNameAndPwd(userName, userPwd_old);
if(result==1){ //返回1說明用戶名和密碼均正確,繼續后續操作
if(userPwd_new.equals(userPwdCheck)==false){ //兩次密碼輸入不一樣
Toast.makeText(this, "a!!", Toast.LENGTH_SHORT).show();
return ;
} else { UserData mUser = new UserData(userName, userPwd_new);
mUserDataManager.openDataBase();
boolean flag = mUserDataManager.updateUserData(mUser);
if (flag == false) {Toast.makeText(this, "b!!", Toast.LENGTH_SHORT).show();
}else{Toast.makeText(this, "c!!", Toast.LENGTH_SHORT).show();
mUser.pwdresetFlag=1;
Intent intent_Register_to_Login = new Intent(Resetpwd.this,Login.class) ; //切換User Activity至Login Activity
startActivity(intent_Register_to_Login);
finish();
} } }else if(result==0){ //返回0說明用戶名和密碼不匹配,重新輸入
Toast.makeText(this, "d!!", Toast.LENGTH_SHORT).show();
return;
} } } public boolean isUserNameAndPwdValid() { String userName = mAccount.getText().toString().trim();
//檢查用戶是否存在
int count=mUserDataManager.findUserByName(userName);
//用戶不存在時返回,給出提示文字
if(count<=0){Toast.makeText(this, "q!!", Toast.LENGTH_SHORT).show();
return false;
} if (mAccount.getText().toString().trim().equals("")) {Toast.makeText(this, "w!!", Toast.LENGTH_SHORT).show();
return false;
} else if (mPwd_old.getText().toString().trim().equals("")) {Toast.makeText(this, "請輸入舊密碼!!", Toast.LENGTH_SHORT).show();
return false;
} else if (mPwd_new.getText().toString().trim().equals("")) {Toast.makeText(this, "請輸入新密碼!!", Toast.LENGTH_SHORT).show();
return false;
}else if(mPwdCheck.getText().toString().trim().equals("")) {Toast.makeText(this, "請確認新密碼!!", Toast.LENGTH_SHORT).show();
return false;
} return true;
}
} 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.TextView;
public class User extends AppCompatActivity {private Button mReturnButton;
@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.user);
mReturnButton = (Button) findViewById(R.id.returnback);
String name = getIntent().getStringExtra("name");
TextView tvuser = (TextView) findViewById(R.id.user_textView_user);
TextView tvname = (TextView) findViewById(R.id.naim_textView_name);
tvname.setText("kson");
tvuser.setText(name);
}public void back_to_login(View view) {Intent intent3 = new Intent(User.this, Login.class);
startActivity(intent3);
finish();
}public void shangpin(View view) {Intent intent3 = new Intent(User.this, MainActivity.class);
startActivity(intent3);
finish();
}
} public class UserData {private String userName; //用戶名
private String userPwd; //用戶密碼
private int userId; //用戶ID號
public int pwdresetFlag=0;
//獲取用戶名
public String getUserName() { //獲取用戶名
return userName;
} //設置用戶名
public void setUserName(String userName) { //輸入用戶名
this.userName = userName;
} //獲取用戶密碼
public String getUserPwd() { //獲取用戶密碼
return userPwd;
} //設置用戶密碼
public void setUserPwd(String userPwd) { //輸入用戶密碼
this.userPwd = userPwd;
} //獲取用戶id
public int getUserId() { //獲取用戶ID號
return userId;
} //設置用戶id
public void setUserId(int userId) { //設置用戶ID號
this.userId = userId;
} public UserData(String userName, String userPwd) { //這里只采用用戶名和密碼
super();
this.userName = userName;
this.userPwd = userPwd;
} } import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class UserDataManager { //用戶數據管理類
//一些宏定義和聲明
private static final String TAG = "UserDataManager";
private static final String DB_NAME = "user_data";
private static final String TABLE_NAME = "users";
public static final String ID = "_id";
public static final String USER_NAME = "user_name";
public static final String USER_PWD = "user_pwd";
// public static final String SILENT = "silent";
// public static final String VIBRATE = "vibrate";
private static final int DB_VERSION = 2;
private Context mContext = null;
//創建用戶book表
private static final String DB_CREATE = "CREATE TABLE " + TABLE_NAME + " ("
+ ID + " integer primary key," + USER_NAME + " varchar,"
+ USER_PWD + " varchar" + ");";
private SQLiteDatabase mSQLiteDatabase = null;
private DataBaseManagementHelper mDatabaseHelper = null;
//DataBaseManagementHelper繼承自SQLiteOpenHelper
private static class DataBaseManagementHelper extends SQLiteOpenHelper { DataBaseManagementHelper(Context context) { super(context, DB_NAME, null, DB_VERSION);
} @Override
public void onCreate(SQLiteDatabase db) { Log.i(TAG,"db.getVersion()="+db.getVersion());
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME + ";");
db.execSQL(DB_CREATE);
Log.i(TAG, "db.execSQL(DB_CREATE)");
Log.e(TAG, DB_CREATE);
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.i(TAG, "DataBaseManagementHelper onUpgrade");
onCreate(db);
} } public UserDataManager(Context context) { mContext = context;
Log.i(TAG, "UserDataManager construction!");
} //打開數據庫
public void openDataBase() throws SQLException { mDatabaseHelper = new DataBaseManagementHelper(mContext);
mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();
} //關閉數據庫
public void closeDataBase() throws SQLException { mDatabaseHelper.close();
} //添加新用戶,即注冊
public long insertUserData(UserData userData) { String userName=userData.getUserName();
String userPwd=userData.getUserPwd();
ContentValues values = new ContentValues();
values.put(USER_NAME, userName);
values.put(USER_PWD, userPwd);
return mSQLiteDatabase.insert(TABLE_NAME, ID, values);
} //更新用戶信息,如修改密碼
public boolean updateUserData(UserData userData) { //int id = userData.getUserId();
String userName = userData.getUserName();
String userPwd = userData.getUserPwd();
ContentValues values = new ContentValues();
values.put(USER_NAME, userName);
values.put(USER_PWD, userPwd);
return mSQLiteDatabase.update(TABLE_NAME, values,null, null) > 0;
//return mSQLiteDatabase.update(TABLE_NAME, values, ID + "=" + id, null) > 0;
} //
public Cursor fetchUserData(int id) throws SQLException { Cursor mCursor = mSQLiteDatabase.query(false, TABLE_NAME, null, ID
+ "=" + id, null, null, null, null, null);
if (mCursor != null) { mCursor.moveToFirst();
} return mCursor;
} //
public Cursor fetchAllUserDatas() { return mSQLiteDatabase.query(TABLE_NAME, null, null, null, null, null,
null);
} //根據id刪除用戶
public boolean deleteUserData(int id) { return mSQLiteDatabase.delete(TABLE_NAME, ID + "=" + id, null) > 0;
} //根據用戶名注銷
public boolean deleteUserDatabyname(String name) { return mSQLiteDatabase.delete(TABLE_NAME, USER_NAME + "=" + name, null) > 0;
} //刪除所有用戶
public boolean deleteAllUserDatas() { return mSQLiteDatabase.delete(TABLE_NAME, null, null) > 0;
} //
public String getStringByColumnName(String columnName, int id) { Cursor mCursor = fetchUserData(id);
int columnIndex = mCursor.getColumnIndex(columnName);
String columnValue = mCursor.getString(columnIndex);
mCursor.close();
return columnValue;
} //
public boolean updateUserDataById(String columnName, int id,
String columnValue) { ContentValues values = new ContentValues();
values.put(columnName, columnValue);
return mSQLiteDatabase.update(TABLE_NAME, values, ID + "=" + id, null) > 0;
} //根據用戶名找用戶,可以判斷注冊時用戶名是否已經存在
public int findUserByName(String userName){ Log.i(TAG,"findUserByName , userName="+userName);
int result=0;
Cursor mCursor=mSQLiteDatabase.query(TABLE_NAME, null, USER_NAME+"="+userName, null, null, null, null);
if(mCursor!=null){ result=mCursor.getCount();
mCursor.close();
Log.i(TAG,"findUserByName , result="+result);
} return result;
} //根據用戶名和密碼找用戶,用于登錄
public int findUserByNameAndPwd(String userName,String pwd){ Log.i(TAG,"findUserByNameAndPwd");
int result=0;
Cursor mCursor=mSQLiteDatabase.query(TABLE_NAME, null, USER_NAME+"="+userName+" and "+USER_PWD+"="+pwd,
null, null, null, null);
if(mCursor!=null){ result=mCursor.getCount();
mCursor.close();
Log.i(TAG,"findUserByNameAndPwd , result="+result);
} return result;
} }
總結
以上是生活随笔為你收集整理的注册登录显示个人中心的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [OpenGL]OpenGL几何变换的秘
- 下一篇: 2020hdu多校6