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

android实现记住用户名和密码以及实现自动登录

2014-06-06 17:14 791 查看
毕业刚开始上班接触的第一个项目移动护士站,接到了第一任务就是登录,要用到自动登录功能,所以在这做个记录,以后用的时候直接来粘贴复制,废话少说,直奔主题

先上一下效果图,由于只是实现功能,界面没有美化,见谅





由于xml文件内容,就不展现在这了,自己写一写就好,爸妈再也不用担心我的学习了,so easy

package com.sdufe.login;

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

/**
 * @author lili.guo
 *
 * 2014-6-6下午3:20:17
 */
public class MainActivity extends Activity {
	
	private EditText username_et;
	private EditText password_et;
	private CheckBox rem;
	private CheckBox auto;
	private Button login;
	private String username,password;
	SharedPreferences sp;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		sp=getSharedPreferences("userInfo",Context.MODE_WORLD_READABLE);
		
		username_et=(EditText) findViewById(R.id.username);
		password_et=(EditText) findViewById(R.id.password);
		rem=(CheckBox) findViewById(R.id.remember);
		auto=(CheckBox) findViewById(R.id.autologin);
		login=(Button) findViewById(R.id.login);
		
		if (rem.isChecked()) {
			
			username_et.setText(sp.getString("username", ""));
			password_et.setText(sp.getString("password", ""));
			
			if (auto.isChecked()) {
				Intent intent1=new Intent();
				intent1.setClass(getApplicationContext(), Welcome.class);
				startActivity(intent1);
			}
			
		}
		
		login.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				username=username_et.getText().toString();
				password=password_et.getText().toString();
				
				if (username.equals("Thea")&&password.equals("123")) {
					
					Toast.makeText(getApplicationContext(), "登录成功", Toast.LENGTH_SHORT).show();
					
					if (rem.isChecked()) {
						Editor editor=sp.edit();
						editor.putString("username", username);
						editor.putString("password", password);
						editor.commit();
					}
					
					Intent intent2=new Intent();
					intent2.setClass(getApplicationContext(), Welcome.class);
					startActivity(intent2);
				}
				
				
			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}


用户名和密码是写死的,为了方便有需要的人学习,稍微解释一下

if (rem.isChecked()) {
			
			username_et.setText(sp.getString("username", ""));
			password_et.setText(sp.getString("password", ""));
			
			if (auto.isChecked()) {
				Intent intent1=new Intent();
				intent1.setClass(getApplicationContext(), Welcome.class);
				startActivity(intent1);
			}
			
		}


以上代码意思是如果记住密码就拿到本地存储的用户名和密码,如果是自动登录则直接跳转的下一个网页
if (rem.isChecked()) {
						Editor editor=sp.edit();
						editor.putString("username", username);
						editor.putString("password", password);
						editor.commit();
					}
					
					Intent intent2=new Intent();
					intent2.setClass(getApplicationContext(), Welcome.class);
					startActivity(intent2);
以上代码意思是说如果是记住密码的状态,则把用户名和密码写到本地

注意一点哈,跳转到下一个activity时,要修改一下AndroidManifest.xml文件,ok,结束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