gpt4 book ai didi

java - 如果没有单击按钮,则不会传递 EditText 数据

转载 作者:太空宇宙 更新时间:2023-11-04 09:27:32 25 4
gpt4 key购买 nike

我正在构建一个应用程序,您可以将图像上传到我公司的服务器

我的问题是我有一个包含电子邮件、密码和客户端 ID 的登录屏幕(在 LoginActivity 中)

现在您输入的数据将传递到另一个 Activity(CameraActivity),并用于使用 Uri.Builder 构建 URL。数据保存在编辑文本框中,但仅在单击按钮时传递(使用 Intent )到其他 Activity ,因此,您必须返回登录屏幕并单击按钮以在每次上传和每次启动应用程序时重新提交数据(数据存储在文本框中,但如果没有单击按钮,则不会传递到其他 Activity ),以便 URI.Builder 工作并将输入的信息提供给 URL。

我希望客户端输入该信息一次并单击按钮一次,然后每次都会存储和使用该信息,无论应用程序是否退出等。

登录 Activity ,此 Activity 具有编辑文本框,输入的信息将被保存,但如果没有单击按钮,则不会传递到其他 Activity

  public class LoginActivity extends AppCompatActivity {
String ID = "id";
String EMAIL = "email";
String PASS = "pass";
private SharedPreferences mPreference;
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) {
EMAIL =email.getText().toString();
PASS =password.getText().toString();
ID =id.getText().toString();

mPreference.edit().putString(ID,ID).apply();
mPreference.edit().putString(EMAIL, EMAIL).apply();
mPreference.edit().putString(PASS, PASS).apply();

Intent intent=new Intent(LoginActivity.this,
CameraActivity.class);
intent.putExtra("clientId", ID);
intent.putExtra("email", EMAIL);
intent.putExtra("password", PASS);
startActivity(intent);
}
});
}
}

最佳答案

正如问题评论中所建议的,SharedPreferences 是一个不错的选择。

SharedPreferences getPreferences(Context context) {
return PreferenceManager.getDefaultSharedPreferences(context);
}

void setEmail(Context context, String email) {
SharedPreferences.Editor editor = getPreferences(context).edit();
editor.putString("EMAIL", email);
editor.apply();
}

String getEmail(Context context) {
return getPreferences(context).getString("EMAIL", "");
}

上面是如何从共享首选项中放置内容和检索内容的示例。由于您要存储的不仅仅是一封电子邮件(用户 ID 等),您甚至可以将一个对象存储为 gson,这样您只需调用一个函数。但当然这是你的决定。

关于java - 如果没有单击按钮,则不会传递 EditText 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57495668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com