我正在创建一个用户生成的问答应用程序。用户应该能够从他们的相机卷中选择图片,他们可以给它们贴上标签,并将它们添加到他们的choice.For示例的一个小测验中,这样就会有一个名为猜测家庭成员的测试,用户上传的图片将在其中使用。
到目前为止,我已经允许用户从他们的相机卷中选择一张图片并显示在屏幕上,但是我不确定如何给图片贴上标签,并将它们添加到一个特定的测试中。
如果有人能帮我或者给我一些指导,我会很感激的。
public class Editquizz extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_editquizz);
FloatingActionButton button = findViewById(R.id.Uploadbtn);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 3);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode,Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK && data != null ){
Uri selectedImage = data.getData();
ImageView imageView = findViewById(R.id.imageView3);
imageView.setImageURI(selectedImage);
}
}
public void onClickHandler12(View view){
Intent myIntenet = new Intent(Editquizz.this,MainActivity.class);
startActivity(myIntenet);
}发布于 2022-04-18 22:34:37
您可以将一个EditText添加到您的布局中,并使用它来标记图像。这确实取决于您如何存储测试,但是为标签添加一个字符串应该很简单。
测验:
String url/uri = "https://...";
String label = editText.getText().toString();
存储测试的一种方法可能是使用SharedPreferences
SharedPreferences prefs = context.getSharedPreferences("prefs", Context.MODE_PRIVATE);
prefs.edit().putString("quiz1", url + ";" + label).apply();
把它拿回来
String quiz1 = prefs.getString("quiz1", "");
if (!quiz1.isEmpty()) {
String[] split = quiz1.split(";");
String url = "";
String name = "";
if (split.length >= 1) {
url = split[0];
}
if (split.length >= 2) {
name = split[1];
}
}或者您可以使用sqlite保存它。
房间:
https://developer.android.com/training/data-storage/room
GreenDAO:
https://stackoverflow.com/questions/71905817
复制相似问题