2017-02-18 9 views
0

共有の設定でハッシュとしてパスワードを保存しました。ユーザーがパスワードを入力すると、ハッシュを作成して保存されているものと比較する必要があります。Androidでパスワードが比較されています

計算と比較によってUIがフリーズする可能性があるため、AsyncTaskまたはThreadで実行する必要がありますか?そして、asynctaskやスレッドから結果(真、偽)を受け取るきれいな方法を知っていますか?

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(); 
} 

これは、ボタンを押した後のアクティビティで行われます。

+0

asyncktaskのonPostで比較することができます –

+0

@android_jain asyncTaskはこれに適していますか?そして、私はonPostで新しい活動を始められますか?アクティビティが早期に終了すると、比較が終了し、onPostは次のアクティビティを開始できますか? – Zolo

+0

あなたの質問を明確に混乱させることを明確に説明してください。 –

答えて

2

Zolo、

私は、誰かがそのようなログインとして、Buttonを押すと、このプロセスがトリガされると思います。 Hash微積分を処理するために余分なものは必要ありません。Thread

サーバーに接続してデータを送受信する必要がある場合は、非同期フローのために使用する必要があります。

メインポストへのコメントへの応答: はい、アクティビティをonPostExecuteで開始できます。

コード例:

public void startGenerateCode(View view) { 

    // Disable button   
    Button button = (Butto) view; 
    button.setEnabled(false); 

    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 { 
     // If the login fails, re-enable the button to try again 
     button.setEnabled(true); 
     Toast.makeText(this, "Wrong PIN", Toast.LENGTH_SHORT).show(); 
    } 
} 

私は心でそれをやったので、間違いがあるかもしれません。

+0

はい、ボタンが押された後に処理が開始されます。しかし、私はこのようにそれをやったと私はアプリを試みたが、ボタンを押した後、それが比較して、新たな活動は、私は再びそれを押す開始されていない始めたと私は戻るボタンを押したとき、私は私ができなかった... ActivityStackにその倍の活性を有していましたそれをもう一度することができますが、それは起こっています。 – Zolo

+0

@Zoloそれは別の問題です。あなたが助けが必要な場合は、少なくともあなたのコードを投稿してください。 – JonZarate

+0

比較のためにコードを追加 – Zolo

関連する問題