I am making an app which have a database and now I am trying to store the data using this method and getting error javanullpointer,
JSONParser jParser = new JSONParser();
JSONObject json = jParser.getJSONFromUrl(url);
// TODO Auto-generated method stub
JSONArray Erate= json.getJSONArray("Erates");
if(Erate!=null)
{
// looping through All Contacts
for(int i = 0; i < Erate.length(); i++){
JSONObject c = Erate.getJSONObject(i);
Cursor cr = db.rawQuery("select * from `rates` where `id`='"+c.getString("id")+"'",null);
String quiery=
"Insert into rates(id,kondisi,condition,tenor,erate,erateDB)"+
"values("+
c.getString("id")+",'"+
c.getString("....")
+"')";
db.execSQL(quiery);
Log.d("Insert",quiery);
cr.close();}
}
and then i try another method (this also give the same error)
for (int i = 0; i < Erates.length(); i++) {
JSONObject c = Erates.getJSONObject(i);
int id = c.getInt(TAG_ER_ID);
int tenor = c.getInt(TAG_ER_TENOR);
String ko = c.getString(TAG_ER_K);
String co = c.getString(TAG_ER_C);
double rate = c.getDouble(TAG_ER_RATE);
double ratedb = c.getDouble(TAG_ER_RATE_DB);
Log.d("Response test: ", id + "\n" + tenor + "\n" + ko
+ "\n" + co + "\n" + rate + "\n" + ratedb);
/**
* Updating parsed JSON data into db
* */
db.saveEntryEffectiveRate(id, tenor,ko,co,
rate,ratedb);
}
saveEntryEffectiveRate in the database:
public void saveEntryEffectiveRate(int id, int tenor,String ko,String co, double rate,
double ratedb) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues valuesER = new ContentValues();
valuesER.put(KEY_ER_ID, id);
valuesER.put(KEY_ER_TENOR, tenor);
valuesER.put(KEY_ER_KO, ko);
valuesER.put(KEY_ER_CO, co);
valuesER.put(KEY_ER_RATE, rate);
valuesER.put(KEY_ER_RATE_DB, ratedb);
db.insert(TABLE_EFFECTIVE_RATE, null, valuesER);
}
UPDATE: logcat:
04-23 16:44:14.044: E/AndroidRuntime(6752): FATAL EXCEPTION: main
04-23 16:44:14.044: E/AndroidRuntime(6752): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{http://ift.tt/1HvhjPo}: java.lang.NullPointerException
04-23 16:44:14.044: E/AndroidRuntime(6752): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1544)
04-23 16:44:14.044: E/AndroidRuntime(6752): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
04-23 16:44:14.044: E/AndroidRuntime(6752): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-23 16:44:14.044: E/AndroidRuntime(6752): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
04-23 16:44:14.044: E/AndroidRuntime(6752): at android.os.Handler.dispatchMessage(Handler.java:99)
04-23 16:44:14.044: E/AndroidRuntime(6752): at android.os.Looper.loop(Looper.java:123)
04-23 16:44:14.044: E/AndroidRuntime(6752): at android.app.ActivityThread.main(ActivityThread.java:3647)
04-23 16:44:14.044: E/AndroidRuntime(6752): at java.lang.reflect.Method.invokeNative(Native Method)
04-23 16:44:14.044: E/AndroidRuntime(6752): at java.lang.reflect.Method.invoke(Method.java:507)
04-23 16:44:14.044: E/AndroidRuntime(6752): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-23 16:44:14.044: E/AndroidRuntime(6752): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-23 16:44:14.044: E/AndroidRuntime(6752): at dalvik.system.NativeStart.main(Native Method)
04-23 16:44:14.044: E/AndroidRuntime(6752): Caused by: java.lang.NullPointerException
04-23 16:44:14.044: E/AndroidRuntime(6752): at http://www.mandiritunasfinancemobile.co.id.a1s2d3f4g5h6j7k8l9.p0.comcom.MainActivity.<init>(MainActivity.java:55)
04-23 16:44:14.044: E/AndroidRuntime(6752): at java.lang.Class.newInstanceImpl(Native Method)
04-23 16:44:14.044: E/AndroidRuntime(6752): at java.lang.Class.newInstance(Class.java:1409)
04-23 16:44:14.044: E/AndroidRuntime(6752): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
04-23 16:44:14.044: E/AndroidRuntime(6752): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1536)
04-23 16:44:14.044: E/AndroidRuntime(6752): ... 11 more
i declare the database inside the mainclass which will doing the parsing and storing with DatabaseMaster2 db; database master is the name of database class which extends sqliteopenhelper
i put log to make sure the parsing is successfully done. And it is. Any suggestion about storing data into a database?
Aucun commentaire:
Enregistrer un commentaire