2016-05-02 8 views
-3

によってのEditText文字列入力の値Iが入力文字列にしたいと私は、私はこのような文字列に固定値を与えた場合、それのためにバイト[]の値を取得したい:撮影バイト[]ユーザー

String myinput = "SampleString"; 
byte[] keyValue = myinput.getBytes(); 

私はバイト[]の値を取得することができるが、私のようなエディットテキストからの入力を取る場合:

String myinput = "SampleString"; 
mEdit1 = (EditText)findViewById(R.id.editText1); 
myinput = mEdit1.getText().toString(); 
keyValue = myinput.getBytes(); 

その後、私はバイト[]の値を得ることはありません。ここ

バイト[]の値が必要とされるコードのセクションがある:

public Key generateKey() { 

    byte[] keyValue; 
    String aeskey = "ASecureSecretKey"; 
    mEdit1 = (EditText)findViewById(R.id.editText1); 
    aeskey = mEdit1.getText().toString(); 
    keyValue = aeskey.getBytes(); 

Key key = new SecretKeySpec(keyValue, algorithm); 
return key; 
} 

これは、[文字列が固定値を有する場合に正常に動作しているが、のEditText編集可能にのtoString(変換された場合)と.getBytes ()は使用されていますが、私はbyte []値を取得しません。

+0

「EditText」に何も入力していないのはなぜですか? –

+0

私はEditTextの入力として "SampleString"を入力しましたが、まだバイト[]の値を取得していません。非常に奇妙な問題は、それを修正するための何らかの方法でなければなりません。 –

+0

'keyValue'の値は何になりますか?あなたはロギングを試しましたか? –

答えて

0

EditTextが空であるためです。いずれかのメソッドを使用してEditTextにテキストを設定するか、xmlにtext="SampleString"を使用する必要があります。

は、あなたのEditTextフィールドはおそらく空である

String myinput = "SampleString"; 

mEdit1 = (EditText)findViewById(R.id.editText1); 
mEdit1.setText(myinput); 

myinput = mEdit1.getText().toString(); 
keyValue = myinput.getBytes(); 
0

、これを試してみてください。バイトを取得する前にmyinputため

String myinput = "SampleString"; 
mEdit1 = (EditText)findViewById(R.id.editText1); 
myinput = mEdit1.getText().toString(); 
keyValue = myinput.getBytes(); 

チェックはnull。

関連する問題