title: show data from sqlite to listview using cursor adapter
body: <p>i am making a application where data is being saved in the database. but i am lacking in displaying the data in the list view using cursor adapter. don't know what code should be written. please check.</p>
  
  <p>here is my code:
  MainActivity.java</p>
  
  <pre><code>package com.example.employeedetailsnew;
  
  import java.text.SimpleDateFormat;
  import java.util.Calendar;
  
  import android.app.Activity;
  import android.app.ActionBar;
  import android.app.AlertDialog;
  import android.app.Fragment;
  import android.app.ProgressDialog;
  import android.content.DialogInterface;
  import android.content.Intent;
  import android.os.Bundle;
  import android.view.LayoutInflater;
  import android.view.Menu;
  import android.view.MenuItem;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.*;
  import android.os.Build;
  
  public class MainActivity extends Activity {
  
  
          private EditText nme = null;
          private EditText num = null;
          private EmployeeDatabase empObj;
  
          @Override
          public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              nme = (EditText) findViewById(R.id.name);
              num = (EditText) findViewById(R.id.ageemp);
              Button btnShowData = (Button) findViewById(R.id.button1);
  
                btnShowData.setOnClickListener(new Button.OnClickListener() {
  
                @Override 
                public void onClick(View v) {
  
                    onSaveClick();
  
  
                } });
  
  
  
          }
  
          public void onButtonClicked(View view) {
                  Calendar c = Calendar.getInstance();
                  SimpleDateFormat sdf = new SimpleDateFormat("dd:MMMM:yyyy HH:mm:ss a");
                  String strDate = sdf.format(c.getTime());
                  String varName = nme.getText().toString();
                  String varAge = num.getText().toString();
  
                  empObj = new EmployeeDatabase(getApplicationContext());
                  empObj.insert(varName,varAge,strDate);
  
                  AlertDialog alertDialog = null;
                  alertDialog = new AlertDialog.Builder(MainActivity.this).create();
                  alertDialog.setTitle("Message");
                  alertDialog.setMessage("You have been Registered");
                  alertDialog.setCancelable(true);
                  alertDialog.show();
                  nme.setText("");
                  num.setText("");
  
  
  
          }
  
          public void onSaveClick(){
  
              Intent intent = new Intent(this, ShowData.class);
              startActivity(intent);
  
          }
  
          @Override
          public boolean onCreateOptionsMenu(Menu menu) {
  
              // Inflate the menu; this adds items to the action bar if it is present.
              getMenuInflater().inflate(R.menu.main, menu);
              return true;
          }
  
          @Override
          public boolean onOptionsItemSelected(MenuItem item) {
              // Handle action bar item clicks here. The action bar will
              // automatically handle clicks on the Home/Up button, so long
              // as you specify a parent activity in AndroidManifest.xml.
              int id = item.getItemId();
              if (id == R.id.action_settings) {
                  return true;
              }
              return super.onOptionsItemSelected(item);
          }
  
      }
  </code></pre>
  
  <p>EmployeeDatabse.java</p>
  
  <pre><code>package com.example.employeedetailsnew;
  
  import android.content.ContentValues;
  import android.content.Context;
  import android.database.Cursor;
  import android.database.sqlite.SQLiteDatabase;
  import android.database.sqlite.SQLiteOpenHelper;
  
  public class EmployeeDatabase extends SQLiteOpenHelper{
  
      EmployeeDatabase (Context context) {
      super(context, "empdb.db", null,3);
  
      }
  
  
  
  @Override
  public void onCreate(SQLiteDatabase database)
  {
  
      // create your table here
      database.execSQL(
              "create table employeedetailnew" +
      "(name TEXT , age TEXT, time TEXT)"
                      );
  
  
  
  }
  @Override
  public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion)
  {
      database.execSQL("DROP TABLE IF EXISTS EMPLOYEEDETAILNEW");
      onCreate(database);
  // handle database schema upgrades in here  
  }
  
  public Cursor getDetails()
  {
      SQLiteDatabase db = getReadableDatabase();
      return db.rawQuery("select name, age from employeedetailnew", null);
  }
  public void insert(String name, String age, String time)
  {
      long rowId = 0;
      try{
      SQLiteDatabase db = getWritableDatabase();
      ContentValues contentValues = new ContentValues(); 
      contentValues.put("name", name);
      contentValues.put("age", age);
      contentValues.put("time", time);
      rowId = db.insert("employeedetailnew", null, contentValues);
  
  
      }catch(Exception e){
          e.printStackTrace();
      }
      finally{
          System.out.println("The rowId is "+rowId);
          System.out.println("Name is "+name);
          System.out.println("Age is "+age);
          System.out.println("Time is "+time);
      }
  
  
      // insert into database here
  }
  
  public boolean deleteTitle(String name) 
  {
      // incomplete delete code..:(
      SQLiteDatabase db = getWritableDatabase();
      return db.delete("employeedetailnew", name + "=" + name, null) &gt; 0;
  }
  }
  </code></pre>
  
  <p>EmployeeDetailAdapter.java</p>
  
  <pre><code>package com.example.employeedetailsnew;
  
  
  
  import java.util.ArrayList;
  
  import android.content.Context;
  import android.database.Cursor;
  import android.support.v4.widget.CursorAdapter;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.BaseAdapter;
  import android.widget.TextView;
  
  public class EmployeeDetailAdapter extends CursorAdapter
  
  {
  
  
      public EmployeeDetailAdapter(Context context, Cursor c) {
          super(context, c);
          // TODO Auto-generated constructor stub
      }
  
      @Override
      public int getCount() {
          // TODO Auto-generated method stub
          return 0;
      }
  
      @Override
      public Object getItem(int position) {
          // TODO Auto-generated method stub
          return null;
      }
  
      @Override
      public long getItemId(int position) {
          // TODO Auto-generated method stub
          return 0;
      }
  
      @Override
      public View getView(int index, View view, ViewGroup parent) {
          // TODO Auto-generated method stub
          if (view == null)
          {
              LayoutInflater inflater = LayoutInflater.from(parent.getContext());
              view = inflater.inflate(R.layout.shows_view, parent, false);
          }
  
          EmployeeOther empDtl = times.get(index);
  
          TextView nameTextView = (TextView) view.findViewById(R.id.name1);
          nameTextView.setText(empDtl.getName());
  
  
          TextView ageTextView = (TextView) view.findViewById(R.id.age2);
          ageTextView.setText(empDtl.getAge());
  
  
          TextView timeTextView = (TextView) view.findViewById(R.id.time3);
          timeTextView.setText(empDtl.getTime());
          return view;
      }
  
      @Override
      public void bindView(View view, Context context, Cursor cursor) {
          // TODO Auto-generated method stub
          TextView nameTextView = (TextView) view.findViewById(R.id.name1);
          nameTextView.setText(cursor.getString(cursor.getColumnIndex("name")));
  
          TextView ageTextView = (TextView) view.findViewById(R.id.name1);
          ageTextView.setText(cursor.getString(cursor.getColumnIndex("age")));
  
          TextView timeTextView = (TextView) view.findViewById(R.id.name1);
          timeTextView.setText(cursor.getString(cursor.getColumnIndex("time")));
      }
  
      @Override
      public View newView(Context context, Cursor cursor, ViewGroup parent) {
          // TODO Auto-generated method stub
           LayoutInflater inflater = LayoutInflater.from (parent.getContext());
           View view = inflater.inflate(R.layout.shows_list, parent, false);
           return view; 
      }
  
  }
  </code></pre>
  
  <p>ShowData.java</p>
  
  <pre><code>package com.example.employeedetailsnew;
  
  import java.util.ArrayList;
  import java.util.HashMap;
  import java.util.List;
  import java.util.Map;
  
  import android.app.ListActivity;
  import android.database.Cursor;
  import android.os.Bundle;
  import android.util.Log;
  import android.widget.ListView;
  import android.widget.SimpleAdapter;
  
  public class ShowData extends ListActivity
  
  
  {
      private EmployeeDatabase databaseHelper;
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
  
  
  
  
          EmployeeDatabase empClick = new EmployeeDatabase(getApplicationContext());
          Cursor cursor = empClick.getDetails();
          if (cursor.moveToFirst()) 
          { 
              do 
              { 
                  String name = cursor.getString(1); 
                  String notes = cursor.getString(2);
                  String time = cursor.getString(3);
                  // something must be written here
                  } while (cursor.moveToNext());
              }
          if (!cursor.isClosed()) 
          { 
              cursor.close();
          }
  
          }
      }
  </code></pre>
  
  <p>activity_main.xml</p>
  
  <pre><code>&lt;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"
  
      android:paddingBottom="@dimen/activity_vertical_margin"
      android:paddingLeft="@dimen/activity_horizontal_margin"
      android:paddingRight="@dimen/activity_horizontal_margin"
      android:paddingTop="@dimen/activity_vertical_margin"
      tools:context="com.example.employeedetailsnew.MainActivity$PlaceholderFragment" &gt;
  
      &lt;EditText
          android:id="@+id/name"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignLeft="@+id/empname"
          android:layout_below="@+id/empname"
          android:layout_marginTop="19dp"
          android:ems="10"
          android:inputType="textPersonName" &gt;
  
          &lt;requestFocus /&gt;
      &lt;/EditText&gt;
  
      &lt;TextView
          android:id="@+id/textView1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignLeft="@+id/sub"
          android:layout_below="@+id/sub"
          android:layout_marginTop="24dp" /&gt;
  
      &lt;TextView
          android:id="@+id/textView2"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignLeft="@+id/textView1"
          android:layout_below="@+id/textView1" /&gt;
  
      &lt;TextView
          android:id="@+id/empname"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_alignParentTop="true"
          android:layout_marginLeft="46dp"
          android:layout_marginTop="27dp"
  
          android:text="@string/name_of_the_employee" /&gt;
  
      &lt;TextView
          android:id="@+id/age"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignLeft="@+id/name"
          android:layout_below="@+id/name"
          android:layout_marginTop="16dp"
  
          android:text="@string/age_of_the_employee" /&gt;
  
      &lt;EditText
          android:id="@+id/ageemp"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignLeft="@+id/age"
          android:layout_below="@+id/age"
          android:ems="10"
          android:inputType="numberSigned" /&gt;
  
      &lt;Button
          android:id="@+id/sub"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_alignRight="@+id/button1"
          android:layout_centerVertical="true"
          android:onClick="onButtonClicked"
          android:text="@string/sub" /&gt;
  
      &lt;Button
          android:id="@+id/button1"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_alignTop="@+id/textView1"
          android:layout_centerHorizontal="true"
          android:text="@string/show_data" /&gt;
  
  
    &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>shows_list.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical" &gt;
  
      &lt;ListView
          android:id="@+id/list_view"
          android:layout_width="match_parent"
          android:layout_height="wrap_content" &gt;
      &lt;/ListView&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>shows_view.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical" &gt;
  
      &lt;TextView
          android:id="@+id/name1"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="TextView" /&gt;
  
      &lt;TextView
          android:id="@+id/age2"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="TextView" /&gt;
  
      &lt;TextView
          android:id="@+id/time3"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="TextView" /&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>