Drei Bilder sind eine Anwendung, die den von mir gemachten Blutdruck notiert.
Der in EditText eingegebene Wert wird in der Datenbank gespeichert.
Zu dieser Zeit wollte ich Werte und Nullen außerhalb des Bereichs vermeiden, also untersuchte ich verschiedene Dinge und schrieb sie mit if-Anweisungen und logischen Operatoren.
Mit diesem Code stürzt die App übrigens ab, wenn Sie versuchen, Daten kontinuierlich zu registrieren.
Klicken Sie hier, um einen Artikel über einen fortlaufenden Registrierungsfehler zu lesen (springen Sie zu einem anderen Artikel, den ich geschrieben habe).
MainActivity.java DatePicker, TimePicker und benutzerdefinierter Schriftcode werden weggelassen. Blogs, auf die bei der Einführung von DatePicker und TimePicker verwiesen wird. Klicken Sie hier, um einen Artikel über benutzerdefinierte Schriftarten zu lesen (springen Sie zu einem anderen Artikel, den ich geschrieben habe). Schreiben Sie die if-Anweisung in die onClick-Methode. (Obwohl ich den Code eingefügt habe, ist die insertData-Methode instabiler Code. Bitte verwenden Sie ihn nicht so, wie er ist.)
MainActivity.java
public class MainActivity extends AppCompatActivity {
EditText getMaxBP;
EditText getMinBP;
EditText getPulse;
Button btEntry;
Button btNext;
DatabaseHelper helper;
SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
helper = new DatabaseHelper(MainActivity.this);
db = helper.getWritableDatabase();
btEntry = findViewById(R.id.btEntry);
btEntry.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getMaxBP = findViewById(R.id.etUpperBloodPressure);
String maxBP = (getMaxBP.getText().toString());
getMinBP = findViewById(R.id.etLowerBloodPressure);
String minBP = (getMinBP.getText().toString());
getPulse = findViewById(R.id.etPulse);
String pulse = (getPulse.getText().toString());
String nullMsg = "Bitte geben Sie den Wert ein";
if(maxBP.length()==0){
getMaxBP.setError(nullMsg);
return;
} else if(minBP.length()==0){
getMinBP.setError(nullMsg);
return;
} else if(pulse.length()==0){
getPulse.setError(nullMsg);
return;
}
String errorMsg = "Dieser Wert kann nicht eingegeben werden";
if(!(80 <= Integer.parseInt(maxBP) && Integer.parseInt(maxBP) <= 180)){
getMaxBP.setError(errorMsg);
return;
} else if(!(50 <= Integer.parseInt(minBP) && Integer.parseInt(minBP) <= 140)){
getMinBP.setError(errorMsg);
return;
} else if(!(40 <= Integer.parseInt(pulse) && Integer.parseInt(pulse) <= 120)){
getPulse.setError(errorMsg);
return;
}
//Methode zum Registrieren von Werten in der Datenbank
insertData(db, maxBP, minBP, pulse);
//Wenn Sie sich erfolgreich registrieren, erhalten Sie einen Toast
Toast toast = Toast.makeText(BloodPressureAdditionActivity.this, "Hat sich registriert", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
});
btNext = findViewById(R.id.btNext);
btNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, SubActivity.class);
startActivity(intent);
}
});
}
public void insertData(SQLiteDatabase db, String maxBP, String minBP, String pulse){
ContentValues values = new ContentValues();
try {
values.put("_maxBP", maxBP);
values.put("_minBP", minBP);
values.put("_pulse", pulse);
db.insert("_BPtable", null, values);
} finally {
db.close();
}
}
Die Erklärung der insertDate-Methode, Der Wert des Arguments wird an die Spalten _maxBP, _minBP, _pulse übergeben und mit der Einfügemethode in der Tabelle (hier _BPtable) registriert. Ich denke, diese Seite ist für die Erklärung der ContentValues-Klasse leicht zu verstehen. Add Let's Programmierschlüssel und -wert Einfügen und Schließen sind SQLiteDatabase-Methoden. Entwickler: SQLiteDatabase-Klasse setError Wenn Sie setError verwenden, wird der Stil der roten Überraschungsmarke und des weißen Textes mit schwarzem Hintergrund wie das Bild automatisch ausgegeben. Ich schrieb zwei if-Aussagen, Der erste ist null Der zweite ist ein Eingang außerhalb des Bereichs Es entspricht jedem. Ich bin froh, wenn Sie es als Referenz verwenden können.
Recommended Posts