android studio快捷if 怎么用if判断修改密码

Android设置隐藏和显示密码功能实现代码
android设置隐藏/显示密码
1.话不多说,先上图(效果展示)
2.代码实现
* @param editText
* @param imageView
* 设置隐藏/显示密码
public void pwdShow(EditText editText,ImageView imageView){
int type = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD;
if(editText.getInputType() == type){//密码可见
editText.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
imageView.setImageDrawable(getResources().getDrawable(R.mipmap.kc_gone_pwd));
editText.setSelection(editText.getText().length());
//把光标设置到当前文本末尾
editText.setInputType(type);
imageView.setImageDrawable(getResources().getDrawable(R.mipmap.kc_eye_gary));
editText.setSelection(editText.getText().length());
额,着实没什么好可说明的了。最后结语首尾呼应,祝大家赏花赏月赏秋香,中秋快乐!在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
标签:至少1个,最多5个
修改密码界面
完成了设置部分接着完成设置中的第一个模块修改密码,创建 ModifyPswActivity ,修改布局为 LinearLayout
具体代码如下:
activity_modify_psw.xml
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/register_bg"
android:orientation="vertical"&
&include layout="@layout/main_title_bar" /&
android:id="@+id/et_original_psw"
android:layout_width="fill_parent"
android:layout_height="48dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="35dp"
android:layout_marginRight="35dp"
android:layout_marginTop="35dp"
android:background="@drawable/register_user_name_bg"
android:drawableLeft="@drawable/psw_icon"
android:drawablePadding="10dp"
android:gravity="center_vertical"
android:hint="请输入原始密码"
android:inputType="textPassword"
android:paddingLeft="8dp"
android:textColor="#000000"
android:textColorHint="#a3a3a3"
android:textSize="14sp" /&
android:id="@+id/et_new_psw"
android:layout_width="fill_parent"
android:layout_height="48dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="35dp"
android:layout_marginRight="35dp"
android:background="@drawable/register_psw_bg"
android:drawableLeft="@drawable/psw_icon"
android:drawablePadding="10dp"
android:hint="请输入新密码"
android:inputType="textPassword"
android:paddingLeft="8dp"
android:singleLine="true"
android:textColor="#000000"
android:textColorHint="#a3a3a3"
android:textSize="14sp" /&
android:id="@+id/et_new_psw_again"
android:layout_width="fill_parent"
android:layout_height="48dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="35dp"
android:layout_marginRight="35dp"
android:background="@drawable/register_psw_again_bg"
android:drawableLeft="@drawable/psw_icon"
android:drawablePadding="10dp"
android:hint="请再次输入新密码"
android:inputType="textPassword"
android:paddingLeft="8dp"
android:singleLine="true"
android:textColor="#000000"
android:textColorHint="#a3a3a3"
android:textSize="14sp" /&
android:id="@+id/btn_save"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="35dp"
android:layout_marginRight="35dp"
android:layout_marginTop="15dp"
android:background="@drawable/register_selector"
android:text="保存"
android:textColor="@android:color/white"
android:textSize="18sp" /&
&/LinearLayout&
首先输入的原始密码与从 SharedPreferences 中读取的原始密码必须一致,输入的新密码与原始密码不能相同,再次输入的新密码与输入的新密码必须相同,以上条件都符合之后,点击保存修改 SharedPreferences 中的密码,修改密码后需要跳转到登录页,同时需要关闭修改密码页及设置页,我们需要在设置页的逻辑代码中新建一个 instance 对象,然后在创建设置页时给 instance 赋值 this ,再完成设置页的点击事件即可
具体代码如下:
ModifyActivity
package cn.edu.lt.android.boxueguapp.
import android.content.I
import android.content.SharedP
import android.content.pm.ActivityI
import android.support.v7.app.AppCompatA
import android.os.B
import android.text.TextU
import android.view.V
import android.widget.B
import android.widget.EditT
import android.widget.TextV
import android.widget.T
import cn.edu.lt.android.boxueguapp.R;
import cn.edu.lt.android.boxueguapp.utils.AnalysisU
import cn.edu.lt.android.boxueguapp.utils.MD5U
public class ModifyPswActivity extends AppCompatActivity {
private TextView tv_main_
private TextView tv_
private EditText et_original_psw, et_new_psw, et_new_psw_
private Button btn_
private String originalPsw, newPsw, newPswA
private String userN
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_modify_psw);
//设置此界面为竖屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
userName = AnalysisUtils.readLoginUserName(this);
* 获取界面控件并处理相关控件的点击事件
private void init() {
tv_main_title = (TextView) findViewById(R.id.tv_main_title);
tv_main_title.setText("修改密码");
tv_back = (TextView) findViewById(R.id.tv_back);
et_original_psw = (EditText) findViewById(R.id.et_original_psw);
et_new_psw = (EditText) findViewById(R.id.et_new_psw);
et_new_psw_again = (EditText) findViewById(R.id.et_new_psw_again);
btn_save = (Button) findViewById(R.id.btn_save);
tv_back.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
ModifyPswActivity.this.finish();
//保存按钮的点击事件
btn_save.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
getEditString();
if (TextUtils.isEmpty(originalPsw)) {
Toast.makeText(ModifyPswActivity.this, "请输入原始密码", Toast.LENGTH_SHORT).show();
} else if (!MD5Utils.md5(originalPsw).equals(readPsw())) {
Toast.makeText(ModifyPswActivity.this, "输入的密码与原始密码不一致", Toast.LENGTH_SHORT).show();
} else if (MD5Utils.md5(newPsw).equals(readPsw())) {
Toast.makeText(ModifyPswActivity.this, "输入的新密码与原始密码不能一致", Toast.LENGTH_SHORT).show();
} else if (TextUtils.isEmpty(newPsw)) {
Toast.makeText(ModifyPswActivity.this, "请输入新密码", Toast.LENGTH_SHORT).show();
} else if (TextUtils.isEmpty(newPswAgain)) {
Toast.makeText(ModifyPswActivity.this, "请再次输入新密码", Toast.LENGTH_SHORT).show();
} else if (!newPsw.equals(newPswAgain)) {
Toast.makeText(ModifyPswActivity.this, "两次输入的新密码不一致", Toast.LENGTH_SHORT).show();
Toast.makeText(ModifyPswActivity.this, "新密码设置成功", Toast.LENGTH_SHORT).show();
//修改登录成功时保存在SharedPreferences中的密码
modifyPsw(newPsw);
Intent intent = new Intent(ModifyPswActivity.this, LoginActivity.class);
startActivity(intent);
SettingActivity.instance.finish();//关闭设置页
ModifyPswActivity.this.finish();//关闭当前页面
* 获取控件上的字符串
private void getEditString() {
originalPsw = et_original_psw.getText().toString().trim();
newPsw = et_new_psw.getText().toString().trim();
newPswAgain = et_new_psw_again.getText().toString().trim();
* 修改登录成功时保存在SharedPreferences中的密码
private void modifyPsw(String newPsw) {
String md5Psw = MD5Utils.md5(newPsw);//把密码用MD5加密
SharedPreferences sp = getSharedPreferences("loginInfo", MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();//获取编辑器
editor.putString(userName, md5Psw);//保存新密码
editor.commit();//提交修改
* 从SharedPreferences中读取原始密码
* 密码和用户名作为键值对保存到一起,所以通过用户名读取密码
* 用户名从AnalysisUtils工具类获取
private String readPsw() {
SharedPreferences sp = getSharedPreferences("loginInfo", MODE_PRIVATE);
String spPsw = sp.getString(userName, "");
return spP
SettingActivity
创建 instance 对象
public static SettingA
在OnCreate方法中给 instance 赋值
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setting);
instance =
完成修改代码的点击事件
//修改密码的点击事件
rl_modify_psw.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent=new Intent(SettingActivity.this,ModifyPswActivity.class);
startActivity(intent);
0 收藏&&|&&0
你可能感兴趣的文章
1 收藏,359
2 收藏,274
2 收藏,410
本作品 保留所有权利 。未获得许可人许可前,不允许他人复制、发行、展览和表演作品。不允许他人基于该作品创作演绎作品
分享到微博?
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。android studio为什么我的登录功能进不到if判断_百度知道
android studio为什么我的登录功能进不到if判断
点击bt按钮,判断帐号密码是否等于a b,正确就跳转到mainactivity,否则弹出个Toast。我运行程序,输入正确的帐号密码点击登录按钮会弹出Toast,输入错误帐号密码点击登录也弹出Toast,请问为什么无法进入if的条件,if条件该怎么写
我有更好的答案
你的帐号和密码都是字符串。字符串用等于当然不行啊。你用zh.equals(“a”),你理解了没有呢?equals()比较的是对象的内容(区分字母的大小写格式),但是如果使用“==”比较两个对象时,比较的是两个对象的内存地址,所以不相等。即使它们内容相等,但是不同对象的内存地址也是不相同的。
采纳率:82%
来自团队:
判断字符串是否相等,用equals来判断
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Android如何用if判断 密码是否正确,如果正确就调用另一个页面,不正确就提示_百度知道
Android如何用if判断 密码是否正确,如果正确就调用另一个页面,不正确就提示
Android如何用if判断 密码是否正确,如果正确就调用另一个页面,不正确就提示编程,Android,java
我有更好的答案
推荐你用APP inventor 用这个制作APP很简单用代码块拼接而成例如我做的APP我第一眼看到你这个我以为是你要设计一个锁机软件,我希望你不是这种人
采纳率:63%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Android修改、设置锁屏密码
在实现锁屏功能的时候首先要获得管理员权限,然后通过用户授权,用户如果同意授权,则就可以修改或设置锁屏密码。
具体方法如下:
1,首先要新建一个DeviceAdminReceiver的子类
import android.app.admin.DeviceAdminR
public class AdminManageReceiver extends DeviceAdminReceiver {
2,在清单文件对接收者进行配置
&?xml version="1.0" encoding="utf-8"?&
&manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.njupt.testrotate1"
android:versionCode="1"
android:versionName="1.0" &
android:minSdkVersion="8"
android:targetSdkVersion="8" /&
&uses-permission android:name="android.permission.VIBRATE"/&
&application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" &
android:name="com.njupt.testrotate1.MainActivity"
android:label="@string/app_name" &
&intent-filter&
&action android:name="android.intent.action.MAIN" /&
&category android:name="android.intent.category.LAUNCHER" /&
&/intent-filter&
&/activity&
&receiver android:name="com.njupt.testrotate1.MyAdmin" &
&meta-data android:name="android.app.device_admin"
android:resource="@xml/my_admin"/&
&intent-filter &
&action android:name="android.app.action.DEVICE_ADMIN_ENABLED"/&
&/intent-filter&
&/receiver&
&/application&
&/manifest&
3,由于清单文件中用到了my_admin.xml,所以在在res目录下新建xml/my_admin.xml,内容如下:
&?xml version="1.0" encoding="utf-8"?&
&device-admin xmlns:android="http://schemas.android.com/apk/res/android"&
limit-password
设置密码的规则
watch-login 监控屏幕解锁尝试次数
reset-password 更改屏幕解锁密码
force-lock 设备自动锁屏
wipe-data 删除全部的数据
&uses-policies&
&limit-password/&
&watch-login /&
&reset-password /&
&force-lock /&
&wipe-data /&
&/uses-policies&
&/device-admin&
然后在mainActivity中:
private DevicePolicyManager devicePolicyM
private boolean isAdminA
devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
// 申请权限
ComponentName componentName = new ComponentName(this, MyAdmin.class);
// 判断该组件是否有系统管理员的权限
isAdminActive = devicePolicyManager
.isAdminActive(componentName);
if(!isAdminActive){//这一句一定要有...
Intent intent = new Intent();
//指定动作
intent.setAction(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
//指定给那个组件授权
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);
startActivity(intent);
if(isAdminActive){
Toast.makeText(this, "具有权限,将进行锁屏....", 1).show();
devicePolicyManager.lockNow();
devicePolicyManager.resetPassword("123321", 0);
MainAcitivity的完整代码如下所示:
import android.os.B
import android.os.V
import android.app.A
import android.app.S
import android.app.admin.DevicePolicyM
import android.content.ComponentN
import android.content.C
import android.content.I
import android.hardware.S
import android.hardware.SensorE
import android.hardware.SensorEventL
import android.hardware.SensorM
import android.view.M
import android.view.V
import android.widget.B
import android.widget.TextV
import android.widget.T
public class MainActivity extends Activity implements SensorEventListener {
private TextView tv1;
private SensorManager mSensorM
private int counter = 1;
private DevicePolicyManager devicePolicyM
private boolean isAdminA
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
vibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);
// clear = (Button) findViewById(R.id.clear);
// clear.setOnClickListener(new Button.OnClickListener() {
// @Override
// public void onClick(View v) {
// clear.setText("现在给button赋值喽....");
tv1 = (TextView) findViewById(R.id.tv1);
devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
// 申请权限
ComponentName componentName = new ComponentName(this, MyAdmin.class);
// 判断该组件是否有系统管理员的权限
isAdminActive = devicePolicyManager
.isAdminActive(componentName);
if(!isAdminActive){
Intent intent = new Intent();
//指定动作
intent.setAction(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
//指定给那个组件授权
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);
startActivity(intent);
protected void onResume() {
super.onResume();
mSensorManager.registerListener(this,
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_GAME);
protected void onStop() {
mSensorManager.unregisterListener(this);
super.onStop();
protected void onPause() {
mSensorManager.unregisterListener(this);
super.onPause();
public void onAccuracyChanged(Sensor sensor, int accuracy) {
public void onSensorChanged(SensorEvent event) {
int sensorType = event.sensor.getType();
float[] values = event.
float x = values[0];
float y = values[1];
if (sensorType == Sensor.TYPE_ACCELEROMETER) {
tv1.setText("现在的x轴是: " + x + " y轴是: " + y);
if (Math.abs(x) & 9.0 || Math.abs(y) & 9.0) {
Toast.makeText(this, "现在的垂直方向已经超过了90度,将进行锁屏", 1).show();
vibrator.vibrate(500);
System.out.println("...............isAdminActive: "
+ isAdminActive);
if(isAdminActive){
Toast.makeText(this, "具有权限,将进行锁屏....", 1).show();
devicePolicyManager.lockNow();
devicePolicyManager.resetPassword("123321", 0);
public boolean onCreateOptionsMenu(Menu menu) {
// I this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
没有更多推荐了,
不良信息举报
举报内容:
Android修改、设置锁屏密码
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 android 修改密码 的文章

 

随机推荐