そのため、パスワードを共有設定にハッシュとして保存しました。ユーザーがパスワードを入力すると、そのハッシュを作成して保存されたものと比較する必要があります。
計算と比較により UI がフリーズする可能性があるため、AsyncTask または Thread で実行する必要がありますか? そして、asynctask またはスレッドから結果 (true、false) を受け取るクリーンな方法を知っていますか?
public void startGenerateCode(View view) {
String pinCompare = pin; //pin is class variable obtained from editText
pinCompare = tools.bin2hex(tools.getHash(pinCompare));
if(pinCompare.compareTo(session.getDetails("Pin"))==0){
generateCode();
}
else
Toast.makeText(this, "Wrong PIN", Toast.LENGTH_SHORT).show();
}
public void generateCode(){
Intent i = new Intent(this, GeneratedCode.class);
startActivity(i);
overridePendingTransition(R.anim.right_slide_in, R.anim.right_slide_out);
finish();
}
これは、ボタンが押された後のアクティビティで行われます。