28/02/2014

Listview Value Stored in Sqlite


activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"  
    tools:context=".MainActivity"
    android:background="#f610">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView1"
        android:textStyle="bold"
        android:textColor="#ffffff"
        android:textSize="15dp"
        />

    <ListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/listView"></ListView>


</RelativeLayout>

MainActivity.Java

package com.example.insertjsonlistdb;

import java.util.ArrayList;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.os.Bundle;

import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {

   String ParsingDta= "{\"Employee\":[{\"id\":\"101\",\"name\":\"gobi\",\"salary\":\"90000\"},{\"id\":\"102\",\"name\":\"hari\",\"salary\":\"700000\"},{\"id\":\"103\",\"name\":\"raj\",\"salary\":\"600000\"}]}";
   TextView textView1;
   ArrayList arrayList;
   String str="";
   ListView listView;
   Database database;
  
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        database=new Database(this);
        this.deleteDatabase("EmployeeDatabase.db");
       
        database.getWritableDatabase();
       
        textView1=(TextView)findViewById(R.id.textView1);
       
        listView=(ListView)findViewById(R.id.listView);
       
        try
        {
          JSONObject jsonObject=new JSONObject(ParsingDta);
          JSONArray jsonArray= jsonObject.getJSONArray("Employee");
          for(int i=0;i<jsonArray.length();i++)
          {
              JSONObject jsonObject1=jsonArray.getJSONObject(i);
              String id=jsonObject1.getString("id").toString();
              String name=jsonObject1.getString("name").toString();
              String salary=jsonObject1.getString("salary").toString();
              database.insertData(id,name,salary);
             str+="\n Employee"+i+ "\n name:"+name+"\n id:"+id+"\n salary:" +salary+"\n";
             System.out.println("\n Employee"+i+ "\n name:"+name+"\n id:"+id+"\n salary:" +salary+"\n");             
           
          }
        }
        catch(JSONException e)
        {
                e.printStackTrace();
        }
       
        arrayList=database.fetchData();
        ArrayAdapter adapter=new ArrayAdapter(getApplicationContext(),android.R.layout.activity_list_item,android.R.id.text1,arrayList);
       listView.setAdapter(adapter);
    }
}



Database.Java

package com.example.insertjsonlistdb;

import java.util.ArrayList;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class Database extends SQLiteOpenHelper {

    public Database(Context context)
    {
        super(context, "EmployeeDatabase.db", null, 1);
    }
    @Override
    public void onCreate(SQLiteDatabase db)
    {
        String tableEmp="create table emp(id text,name text,salary text)";
        db.execSQL(tableEmp);
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    {
    }
    public void insertData(String id,String name, String salary)
    {
        SQLiteDatabase sqLiteDatabase=this.getWritableDatabase();
        ContentValues values=new ContentValues();
        values.put("id",id);
        values.put("name",name);
        values.put("salary",salary);
        sqLiteDatabase.insert("emp",null,values);
    }
    public ArrayList<String> fetchData()
    {
        ArrayList<String>stringArrayList=new ArrayList<String>();
        String fetchdata="select * from emp";
        SQLiteDatabase sqLiteDatabase=this.getReadableDatabase();
        Cursor cursor=sqLiteDatabase.rawQuery(fetchdata, null);
        if(cursor.moveToFirst()){
           do
            {
                stringArrayList.add(cursor.getString(1));
                //stringArrayList.add(cursor.getString(1));
                //stringArrayList.add(cursor.getString(2));
             } while (cursor.moveToNext());
        }
    return stringArrayList;
    }
}