Использование sharedPreferences для экрана входа в систему, не сравнивая - PullRequest
1 голос
/ 29 июля 2011

У меня проблемы с получением пароля. PASSWORD_PREF_KEY для сравнения с полем EditText.В упражнении у меня есть пользователь, который вводит пароль для сохранения в качестве Password_pref, и другое действие для входа в него, но я продолжаю получать «Неверный пароль», даже если для password_pref задано значение «testing», а для editText - то же самое.Любая помощь будет отличной.Спасибо

package com.jandj.production;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;

import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;


public class LogIn extends Activity {

private EditText pass1;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.password);
    pass1 = (EditText) findViewById(R.id.et_pw);

    SharedPreferences passwdfile = getSharedPreferences(Password.PASSWORD_PREF_KEY,MODE_PRIVATE);
    final String p3 = passwdfile.getString(Password.PASSWORD_PREF_KEY, null);
    final String p1 = pass1.getText().toString(); 
    Button page1 = (Button) findViewById(R.id.btn_login); 
    page1.setOnClickListener(new View.OnClickListener() {         
        public void onClick(View view) { 
            if (p3.equals(p1)) {     
                startActivity(new Intent(LogIn.this,Main.class));  
                 } 
            else {     
                Toast.makeText(getApplicationContext(),"Incorrect Password",Toast.LENGTH_LONG).show();
                }
            };
            });
    };
    }

Ответы [ 2 ]

0 голосов
/ 29 июля 2011

Когда ваше приложение загружается в первый раз, вы можете запросить у пользователя пароль и сохранить его в настройках, как указано выше, согласно ответу Динаша с sharedPreferences и SharedPreferences.Editor.

Затем, когда вы захотите получить этот пароль для сравнения,создайте sharedpreference passwdfile и используйте этот passwdfile.getString (), как вы использовали в своем коде.

:)

0 голосов
/ 29 июля 2011

я думаю, что вы не сохранили пароль, введенный пользователем в sharedpreference и зафиксированный .. для примера код

SharedPreferences settings = getSharedPreferences(Password.PASSWORD_PREF_KEY, 0);
  SharedPreferences.Editor editor = settings.edit();
  editor.putBoolean(Password.PASSWORD_PREF_KEY, "My password");

  // Commit the edits!
  editor.commit();

как только это будет сделано .. вы можете получить его, используя passwdfile.getString (Password.PASSWORD_PREF_KEY, null); а потом проверь ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...