您的位置:首页 > 移动开发 > Android开发

模仿QQ记住账号和密码的登陆与实现的android开发实例

2016-12-14 14:04 651 查看
1.配置布局/res/layout/activity_main.xml

<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:orientation="vertical"
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.example.jizhumima.MainActivity" >

<EditText
android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

<EditText
android:id="@+id/et_password"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

<CheckBox
android:id="@+id/cb_jizhumima"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="记住密码" />

<Button
android:id="@+id/btn_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:onClick="onClick"
android:text="登陆" />

</LinearLayout>2.程序代码块/记住密码/src/com/example/jizhumima/MainActivity.java
package com.example.jizhumima;

import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
private EditText et_username;
private EditText et_password;
private CheckBox cb_jizhumima;
private SharedPreferences config;
private boolean isChecked;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
config=getSharedPreferences("config", MODE_PRIVATE);
et_username=(EditText) findViewById(R.id.et_username);
et_password=(EditText) findViewById(R.id.et_password);
cb_jizhumima=(CheckBox) findViewById(R.id.cb_jizhumima);
//是否记住了密码
boolean isCheched=config.getBoolean("isChecked",true);
if (isChecked){
et_username.setText(config.getString("username",""));
et_password.setText(config.getString("password",""));
}
cb_jizhumima.setChecked(isChecked);
}
//登陆事件
public void onClick(View view){
Editor edit=config.edit();
String username=et_username.getText().toString();
String password=et_password.getText().toString();
boolean isChecked=cb_jizhumima.isChecked();
//存储CheckBox的状态
edit.putBoolean("isChecked",isChecked);
if(isChecked){
edit.putString("username",username).putString("password",password);
}else{
edit.remove("username").remove("username");
}
//之前是在内存里,提交到本地
edit.commit();
Toast.makeText(this,"登陆成功",0).show();
}
}
3.运行效果
后期再加截图了,AVD竟然启动不来了.

4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: