Я новичок в разработке приложения для Android, и в настоящее время я разрабатываю программное обеспечение для Android, которое требует от пользователя ввода большого количества данных и сохранения его на sharedPreferences
в качестве базы данных. Вот мое кодирование:Задать пробел/пустое значение/значение по умолчанию
public static final String DEFAULT= "NONE";
При сохранении входных данных пользователя, часть кодирования, как показано на следующем:
public void OnClickSave(){
button17=(Button)findViewById(R.id.button17);
button17.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
name = (EditText) findViewById(R.id.name);
material = (EditText) findViewById(R.id.material);
type = (EditText) findViewById(R.id.type);
proper1 = (EditText) findViewById(R.id.proper1);
p1 = (EditText) findViewById(R.id.p1);
p2 = (EditText) findViewById(R.id.p2);
p3 = (EditText) findViewById(R.id.p3);
po1 = (EditText) findViewById(R.id.po1);
po2 = (EditText) findViewById(R.id.po2);
po3 = (EditText) findViewById(R.id.po3);
c1 = (EditText) findViewById(R.id.c1);
c2 = (EditText) findViewById(R.id.c2);
c3 = (EditText) findViewById(R.id.c3);
SharedPreferences sharedPreferences = getSharedPreferences("Database", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("name", name.getText().toString());
editor.putString("material", material.getText().toString());
editor.putString("type", type.getText().toString());
editor.putString("proper1",proper1.getText().toString());
editor.putString("p1", p1.getText().toString());
editor.putString("p2", p2.getText().toString());
editor.putString("p3", p3.getText().toString());
editor.putString("po1", po1.getText().toString());
editor.putString("po2", po2.getText().toString());
editor.putString("po3", po3.getText().toString());
editor.putString("c1", c1.getText().toString());
editor.putString("c2", c2.getText().toString());
editor.putString("c3", c3.getText().toString());
editor.commit();
Toast.makeText(MainActivity.this, "Saved!!!", Toast.LENGTH_LONG).show();
}
}
);
}
Для загрузки данных,
public void OnClickLoad(){
button38=(Button)findViewById(R.id.button38);
button38.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences sharedPreferences = getSharedPreferences("Database", Context.MODE_PRIVATE);
String name = sharedPreferences.getString("name", DEFAULT);
String material = sharedPreferences.getString("material", DEFAULT);
String type = sharedPreferences.getString("type", DEFAULT);
String proper1 = sharedPreferences.getString("proper11", DEFAULT);
String p1 = sharedPreferences.getString("p1", DEFAULT);
String p2 = sharedPreferences.getString("p2", DEFAULT);
String p3 = sharedPreferences.getString("p3", DEFAULT);
String po1 = sharedPreferences.getString("po1", DEFAULT);
String po2 = sharedPreferences.getString("po2", DEFAULT);
String po3 = sharedPreferences.getString("po3", DEFAULT);
String c1 = sharedPreferences.getString("c1", DEFAULT);
String c2 = sharedPreferences.getString("c2", DEFAULT);
String c3 = sharedPreferences.getString("c3", DEFAULT);
}
}
);
AlertDialog.Builder a_builder = new AlertDialog.Builder(MainActivity12.this);
a_builder.setMessage(
"Data input 1:"+ name + "\n"+ material +"\n"+ type +"\n"+ proper1 +"\n"+
p1+ "\n"+p2 +"\n"+ p3 + "\n"+po1 +"\n"+ po2 +"\n"+po3 +"\n"+ s1 +"\n"+s2 +"\n"+s3 + "\n" )
.setCancelable(false)
.setPositiveButton("Proceed", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
})
.setNegativeButton("Return", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
})
;
AlertDialog alert= a_builder.create();
alert.setTitle("Checking");
alert.show();
}
Когда пользователь не вводил никаких данных и не нажимал кнопку сохранения, данные показывают, что это данные DEFAULT, которые НЕ установлены как установлено.
public static final String DEFAULT= "NONE";
Однако, когда пользователь не вводит никаких данных и не нажимает кнопку сохранения, выходные данные становятся пустыми.
Возникает вопрос, возможно ли установить пустой ввод или ввод в космос данных DEFAULT? (Означает, что пользователь не вставлял какие-либо входные данные (или только пробел) и сохранял, соответствующие загруженные данные были НЕТ.)
Я имел в виду какое-то решение, подобное this, зная, что я могу сделать это вручную 1 на 1, но является ли это альтернативным решением сделать его быстрее и положить в Sharepreferances
?
Благодарим заранее всех, кто интересуется и помогает! Извините за мой плохой язык.
Что будет вы делаете, когда кто-то вводит «NONE» в один из этих текстов редактирования? – petey
@petey Это нормально, если кто-то либо оставляет его пустым, либо вводит «NONE», так как он будет указывать то же значение, когда у них нет данных. Я пытаюсь сделать выходные данные не пустыми. Надеюсь, ты поможешь. Благодарю. – GentleG
@GentleG Удалить в Get Preferences в DEFAULT и использовать двойную Quata. –