Merhaba arkadaşlar bugunkü yazımda sizlere android de veri tabanı uygulamasından bahsedeceğiz. Bunun için androidde en populer veri tabanından bir tanesi olan sqlite ile başlayacağız.

Bunun için ilk önce bir tane db helper sınıfı oluşturuyoruz

public class DBHelper extends SQLiteOpenHelper {

   public static final String DATABASE_NAME = “MyDBName.db”;
   public static final String CONTACTS_TABLE_NAME = “contacts”;
   public static final String CONTACTS_COLUMN_ID = “id”;
   public static final String CONTACTS_COLUMN_NAME = “name”;
   public static final String CONTACTS_COLUMN_EMAIL = “email”;
   public static final String CONTACTS_COLUMN_STREET = “street”;
   public static final String CONTACTS_COLUMN_CITY = “place”;
   public static final String CONTACTS_COLUMN_PHONE = “phone”;
   private HashMap hp;

   public DBHelper(Context context)
   {
      super(context, DATABASE_NAME , null, 1);
   }
//database oluşturur
   @Override
   public void onCreate(SQLiteDatabase db) {
      // TODO Auto-generated method stub
      db.execSQL(
      “create table contacts ” +
      “(id integer primary key, name text,phone text,email text, street text,place text)”
      );
   }

   @Override
   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
      // TODO Auto-generated method stub
      db.execSQL(“DROP TABLE IF EXISTS contacts”);
      onCreate(db);
   }
//veri eklememizi sağlar
   public boolean insertContact  (String name, String phone, String email, String street,String place)
   {
      SQLiteDatabase db = this.getWritableDatabase();
      ContentValues contentValues = new ContentValues();
      contentValues.put(“name”, name);
      contentValues.put(“phone”, phone);
      contentValues.put(“email”, email);
      contentValues.put(“street”, street);
      contentValues.put(“place”, place);
      db.insert(“contacts”, null, contentValues);
      return true;
   }
   //id ye gare veri getirir
   public Cursor getData(int id){
      SQLiteDatabase db = this.getReadableDatabase();
      Cursor res =  db.rawQuery( “select * from contacts where id=”+id+””, null );
      return res;
   }
 
   public int numberOfRows(){
      SQLiteDatabase db = this.getReadableDatabase();
      int numRows = (int) DatabaseUtils.queryNumEntries(db, CONTACTS_TABLE_NAME);
      return numRows;
   }
 
   public boolean updateContact (Integer id, String name, String phone, String email, String street,String place)
   {
      SQLiteDatabase db = this.getWritableDatabase();
      ContentValues contentValues = new ContentValues();
      contentValues.put(“name”, name);
      contentValues.put(“phone”, phone);
      contentValues.put(“email”, email);
      contentValues.put(“street”, street);
      contentValues.put(“place”, place);
      db.update(“contacts”, contentValues, “id = ? “, new String[] { Integer.toString(id) } );
      return true;
   }
//verileri siler
   public Integer deleteContact (Integer id)
   {
      SQLiteDatabase db = this.getWritableDatabase();
      return db.delete(“contacts”,
      “id = ? “,
      new String[] { Integer.toString(id) });
   }
   //Bütün verileri getirir
   public ArrayList<String> getAllCotacts()
   {
      ArrayList<String> array_list = new ArrayList<String>();
     
      //hp = new HashMap();
      SQLiteDatabase db = this.getReadableDatabase();
      Cursor res =  db.rawQuery( “select * from contacts”, null );
      res.moveToFirst();
     
      while(res.isAfterLast() == false){
         array_list.add(res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME)));
         res.moveToNext();
      }
   return array_list;
   }
}

Sonrasında ise Main Activity sınıfını oluşturuyoruz

public class MainActivity extends ActionBarActivity {
   public final static String EXTRA_MESSAGE = “MESSAGE”;
   private ListView obj;
   DBHelper mydb;
 
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
     
      mydb = new DBHelper(this);
      ArrayList array_list = mydb.getAllCotacts();
      ArrayAdapter arrayAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1, array_list);
     
      obj = (ListView)findViewById(R.id.listView1);
      obj.setAdapter(arrayAdapter);
      obj.setOnItemClickListener(new OnItemClickListener(){
         @Override
         public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
            // TODO Auto-generated method stub
            int id_To_Search = arg2 + 1;
           
            Bundle dataBundle = new Bundle();
            dataBundle.putInt(“id”, id_To_Search);
           
            Intent intent = new Intent(getApplicationContext(),DisplayContact.class);
           
            intent.putExtras(dataBundle);
            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.menu_main, menu);
      return true;
   }
 
   @Override
   public boolean onOptionsItemSelected(MenuItem item){
      super.onOptionsItemSelected(item);
     
      switch(item.getItemId())
      {
         case R.id.item1:Bundle dataBundle = new Bundle();
         dataBundle.putInt(“id”, 0);
       
         Intent intent = new Intent(getApplicationContext(),DisplayContact.class);
         intent.putExtras(dataBundle);
       
         startActivity(intent);
         return true;
         default:
         return super.onOptionsItemSelected(item);
      }
   }
 
   public boolean onKeyDown(int keycode, KeyEvent event) {
      if (keycode == KeyEvent.KEYCODE_BACK) {
         moveTaskToBack(true);
      }
      return super.onKeyDown(keycode, event);
   }
}

