您的位置:首页 > 其它

安卓开发—帐号登录,自动登录功能

2015-06-29 17:00 344 查看
1.首是登陆功能,通过该类的静态方法login(String number, String passWord)可以实现账号登录,并根据返回结果判断登陆结果



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.}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: