我有一个应用程序,您可以在其中将图像上传到服务器。我的问题是用户在edittext框中输入其电子邮件密码和客户端ID,然后将其用于URL构建。
我想保存输入到edittext框中的信息,以便用户不必每次都重新输入它。
奥利回答说,我可以在SO上找到将值保存到textView ETC的方法。我希望将值保存在编辑文本框中
在其中调用文本框并将其传递给另一个活动的代码
public class LoginActivity extends AppCompatActivity {
private EditText email, password, id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
email=findViewById(R.id.emailtext);
password=findViewById(R.id.pwdtext);
id=findViewById(R.id.clientid);
Button loginBtn=findViewById(R.id.button);
loginBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String emailAddress=email.getText().toString().trim();
String userPassword=password.getText().toString().trim();
String clientId=id.getText().toString().trim();
Intent intent=new Intent(LoginActivity.this,
CameraActivity.class);
intent.putExtra("clientId", clientId);
intent.putExtra("email", emailAddress);
intent.putExtra("password", userPassword);
startActivity(intent);
}
});
}
}
答案 0 :(得分:3)
您可以使用SharedPreferences:
public class LoginActivity extends AppCompatActivity {
private static final String ID = "id";
private static final String EMAIL = "email";
private static final String PASS = "pass";
private SharedPreferences mPreference;
private EditText email, password, id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
email=findViewById(R.id.emailtext);
password=findViewById(R.id.pwdtext);
id=findViewById(R.id.clientid);
Button loginBtn=findViewById(R.id.button);
mPreference = PreferenceManager.getDefaultSharedPreferences(this);
id.setText(mPreference.getString(ID, ""));
email.setText(mPreference.getString(EMAIL, ""));
password.setText(mPreference.getString(PASS, ""));
loginBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String emailAddress=email.getText().toString().trim();
String userPassword=password.getText().toString().trim();
String clientId=id.getText().toString().trim();
mPreference.edit().putString(ID, clientId).apply();
mPreference.edit().putString(EMAIL, emailAddress).apply();
mPreference.edit().putString(PASS, userPassword).apply();
Intent intent=new Intent(LoginActivity.this,
CameraActivity.class);
intent.putExtra("clientId", clientId);
intent.putExtra("email", emailAddress);
intent.putExtra("password", userPassword);
startActivity(intent);
}
});
}
}
答案 1 :(得分:1)
您希望什么时候填充这些值?
当用户返回同一活动或当用户取消活动并重新打开您的应用程序时?
请告诉