SQLite için. uygulama zaten JSON almak ve bir liste görünümü ve bir veritabanına verileri kaydetmek üzere bir fonksiyon bu gösterilecek bir işlevi vardır. Şimdi bunları birleştirmek istiyorum, ama biraz kayboldum.kaydet JSON ben bir android uygulama yapma ve bir SQLite veritabanına JSON kurtarmak zorunda am
public void get_data(String data) {
try {
JSONArray data_array=new JSONArray(data);
for (int i = 0 ; i < data_array.length() ; i++)
{
JSONObject obj=new JSONObject(data_array.get(i).toString());
Courses add=new Courses();
add.name = obj.getString("name");
add.ects = obj.getString("ects");
add.grade = obj.getString("grade");
add.period = obj.getString("period");
courses.add(add);
}
adapter.notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
}
Bu JSON üzerinden döngüler alır, bu yüzden veritabanına nerede kaydedileceğini düşünüyorum.
public boolean insertCourse(String course, int ects, int period, int grade) {
SQLiteDatabase db = getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COURSE_COLUMN_COURSE, course);
contentValues.put(COURSE_COLUMN_ECTS, ects);
contentValues.put(COURSE_COLUMN_PERIOD, period);
contentValues.put(COURSE_COLUMN_GRADE, grade);
db.insert(COURSE_TABLE_NAME, null, contentValues);
return true;
}
Bu DBHelper.class içinde olduğunu düşünüyorum bunu kullanabileceğini düşünüyorum.
Ben veritabanında ama şimdiye kadar hiçbir şans giriş alanlarını kurtarmak için kullanılan kod yeniden umuyordum.else {
if(dbHelper.insertCourse(courseEditText.getText().toString(),
Integer.parseInt(ectsEditText.getText().toString()),
Integer.parseInt(periodEditText.getText().toString()),
Integer.parseInt(gradeEditText.getText().toString()))) {
Toast.makeText(getApplicationContext(), "Course Inserted", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(getApplicationContext(), "Could not Insert course", Toast.LENGTH_SHORT).show();
}
kimse hem (mümkünse hiç) nasıl entegre bir öneri var mı. peşin
DÜZENLEME içinde Thnx: logcat kazasında raporu: insertCourse Yöntem kullanmadan önce DBHelper sınıf örneğini gerekir
04-09 17:45:37.204 12244-12244/com.stefspakman.progress2 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.stefspakman.progress2, PID: 12244
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.stefspakman.progress2.ProgressDBHelper.insertCourse(java.lang.String, int, int, int)' on a null object reference
at com.stefspakman.progress2.gradingActivity.get_data(gradingActivity.java:60)
at com.stefspakman.progress2.Download_data$1.handleMessage(Download_data.java:58)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5422)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Çağrı 'insertCourse' yöntemi çağırmadan önce aramak zorunda. –
@PrerakSola Az önce denedim dbCourse = obj.getString ("name"); int dbects = Integer.parseInt (obj.getString ("Ects")); int dbperiod = Integer.parseInt (obj.getString ("süresi")); int dbgrade = Integer.parseInt (obj.getString ("notu")); dbHelper.insertCourse (dbCourse, dbects, dbperiod, dbgrade); ', ancak etkinliği açtığımda uygulama çöküyor. –
Sorunuzdaki kilitlenme günlüğünü kaydedin. –