{"id":10299,"date":"2019-07-04T11:00:47","date_gmt":"2019-07-04T11:00:47","guid":{"rendered":"https:\/\/ittutorial.org\/?p=10299"},"modified":"2019-07-05T14:46:08","modified_gmt":"2019-07-05T14:46:08","slug":"android-programlama-43-sqlite-dbhelper","status":"publish","type":"post","link":"https:\/\/ittutorial.org\/android-programlama-43-sqlite-dbhelper\/","title":{"rendered":"Android Programlama -43 SQLite DbHelper"},"content":{"rendered":"<p>Merhaba arkada\u015flar bu g\u00fcn ki makalemde SQLite database&#8217;ine giri\u015f yapaca\u011f\u0131z.<\/p>\n<p>\u00f6nceki makalelerime <a href=\"https:\/\/ittutorial.org\/android-programlama-dersleri\/\">buradan<\/a> ula\u015fabilirsiniz.<\/p>\n<p>SQLite database&#8217;i\u00a0 kullan\u0131c\u0131n\u0131n kendi local&#8217; inde\u00a0 verilerin depolanmas\u0131n\u0131 sa\u011flar. Daha \u00f6nceki makalelerde g\u00f6rd\u00fc\u011f\u00fcm\u00fcz firebase database&#8217;i verileri cloudda saklayan bir database&#8217;di. Firebase de depolanan verilere b\u00fct\u00fcn kullan\u0131c\u0131lar eri\u015febilir ve uygulama sahipleri kullan\u0131c\u0131n\u0131n girmi\u015f oldu\u011fu verileri g\u00f6r\u00fcnt\u00fcleyip kontrol edebilir. SQLite da ise veriler kullan\u0131c\u0131 localinde depolan\u0131r ve uzaktan m\u00fcdahale s\u00f6z konusu de\u011fildir. Uygulama verileri depolamak i\u00e7in telefonun haf\u0131zas\u0131n\u0131 kullan\u0131r.<\/p>\n<p>Uygulama i\u00e7erisinde SQLite&#8217; \u0131 kullanabilmek i\u00e7in 3 tane temel class&#8217;lar\u0131 olu\u015fturmak gerekmektedir. Bunlar;<\/p>\n<ol>\n<li>DbHelper.java<\/li>\n<li>Contract.java<\/li>\n<li>Provider.java<\/li>\n<\/ol>\n<p>Bu classlar\u0131 do\u011fru bir \u015fekilde tan\u0131mlad\u0131ktan sonra insert,delete,update gibi i\u015flemleri \u00e7ok kolay ve sa\u011fl\u0131kl\u0131 bir \u015fekilde yapabilirsiniz. \u00d6rnek DbHelper class\u0131 a\u015fa\u011f\u0131daki gibidir.<\/p>\n<pre>package com.example.user.finalyproject.DataBase;\r\n\r\nimport android.content.Context;\r\nimport android.database.sqlite.SQLiteDatabase;\r\nimport android.database.sqlite.SQLiteOpenHelper;\r\n\r\npublic class DbHelper extends SQLiteOpenHelper {\r\n\r\npublic static final int DATABASE_VERSION = 1;\r\nprivate static final String DATABASE_NAME = \"store.db\";\r\n\r\n\r\npublic DbHelper(Context context) {\r\nsuper(context, DATABASE_NAME, null, DATABASE_VERSION);\r\n}\r\n\r\n@Override\r\npublic void onCreate(SQLiteDatabase sqLiteDatabase) {\r\nString SQL_CREATE_PRODUCTS_TABLE = \"CREATE TABLE \" + ProductContract.ProductEntry.TABLE_NAME + \" (\"\r\n+ ProductContract.ProductEntry._ID + \" INTEGER PRIMARY KEY AUTOINCREMENT, \"\r\n+ ProductContract.ProductEntry.COLUMN_PRODUCT_NAME + \" INTEGER NOT NULL, \"\r\n+ ProductContract.ProductEntry.COLUMN_PRODUCT_PRICE + \" TEXT NOT NULL, \"\r\n+ ProductContract.ProductEntry.COLUMN_PRODUCT_QUANTITY + \" TEXT , \"\r\n+ ProductContract.ProductEntry.COLUMN_SUPPLIER_NAME + \" TEXT, \"\r\n+ ProductContract.ProductEntry.COLUMN_PRODUCT_IMAGE + \" TEXT ,\"\r\n+ ProductContract.ProductEntry.COLUMN_SUPPLIER_EMAIL + \" INTEGER, \"\r\n+ ProductContract.ProductEntry.COLUMN_SUPPLIER_PHONE + \" TEXT);\";\r\nsqLiteDatabase.execSQL(SQL_CREATE_PRODUCTS_TABLE);\r\n}\r\n\r\n@Override\r\npublic void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {\r\n\r\n}\r\n}<\/pre>\n<p>Bu class da kullanaca\u011f\u0131m\u0131z tablonun create scriptini olu\u015fturuyoruz. Tabloda olmas\u0131n\u0131 istedi\u011fimiz kolonlar\u0131n isimlerini tek tek yaz\u0131p o kolonda hangi veri tipide veri saklanmas\u0131n\u0131 istiyorsak\u00a0 onu belirtiyoruz. Ayr\u0131ca kolonlar null ge\u00e7ilmeyecekse, default bir de\u011fere sahipse gibi \u00f6zellikleri de bu class da tan\u0131ml\u0131yoruz. Primary key olan kolonu\u00a0\u00a0PRIMARY KEY s\u00f6z dizimi ile olu\u015fturup otomatik olarak de\u011ferinin artmas\u0131n\u0131 istiyorsak\u00a0AUTOINCREMENT s\u00f6z dizimi nide ekliyoruz koda.<\/p>\n<p>Bir makalenin daha sonuna geldik, esenle kal\u0131n..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Merhaba arkada\u015flar bu g\u00fcn ki makalemde SQLite database&#8217;ine giri\u015f yapaca\u011f\u0131z. \u00f6nceki makalelerime buradan ula\u015fabilirsiniz. SQLite database&#8217;i\u00a0 kullan\u0131c\u0131n\u0131n kendi local&#8217; inde\u00a0 verilerin depolanmas\u0131n\u0131 sa\u011flar. Daha \u00f6nceki makalelerde g\u00f6rd\u00fc\u011f\u00fcm\u00fcz firebase database&#8217;i verileri cloudda saklayan bir database&#8217;di. Firebase de depolanan verilere b\u00fct\u00fcn kullan\u0131c\u0131lar eri\u015febilir ve uygulama sahipleri kullan\u0131c\u0131n\u0131n girmi\u015f oldu\u011fu verileri g\u00f6r\u00fcnt\u00fcleyip kontrol edebilir. SQLite da ise veriler &hellip;<\/p>\n","protected":false},"author":44,"featured_media":10302,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[3953,3806,3651,3657,3857,3858,3915,3854,3855,3849,4158,3793,3572,4937,5237,5238,3853,3565,3575,4939,4124,3653,3852,4131,4198,4200,4199],"class_list":["post-10299","post","type-post","status-publish","format-standard","has-post-thumbnail","","category-android","tag-adim-adim-android-programlama","tag-android-activity","tag-android-activity-class-ornekleri","tag-android-activity-yasam-donguleri-ornek","tag-android-adapter","tag-android-adapter-kullanimi","tag-android-adapter-ozellestirme","tag-android-arraylist","tag-android-arraylist-ornek-kodlama","tag-android-baslangic-duzey-konu-anlatimi","tag-android-buttomnavigation-nedir","tag-android-de-giris","tag-android-de-oncreate-fonksiyon-kullanimi","tag-android-floatingactionmenu","tag-android-graph","tag-android-piechart-graph","tag-android-studio-arraylist-kullanimi","tag-android-studio-buton-kodlama","tag-android-studio-degisken-tanimlama","tag-android-studio-floatingactionmenu","tag-android-studio-fragment-kullanimi","tag-android-studio-java-programlama","tag-android-studio-listview-ornek-kod","tag-android-studio-ornek-kodlama","tag-android-tablayout-kullanimi","tag-android-tablayout-ornek-kod","tag-android-tablayout-ornek-uygulama"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/07\/sqlite-and-Android.jpg","jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/posts\/10299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/users\/44"}],"replies":[{"embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/comments?post=10299"}],"version-history":[{"count":1,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/posts\/10299\/revisions"}],"predecessor-version":[{"id":10303,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/posts\/10299\/revisions\/10303"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/media\/10302"}],"wp:attachment":[{"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/media?parent=10299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/categories?post=10299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/tags?post=10299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}