samedi 23 janvier 2016

i need to save json data in sqlite

Hi i need to save json data in sqlite. Table is creating but no data is inserted into sqlite. I need to store json array in sqlite. I have created pojo class also for calling object. Whats is the problem.

Json parsing and storing data in sqlite.

/**
     * Async task class to get json by making HTTP call
     * */
    private class GetDetails extends AsyncTask<Void, Void, Void> {

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            // Showing progress dialog
            pDialog = new ProgressDialog(MainActivity.this);
            pDialog.setMessage("Please wait...");
            pDialog.setCancelable(false);
            pDialog.show();

        }

    @SuppressLint("NewApi")
    @Override
    protected Void doInBackground(Void... arg0) {
        // Creating service handler class instance
        ServiceHandler sh = new ServiceHandler();

        // Create an array to populate the spinner 
        branchlist = new ArrayList<String>();

        // Making a request to url and getting response
        String jsonStr = sh.makeServiceCall(url, ServiceHandler.GET);

        Log.d("Response: ", "> " + jsonStr);

//        System.out.println("response"+jsonStr);

        if (jsonStr != null) {

            try {
                 // jsonString is a string variable that holds the JSON 
                JSONArray itemArray=new JSONArray(jsonStr);
                for (int i = 0; i < itemArray.length(); i++) {
                   value=itemArray.getString(i);
                    Log.e("json", i+"="+value);

                    dbhelper=new  DataBaseHepler(getApplicationContext());
                    sqLiteDatabase=dbhelper.getWritableDatabase();
                    dbhelper.addinnformation(value,sqLiteDatabase);
                    dbhelper.close();

                    branchlist.add(itemArray.getString(i));

                }
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        } else {
            Log.e("ServiceHandler", "Couldn't get any data from the url");
        }

        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        // Dismiss the progress dialog
        if (pDialog.isShowing())
            pDialog.dismiss();
        /**
         * Updating parsed JSON data into ListView
         * */

        ArrayAdapter<String> stringadapter = new ArrayAdapter<String>(MainActivity.this,
                android.R.layout.simple_spinner_dropdown_item,
                branchlist);

        spinner1.setAdapter(stringadapter);

//      spinner1
//      .setAdapter(new ArrayAdapter<String>(MainActivity.this,
//              android.R.layout.simple_spinner_dropdown_item,
//              branchlist));
    }

}

sqlite code:

extends SQLiteOpenHelper{

    private static final int database_VERSION = 1;

    private static final String database_NAME = "cxapp.db";

    private static final String table_branchs = "branchs";

    private static final String branch_name = "name";

    public DataBaseHepler(Context context){

          super(context,database_NAME,null,database_VERSION);
            Log.e("DATABASE OPERATION", "Database created / opened.....");

        }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        String CREATE_BOOK_TABLE = "CREATE TABLE branch ( " + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + "branchs TEXT)";
        db.execSQL(CREATE_BOOK_TABLE);
    }

     public void addinnformation(String branch,SQLiteDatabase db)
     {
         ContentValues contentValue = new ContentValues();

         contentValue.put(DBAdapter.NewBranchInfo.USER_BRANCH,branch);
     }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        db.execSQL("DROP TABLE IF EXISTS branch");
        this.onCreate(db);

    }

}


        @SuppressLint("NewApi")
        @Override
        protected Void doInBackground(Void... arg0) {
            // Creating service handler class instance
            ServiceHandler sh = new ServiceHandler();

            // Create an array to populate the spinner 
            branchlist = new ArrayList<String>();

            // Making a request to url and getting response
            String jsonStr = sh.makeServiceCall(url, ServiceHandler.GET);

            Log.d("Response: ", "> " + jsonStr);

    //        System.out.println("response"+jsonStr);

            if (jsonStr != null) {

                try {
                     // jsonString is a string variable that holds the JSON 
                    JSONArray itemArray=new JSONArray(jsonStr);
                    for (int i = 0; i < itemArray.length(); i++) {
                       value=itemArray.getString(i);
                        Log.e("json", i+"="+value);

                        dbhelper=new  DataBaseHepler(getApplicationContext());
                        sqLiteDatabase=dbhelper.getWritableDatabase();
                        dbhelper.addinnformation(value,sqLiteDatabase);
                        dbhelper.close();

                        branchlist.add(itemArray.getString(i));

                    }
                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            } else {
                Log.e("ServiceHandler", "Couldn't get any data from the url");
            }

            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);
            // Dismiss the progress dialog
            if (pDialog.isShowing())
                pDialog.dismiss();
            /**
             * Updating parsed JSON data into ListView
             * */

            ArrayAdapter<String> stringadapter = new ArrayAdapter<String>(MainActivity.this,
                    android.R.layout.simple_spinner_dropdown_item,
                    branchlist);

            spinner1.setAdapter(stringadapter);

    //      spinner1
    //      .setAdapter(new ArrayAdapter<String>(MainActivity.this,
    //              android.R.layout.simple_spinner_dropdown_item,
    //              branchlist));
        }

}

Aucun commentaire:

Enregistrer un commentaire