Android SharedPreferences应用 实现本地注册登陆 功能简单易懂(实例)
2013-06-19 16:22
1001 查看
SharedPreferences
在Android系统中,这些信息以XML文件的形式保存在 /data/data/PACKAGE_NAME /shared_prefs 目录下
先贴个效果图
这个是自己的手机截图,部分手机分辨率可能不一样
1.
activity_main.xml
2.activity_loginok.xml
LoginokActivity
代码上传,欢迎下载http://download.csdn.net/detail/h1028962069/5615549
在Android系统中,这些信息以XML文件的形式保存在 /data/data/PACKAGE_NAME /shared_prefs 目录下
先贴个效果图
这个是自己的手机截图,部分手机分辨率可能不一样
1.
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="@drawable/login" > <TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <TableRow> <TextView android:layout_width="90px" android:layout_height="wrap_content" android:layout_marginLeft="50px" android:layout_marginTop="200px" android:gravity="center_horizontal" android:text="用户名:" android:textColor="#f00" android:textSize="15sp" /> <EditText android:id="@+id/username" android:layout_width="250px" android:layout_height="wrap_content" android:layout_marginTop="200px" android:singleLine="true" /> </TableRow> <TableRow> <TextView android:layout_width="90px" android:layout_height="wrap_content" android:layout_marginLeft="50px" android:gravity="center_horizontal" android:text="密码:" android:textColor="#f00" android:textSize="15sp" /> <EditText android:id="@+id/password" android:layout_width="250px" android:layout_height="wrap_content" android:password="true" /> </TableRow> </TableLayout> <TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <TableRow> <Button android:id="@+id/login" android:layout_width="90px" android:layout_height="wrap_content" android:layout_marginLeft="130px" android:layout_marginTop="30px" android:gravity="center" android:text="登录" /> <Button android:id="@+id/exit" android:layout_width="90px" android:layout_height="wrap_content" android:text="退出" android:gravity="center" android:layout_marginLeft="80px" android:layout_marginTop="30px" /> </TableRow> </TableLayout> <Button android:id="@+id/reg" android:layout_width="90px" android:layout_height="wrap_content" android:text="注册" android:gravity="center" android:layout_marginLeft="130px" ></Button> </LinearLayout>
2.activity_loginok.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="@drawable/mei" > </LinearLayout>
MainActivity.java
package com.example.logineasydemo; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { //声明需要的组件 private Button login,exit,reg; private EditText username,password; private SharedPreferences share;//声明SharedPreferences @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); intiview();//初始化视图,寻找id saveuser();//先保存一个数据admin 123456 exit.setOnClickListener(new Listenerimp());//退出的监听事件 reg.setOnClickListener(new RegListenerimp());//注册的监听事件 //登陆的事件监听处理内部类 login.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //获取输入的信息 String name=username.getText().toString(); String pass=password.getText().toString(); //判断输入信息是否为空 if(name.trim().equals("") || pass.trim().equals("")) { Toast.makeText(MainActivity.this, "用户名和密码不能为空", Toast.LENGTH_LONG).show(); } //获取保存文件中的用户名和密码 String savedUsername = share.getString("username",""); String savedPassword = share.getString("password",""); //查看输入的密码和名字是否一致 if(name.trim().equals(savedUsername) && pass.trim().equals(savedPassword)) { Toast.makeText(MainActivity.this, "恭喜,亲,用户名和密码都正确!", Toast.LENGTH_LONG).show(); //成功登陆,进入LoginokActivity界面 Intent intent=new Intent(MainActivity.this,LoginokActivity.class); startActivity(intent); finish(); } else { //错误的话 Toast.makeText(MainActivity.this, "用户名或者密码错误,请确认信息或者去注册", Toast.LENGTH_LONG).show(); return; } } }); } private class Listenerimp implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub finish();//结束一个Activity } } private class RegListenerimp implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub //定义两个字符串常量,并获取信息 final String nam=username.getText().toString(); final String pas=password.getText().toString(); //判读信息是否空 if(nam.trim().equals("") || pas.trim().equals("")) { Toast.makeText(MainActivity.this, "注册时,用户名和密码都不能为空", Toast.LENGTH_LONG).show(); return;//为空就会返回 } //进入注册的Dialog Dialog dialog=new AlertDialog.Builder(MainActivity.this) .setTitle("注册") .setMessage("你确定注册信息吗?") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub //保存输入的信息 Editor 别忘了 edit.commit();提交 share=getSharedPreferences("info",Activity.MODE_PRIVATE); Editor edit=share.edit(); edit.putString("username", nam); edit.putString("password", pas); edit.commit(); //提示成功注册 Toast.makeText(MainActivity.this, "恭喜,注册成功", Toast.LENGTH_LONG).show(); } }).setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }).create();//创建一个dialog dialog.show();//显示对话框,否者不成功 } } //实现写一个admin 123456的用户 private void saveuser() { // TODO Auto-generated method stub share=getSharedPreferences("info",Activity.MODE_PRIVATE); Editor edit=share.edit(); edit.putString("username", "admin"); edit.putString("password", "123456"); edit.commit(); } private void intiview() { // TODO Auto-generated method stub login=(Button)findViewById(R.id.login); exit=(Button)findViewById(R.id.exit); reg=(Button)findViewById(R.id.reg); username=(EditText)findViewById(R.id.username); password=(EditText)findViewById(R.id.password); } }
LoginokActivity
package com.example.logineasydemo; import android.app.Activity; import android.os.Bundle; public class LoginokActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_loginok); } }
代码上传,欢迎下载http://download.csdn.net/detail/h1028962069/5615549
相关文章推荐
- Android 实现简单的登陆注册功能(SharedPreferences和SQLite)
- android SQLite实现本地登录注册功能,SQLite简单应用(android studio)
- 基于Struts2和Android的简单登陆注册功能的设计与实现(待完善)
- Android实现简单断点续传和下载到本地功能
- Android开发-UI控件:实现登陆页面并跳转和简单的注册页面
- 实现android注册登陆功能的客户端服务器源码与解析socket
- ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
- iOS 混合应用的关键点分析 - 仿 Android 平台 WebView 可注入本地对象方法的功能实现要点
- 小KING教你做android项目(二)---实现登陆页面并跳转和简单的注册页面
- django开发项目实例3--用session是实现简单的登陆、验证登陆和注销功能
- 安卓Android本地Sqlite实现注册账号和登录功能
- JAVA简单链接Oracle数据库 注册和登陆功能的实现代码
- 【PythonDjango后台实例 第六章】Django实现简单的登陆验证功能
- Android笔记-4-实现登陆页面并跳转和简单的注册页面
- SpringBoot+thymeleaf简单实现登陆注册及记账功能
- Android - TabHost 选项卡功能用法详解&&TabWidget切换卡的实现应用&&实例说明
- 用AJAX实现页面登陆以及注册用户名验证的简单实例
- Android广播事件机制及应用(实现简单的定时提醒功能)
- 实现android注册登陆功能的客户端服务器源码与解析
- Android编程实现简单流量管理功能实例