安卓开发—帐号登录,自动登录功能
2015-06-29 17:00
344 查看
1.首是登陆功能,通过该类的静态方法login(String number, String passWord)可以实现账号登录,并根据返回结果判断登陆结果
2.记住密码自动登录。主要用到的是SharedPreference保存账号及密码下次启动程序自动登录
3.切换账号。主要是清除储存的密码,跳转到登陆界面
4.下面展示登录成功代码
5.
MainActivity.java
6.LogoActivity.java
7.WelcomeActivity.java
2.记住密码自动登录。主要用到的是SharedPreference保存账号及密码下次启动程序自动登录
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" 02. xmlns:tools="http://schemas.android.com/tools" 03. android:layout_width="wrap_content" 04. android:layout_height="wrap_content" 05. android:background="@drawable/bground" 06. android:orientation="vertical" > 07. <Button 08. android:layout_x="70dp" 09. android:layout_height="wrap_content" 10. android:id="@+id/login_enter" 11. android:text="登录" 12. android:layout_width="wrap_content" 13. android:layout_y="325dp" 14. android:textSize="15dp" 15. android:textColor="#FA6289"></Button> 16. <Button 17. android:layout_x="180dp" 18. android:layout_height="wrap_content" 19. android:id="@+id/login_reg" 20. android:text="注册" 21. android:layout_width="wrap_content" 22. android:layout_y="325dp" 23. android:textSize="15dp" 24. android:textColor="#569D01"></Button> 25. <TextView 26. android:textSize="15dp" 27. android:textColor="#EF6D00" 28. android:layout_width="wrap_content" 29. android:layout_height="wrap_content" 30. android:id="@+id/textView2" 31. android:text="密码:" 32. android:layout_x="46dp" 33. android:layout_y="134dp"></TextView> 34. 35. <TextView 36. android:id="@+id/textView1" 37. android:layout_width="wrap_content" 38. android:layout_height="wrap_content" 39. android:layout_x="46dp" 40. android:layout_y="78dp" 41. android:text="用户名:" 42. android:textColor="#EF6D00" 43. android:textSize="15dp" /> 44. 45. <CheckBox 46. android:id="@+id/login_check1" 47. android:layout_width="wrap_content" 48. android:layout_height="wrap_content" 49. android:layout_x="97dp" 50. android:layout_y="194dp" 51. android:checked="true" 52. android:text="记住密码" /> 53. 54. <CheckBox 55. android:id="@+id/login_check2" 56. android:layout_width="wrap_content" 57. android:layout_height="wrap_content" 58. android:layout_x="96dp" 59. android:layout_y="242dp" 60. android:text="自动登录" /> 61. 62. <EditText 63. android:id="@+id/login_name" 64. android:layout_width="104dp" 65. android:layout_height="64dp" 66. android:layout_x="127dp" 67. android:layout_y="41dp" 68. android:ems="10" 69. android:hint="输入用户名" 70. android:textColor="#569D01" /> 71. 72. <EditText 73. android:id="@+id/login_pass" 74. android:layout_width="106dp" 75. android:layout_height="wrap_content" 76. android:layout_x="124dp" 77. android:layout_y="127dp" 78. android:ems="10" 79. android:hint="输入密码" 80. android:inputType="textPassword" 81. android:textColor="#569D01" > 82. 83. <requestFocus /> 84. </EditText> 85. 86. 87. 88.</AbsoluteLayout>
3.切换账号。主要是清除储存的密码,跳转到登陆界面
01.<?xml version="1.0" encoding="utf-8"?> 02.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 03. android:layout_width="fill_parent" 04. android:layout_height="fill_parent" 05. android:background="@drawable/bground" 06. android:orientation="vertical" > 07. 08. 09. 10. <RelativeLayout 11. android:layout_width="fill_parent" 12. android:layout_height="wrap_content" 13. android:layout_weight="3"> 14. 15. <ProgressBar 16. android:id="@+id/pgBar" 17. android:layout_width="wrap_content" 18. android:layout_height="wrap_content" 19. android:layout_centerInParent="true" /> 20. 21. <TextView 22. android:id="@+id/tv1" 23. android:layout_width="wrap_content" 24. android:layout_height="wrap_content" 25. android:layout_below="@id/pgBar" 26. android:layout_centerHorizontal="true" 27. android:text="正在登录..." 28. android:textColor="#EF6D00" 29. android:textSize="18sp" /> 30. </RelativeLayout> 31. 32. <LinearLayout 33. android:layout_width="fill_parent" 34. android:layout_height="wrap_content" 35. android:layout_weight="1" 36. android:gravity="center" 37. android:orientation="vertical" > 38. 39. <Button 40. android:id="@+id/btn_back" 41. android:layout_width="70dip" 42. android:layout_height="35dip" 43. android:text="取消" 44. android:textColor="#EF6D00" 45. android:textSize="12sp" /> 46. </LinearLayout> 47. 48. 49.</LinearLayout>
4.下面展示登录成功代码
01.<?xml version="1.0" encoding="utf-8"?> 02.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 03. android:layout_width="fill_parent" 04. android:layout_height="fill_parent" 05. android:layout_gravity="center" 06. android:background="@drawable/bground" 07. android:orientation="vertical" > 08. 09. <TextView 10. android:layout_width="fill_parent" 11. android:layout_height="wrap_content" 12. android:gravity="center" 13. android:text="恭喜您,登陆成功!" 14. android:textColor="#EF6D00" 15. android:textSize="20sp" /> 16. 17. 18.</LinearLayout>
5.
MainActivity.java
01.package com.example.minitwittersimulate; 02. 03.import android.app.Activity; 04.import android.content.Intent; 05.import android.content.SharedPreferences; 06.import android.os.Bundle; 07.import android.view.View; 08.import android.widget.TextView; 09.import android.widget.Toast; 10. 11.public class MainActivity extends Activity { 12. private SharedPreferences sp; 13. private TextView talk; 14. @Override 15. protected void onCreate(Bundle savedInstanceState) { 16. super.onCreate(savedInstanceState); 17. setContentView(R.layout.home); 18. 19. talk =(TextView) findViewById(R.id.talk); 20. 21. sp=getSharedPreferences("userInfo", 0); 22. String name =sp.getString("USER_NAME", ""); 23. boolean choseAutoLogin =sp.getBoolean("autologin1", false); 24. if(choseAutoLogin){ 25. talk.setVisibility(0); 26. talk.setText(name+"自动登录成功"); 27. 28. Intent intent = new Intent(); 29. intent.setClass(MainActivity.this, SuccessActivity.class); 30. startActivity(intent); 31. } 32. 33. } 34. //跳转到登录页面 35. public void go(View v){ 36. //Intent intent =new Intent(this, LoginActivity.class); 37. //startActivity(intent); 38. Intent intent = new Intent(); 39. intent.setClass(MainActivity.this, LoginActivity.class); 40. startActivity(intent); 41. } 42. 43. //点击退出销毁登录记录 44. public void out(View v){ 45. SharedPreferences spout =getSharedPreferences("userInfo", 0); 46. SharedPreferences.Editor ed =spout.edit(); 47. ed.clear(); 48. ed.commit(); 49. Toast.makeText(this, "销毁记录", Toast.LENGTH_SHORT).show(); 50. } 51.}
6.LogoActivity.java
01.package com.example.handong; 02. import android.widget.ProgressBar; 03. import android.app.Activity; 04. import android.content.Intent; 05. import android.content.SharedPreferences; 06. import android.content.SharedPreferences.Editor; 07. import android.opengl.ETC1; 08. import android.os.Bundle; 09. import android.view.View; 10. import android.view.View.OnClickListener; 11. import android.view.Window; 12. import android.view.animation.AlphaAnimation; 13. import android.view.animation.Animation; 14. import android.view.animation.Animation.AnimationListener; 15. import android.widget.Button; 16. import android.widget.ImageButton; 17. public class LogoActivity extends Activity { 18. private ProgressBar progressBar; 19. private Button backButton; 20. 21. protected void onCreate(Bundle savedInstanceState) { 22. super.onCreate(savedInstanceState); 23. this.requestWindowFeature(Window.FEATURE_NO_TITLE); 24. setContentView(R.layout.logo); 25. 26. progressBar = (ProgressBar) findViewById(R.id.pgBar); 27. backButton = (Button) findViewById(R.id.btn_back); 28. 29. Intent intent = new Intent(this, WelcomeActivity.class); 30. LogoActivity.this.startActivity(intent); 31. 32. backButton.setOnClickListener(new OnClickListener() { 33. 34. public void onClick(View v) { 35. finish(); 36. 37. } 38. }); 39. 40. } 41. 42. }
7.WelcomeActivity.java
01.package com.example.handong; 02. 03. import android.app.Activity; 04. import android.os.Bundle; 05. 06. public class WelcomeActivity extends Activity { 07. 08. @Override 09. protected void onCreate(Bundle savedInstanceState) { 10. // TODO Auto-generated method stub 11. super.onCreate(savedInstanceState); 12. setContentView(R.layout.welcome); 13. } 14. 15. 16.}
相关文章推荐
- 输入一串字符,输出单词的个数
- SAE稀疏编码机
- egret笔记之gui内设置动画效果
- 用SVN下载编译Spring v4.1.6.RELEASE源码导入eclipse
- Android 混淆代码总结
- 应用退出
- [日志处理工作之四]从flume采集的event中提取能被kibana识别的时间戳 and 对比flume与logstash
- OAuth 2.0系列教程(五) 授权
- Storm中的process,thread,task和spout对象实例,bolt对象实例
- oj刷(1)4对象数组
- 第十六周oj刷题——Problem G: E2 驾驭const
- JS中getElementById()、getElementsByName()、getElementsByTagName()_的区别和应用
- talend hive数据导入到mysql中
- Win7下chm文件无法打开问题解决方法
- Redhat6 双网卡绑定
- 使用websocket发送图片文件
- 日志框架实现实时修改,实时生效,具体框架思路(7)
- css3实现web app翻页过度效果
- NN(BP)算法
- C/C++求职宝典21个重点笔记(常考笔试面试点)