Задать вопрос

Программирование Android. Как реализовать запороленный вход в приложение?

Здравствуйте! Написал простую программу под андроид шифрование/дешифрование текста - симметричное шифрование "DES". В главном окне в EditText1 пользователь задает мастерключ, далее кнопкой Button1 ключ заносится в переменную ключа в классе шифрования/дешифрования. В EditText2 пользователь пишет текст который нужно зашифровать/дешифровать. Нажимает на кнопку Button2 и ниже в элементах TextView1 и TextView2 отображаются зашифрованный/расшифрованный текст соответственно.

У меня стоит задача, чтобы при первом запуске программы пользователь задал пароль для входа в программу. Далее при каждом запуске программа требовала бы ввести этот пароль и если пароль верный то открывалась бы главное Activity, если пароль не верный то выходило бы всплывающее сообщение что пароль не верный. (Типичный сейф для Android в общем)
Как реализовать чтобы при запусках программы в зависимости от одних условий запускалось одно Activity, при других другое Activity?

Код главного Activity

package com.example.crypto;

import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
import android.os.Build;
import com.example.crypto.SimpleDESCryptoProvider;  //класс для работы с шифрованием/дешифрованием

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


}

@Override
public 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;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}

public void onKey (View v){ // при нажатии на кнопку 1

EditText et = (EditText) findViewById(R.id.editText1);
//if (!ec.getText().toString().equals("FGSJDFGK"))
String str1 =   et.getText().toString();
SimpleDESCryptoProvider.seed = str1;//задается мастерключ


}
public void onEnCrypt (View v){ //при нажатии на кнопку 2
TextView ec = (TextView)findViewById(R.id.textViewEnCrypted);
TextView dc = (TextView)findViewById(R.id.textViewDeCrypted);
EditText ep = (EditText) findViewById(R.id.editText2);
String str2 = ep.getText().toString();
String d = SimpleDESCryptoProvider.encrypt(str2);  //метод для шифрования
ec.setText("Зашифолванный текст= " + d);
dc.setText("Расшифрованный текст= " +SimpleDESCryptoProvider.decrypt(d));  // метод для расшифрования

}

}


Вот ссылка на проект на всякий случай: yadi.sk/d/jqp2Ue-6QhB7H
  • Вопрос задан
  • 5029 просмотров
Подписаться 4 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@onepavel
Консультация и разработка мобильных приложений
Сохраняйте состояние приложения в SharedPreferences. При запуске считываете и реагируете нужным вам образом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы