我目前正在学习Java,并且是Android的新手。下面是我的onCreate方法,最后我有两个EditText
字段,passT
(纯文本)和keyT
(加密密钥)。我想将这两个作为参数传递给我的加密方法(也在下面)并检索结果并在密码EditText
中设置值。
我希望将值设置为用户将输入的电子邮件地址(emailT
,当前没有为其设置EditText
字段。)
public class ScreenNext extends Activity {
int key = 0;
static char ch;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_screen_next)
EditText emailT;//Import EditTexts (Key and Email)
Button send = (Button) findViewById(R.id.bSend);//Import button1 (Send)
final EditText passT = (EditText) findViewById(R.id.etTogg);//passT variable for Password Text for EditText field
final EditText keyT = (EditText) findViewById(R.id.etKey);
final EditText passT = (EditText) findViewById(R.id.etTogg);//passT variable for Password Text for EditText field
send.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
String keyText = keyT.getText().toString();
String passText = passT.getText().toString();
}
});
}//End onCreate
...
}
我的加密方法(其他包括在需要为我的解决方案观察的情况下):
public static String message(String choice, String subKey, String message) {
int Option = Integer.parseInt(choice);//Must pareseInt
int key = Integer.parseInt(subKey);
message = message.toLowerCase();
//If the key is 26, prompt the user to change the key
if (key % 26 == 0) {
//Toast.makeText(getApplicationContext(), "You can't use a modulus of 26 as a key", Toast.LENGTH_LONG).show();
}
ScreenNext subcipher_1 = null;
String CipherTxt = subcipher_1.encrypt(message, key);
return CipherTxt;
}
// Message prompt method finished, now we create the method that has the
// encrypting algorithms
public static String encrypt(String Txt, int key) {
//local var cipherText of type string is init empty
String CipherTxt = "";//May be able to remove this'un
String cText="";
//enhanced for loop
// start at 0, go until "as long as input text"
for (int i = 0; i < Txt.length(); i++) {
//get a char from the string at index i (start at 0 work through to end of string)
// and store in local var extractedChar for type char
char extractedChar = Txt.charAt(i);
/* enhanced for loop
* start at 0, go until end of user entered cipherKeyValue
* either set to lowercase a or add one to the char
* uses the checkifz method
*/
for (int j = 0; j < key; j++) {
ScreenNext subcipher_1 = null;
if (subcipher_1.checkIfZ(extractedChar) == true) {
extractedChar = 'a';
} else {
extractedChar++;
}
CipherTxt= new StringBuilder().append(extractedChar).toString();
}
//add extracted char to builder object
//change object builder to string and assing to cipherText of type String
//create new object builder from StringBuilder class
cText = cText.concat(CipherTxt);
}
//Pass the cipherText value out of the method to whom ever called it
return cText;
}
答案 0 :(得分:6)
在类级别声明变量
public class ScreenNext extends Activity {
int key = 0;
static char ch;
String keyText = null;
String passText = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ....
send.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
keyText = keyT.getText().toString();
passText = passT.getText().toString();
}
});
// ...
}
// ...
}