En son ise Display sınıfını oluşturalım

public class DisplayContact extends Activity {
   int from_Where_I_Am_Coming = 0;
   private DBHelper mydb ;
 
   TextView name ;
   TextView phone;
   TextView email;
   TextView street;
   TextView place;
   int id_To_Update = 0;
 
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_display_contact);
      name = (TextView) findViewById(R.id.editTextName);
      phone = (TextView) findViewById(R.id.editTextPhone);
      email = (TextView) findViewById(R.id.editTextStreet);
      street = (TextView) findViewById(R.id.editTextEmail);
      place = (TextView) findViewById(R.id.editTextCity);

      mydb = new DBHelper(this);

      Bundle extras = getIntent().getExtras();
      if(extras !=null)
      {
         int Value = extras.getInt(“id”);
       
         if(Value>0){
            //means this is the view part not the add contact part.
            Cursor rs = mydb.getData(Value);
            id_To_Update = Value;
            rs.moveToFirst();
            //databaseden verileri okuyoruz
            String nam = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_NAME));
            String phon = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_PHONE));
            String emai = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_EMAIL));
            String stree = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_STREET));
            String plac = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_CITY));
           
            if (!rs.isClosed())
            {
               rs.close();
            }
            Button b = (Button)findViewById(R.id.button1);
            b.setVisibility(View.INVISIBLE);

            name.setText((CharSequence)nam);
            name.setFocusable(false);
            name.setClickable(false);

            phone.setText((CharSequence)phon);
            phone.setFocusable(false);
            phone.setClickable(false);

            email.setText((CharSequence)emai);
            email.setFocusable(false);
            email.setClickable(false);

            street.setText((CharSequence)stree);
            street.setFocusable(false);
            street.setClickable(false);

            place.setText((CharSequence)plac);
            place.setFocusable(false);
            place.setClickable(false);
         }
      }
   }
   //menu oluşurken yapılacak işlemler
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      Bundle extras = getIntent().getExtras();
     
      if(extras !=null)
      {
         int Value = extras.getInt(“id”);
         if(Value>0){
            getMenuInflater().inflate(R.menu.display_contact, menu);
         }
       
         else{
            getMenuInflater().inflate(R.menu.main, menu);
         }
      }
      return true;
   }

   public boolean onOptionsItemSelected(MenuItem item)
   {
      super.onOptionsItemSelected(item);
      switch(item.getItemId())
   {
      case R.id.Edit_Contact:
      Button b = (Button)findViewById(R.id.button1);
      b.setVisibility(View.VISIBLE);
      name.setEnabled(true);
      name.setFocusableInTouchMode(true);
      name.setClickable(true);

      phone.setEnabled(true);
      phone.setFocusableInTouchMode(true);
      phone.setClickable(true);

      email.setEnabled(true);
      email.setFocusableInTouchMode(true);
      email.setClickable(true);

      street.setEnabled(true);
      street.setFocusableInTouchMode(true);
      street.setClickable(true);

      place.setEnabled(true);
      place.setFocusableInTouchMode(true);
      place.setClickable(true);

      return true;
      case R.id.Delete_Contact:

      AlertDialog.Builder builder = new AlertDialog.Builder(this);
      builder.setMessage(R.string.deleteContact)
      .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int id) {
            mydb.deleteContact(id_To_Update);
            Toast.makeText(getApplicationContext(), “Deleted Successfully”, Toast.LENGTH_SHORT).show();
            Intent intent = new Intent(getApplicationContext(),MainActivity.class);
            startActivity(intent);
         }
      })
      .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int id) {
            // User cancelled the dialog
         }
      });
      AlertDialog d = builder.create();
      d.setTitle(“Are you sure”);
      d.show();

      return true;
      default:
      return super.onOptionsItemSelected(item);

      }
   }

   public void run(View view)
   {
      Bundle extras = getIntent().getExtras();
      if(extras !=null)
      {
         int Value = extras.getInt(“id”);
         if(Value>0){
            if(mydb.updateContact(id_To_Update,name.getText().toString(), phone.getText().toString(), email.getText().toString(), street.getText().toString(), place.getText().toString())){
               Toast.makeText(getApplicationContext(), “Updated”, Toast.LENGTH_SHORT).show();
               Intent intent = new Intent(getApplicationContext(),MainActivity.class);
               startActivity(intent);
            }
            else{
               Toast.makeText(getApplicationContext(), “not Updated”, Toast.LENGTH_SHORT).show();
            }
         }
         else{
            if(mydb.insertContact(name.getText().toString(), phone.getText().toString(), email.getText().toString(), street.getText().toString(), place.getText().toString())){
               Toast.makeText(getApplicationContext(), “done”, Toast.LENGTH_SHORT).show();
            }
           
            else{
               Toast.makeText(getApplicationContext(), “not done”, Toast.LENGTH_SHORT).show();
            }
            Intent intent = new Intent(getApplicationContext(),MainActivity.class);
            startActivity(intent);
         }
      }
   }
}

Bu kodlar tutorialspoint den alınmıl bir projedir…
(http://www.tutorialspoint.com/android/android_sqlite_database.htm
Ramazan CESUR…