Android实验六之登录页面记住密码
来源:互联网 发布:nginx php fpm 编辑:程序博客网 时间:2024/05/16 11:28
实验结果:(未成功)
代码:
mainactivity.java
package com.example.password;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button forceoffline = (Button) findViewById(R.id.force_offline);forceoffline.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent = new Intent("com.example.broadcastbestpractice.FORCE_OFFLINE");sendBroadcast(intent);}});}@Overridepublic 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;}}
LoginActivity.java
package com.example.password;import android.app.Activity;import android.content.Intent;import android.content.SharedPreferences;import android.os.Bundle;import android.preference.PreferenceManager;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Toast;public class LoginActivity extends Activity{private SharedPreferences pref;private SharedPreferences.Editor editor;private EditText accountEdit;private EditText passwordEdit;private Button login;private CheckBox rememberPass;@Overrideprotected void onCreate(Bundle savedInstanceState){// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.longin);pref = PreferenceManager.getDefaultSharedPreferences(this);accountEdit = (EditText) findViewById(R.id.account);passwordEdit = (EditText) findViewById(R.id.password);login = (Button) findViewById(R.id.login);rememberPass = (CheckBox) findViewById(R.id.remember_pass);boolean isRemember = pref.getBoolean("remember_password", false);if(isRemember){//String account = pref.getString("account", "");String password = pref.getString("password", "");accountEdit.setText(account);passwordEdit.setText(password);rememberPass.setChecked(true);}login.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0){String account = accountEdit.getText().toString();String password = passwordEdit.getText().toString();if(account.equals("admin") && password.equals("123456")){editor = pref.edit();if(rememberPass.isChecked()){editor.putBoolean("remember_pasword", true);editor.putString("account", account);editor.putString("password", password);}else{editor.clear();}editor.commit();Intent intent = new Intent(LoginActivity.this,MainActivity.class);startActivity(intent);finish();}else{Toast.makeText(LoginActivity.this, "account or password is invalid", Toast.LENGTH_SHORT).show();}}});}}
main.xml
<RelativeLayout 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: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=".MainActivity" > <Button android:id="@+id/force_offline" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Send force offline broadcast"/></RelativeLayout>
login.xnl
<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="1"> <TableRow > <TextView android:layout_height="wrap_content" android:text="Account:"/> <EditText android:id="@+id/account" android:layout_height="wrap_content" android:hint="Input our account"/> </TableRow> <TableRow > <TextView android:layout_height="wrap_content" android:text="Password:"/> <EditText android:id="@+id/password" android:layout_height="wrap_content" android:hint="Input our account"/> </TableRow> <TableRow > <CheckBox android:id="@+id/remember_pass" android:layout_height="wrap_content"/> <TextView android:layout_height="wrap_content" android:text="Remember password"/> </TableRow> <TableRow > <Button android:id="@+id/login" android:layout_height="wrap_content" android:layout_span="2" android:text="Login"/> </TableRow> </TableLayout>
activityCollector.java
package com.example.password;import java.util.ArrayList;import java.util.List;import android.app.Activity;public class ActivityCollector {public static List<Activity> activities = new ArrayList<Activity>();public static void addActivity(Activity activity){activities.add(activity);}public static void removeActivity(Activity activity){activities.remove(activity);}public static void finishAll(){for(Activity activity:activities){if(!activity.isFinishing()){activity.finish();}}}}
BaseActivity.java
package com.example.password;import android.app.Activity;import android.os.Bundle;public class BaseAcitivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);ActivityCollector.addActivity(this);}public void onDestory(){super.onDestroy();ActivityCollector.removeActivity(this);}}
ForceOfflineReceiver.java
package com.example.password;import android.app.AlertDialog;import android.content.BroadcastReceiver;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.view.WindowManager;public class ForceOfflineReceiver extends BroadcastReceiver{@Overridepublic void onReceive(final Context context, Intent intent) {// TODO Auto-generated method stubAlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context);dialogBuilder.setTitle("Warning");dialogBuilder.setMessage("You are forced to be offline,Please try to login again");dialogBuilder.setCancelable(false);dialogBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubActivityCollector.finishAll();Intent intent = new Intent(context,LoginActivity.class);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(intent);}});AlertDialog alertdialog = dialogBuilder.create();alertdialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);alertdialog.show();}}
AndroidManifest.java
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.password" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.password.MainActivity" android:label="@string/app_name" > </activity> <activity android:name="com.example.password.LoginActivity" android:label="登录界面"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="com.example.password.ForceOfflineReceiver"> <intent-filter> <action android:name="com.example.broadcastbestpractice.FORCE_OFFLINE"/> </intent-filter> </receiver> </application></manifest>
出现的问题:
0 0
- Android实验六之登录页面记住密码
- Android小程序-Walker登录记住密码页面(六)
- android登录记住密码
- 登录页面(记住密码)
- 登录页面记住密码案例
- JAVA之登录页面记住密码之COOKIE实现
- android记住密码登录界面
- Android记住密码自动登录
- Android开发之登录界面——记住密码
- 登录页面使用Cookie 记住密码
- java web登录页面上记住密码
- Java中登录页面 记住密码
- 手机登录页面(记住密码)
- 使用Jquery搭建最佳用户体验的登录页面 之 记住密码自动登录功能
- 实验3:android数据储存和访问----登录记住密码功能
- 实验3 Android数据存储和访问-登录记住密码功能
- 记住密码(Android登录界面)
- Android记住密码后自动登录
- AB 液体发泡硅胶(双组份发泡硅胶)IOTA 663A,B
- BatteryHistorian
- MaterializeCss 解决没有Time Picker的问题
- 通过js从后台数据库拿到值,再由a标签向jsp传值,再通过另外一个js获取这个值
- BLE4.0 server的基础知识了解
- Android实验六之登录页面记住密码
- Ubuntu 16.04安装配置TensorFlow GPU版本
- SuperMap iObjects.NET编辑撤销操作详解
- nginx 优化(突破十万并发)
- 《从零开始搭建游戏服务器》Eclipse和Tomcat安装配置
- Android开发小知识点收集(极慢更新)
- 因人而异的高效沟通
- mysql Error Code: 1175 You are using safe update mode and you tried to update a table without a W
- redis bind多个ip