İyi günler arkadaşlar, şimdi şöyle bir problemim var. Elimde bir "veritabani.db" adlı bir database dosyası var. Bu dosyadaki android_metadata ' daki locale sütunundaki tüm veriyi çekip bir TextViewde Random(rastgele) olarak göstermek istiyorum.

SQLite hakkında pek bir bilgim yok. Bildiğim tek şey SQLiteOpenHelper sınıfı ile ilgili birşeyler olduğu. İnternette de pek anlaşılır bir bilgi bulamadım. Kod için yardımcı olursanız sevinirim.

alt text

soruldu: 02 Ağu '13, 02:19

Checksum's gravatar image

Checksum
855611
cevap kabul oranı: 50%

değiştirildi: 03 Ağu '13, 20:15

rahmanyazgan's gravatar image

rahmanyazgan ♦
4.4k83559


permanent link

cevaplandı: 02 Ağu '13, 13:23

essp's gravatar image

essp
181239
cevap kabul oranı: 30%

openDatabase() metodu işimi gördü, çok teşekkürler.

(03 Ağu '13, 00:34) Checksum Checksum's gravatar image

Bu iş için şuradaki hazır yazılmış sınıfları inceleyip kullanabilirsiniz :
http://goo.gl/g2clSb

Benim tavsiyem android-sqlite-asset-helper.jar dosyasını projeye dahil ederek daha kolay bir şekilde kullanmanız:
http://goo.gl/Zd6hrs

Projeye sağ tıkla Properties-->Java Build Path-->Libraries-->Add External Jars
kısmından jar dosyasını ekle ve aynı penceredeki Order and Export kısmından bu jar dosyasını da işaretle. alt text

Elindeki veritabanı dosyasını veritabani-v1.db olarak isimlendir ve veritabani.zip olacak şekilde ziple.
Sonra projedeki assets klasörüne databases adlı klasör oluştur ve veritabani.zip dosyasını bu klasörün içine kopyala.

Veritabanı için şöyle basit bir sınıf hazırlanabilir:

package paket_adi;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;

public class MyDatabase extends SQLiteAssetHelper {

    private static final String DATABASE_NAME = "veritabani";
    private static final int DATABASE_VERSION = 1;

    public MyDatabase (Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);

        // sd card için
        //super(context, DATABASE_NAME, context.getExternalFilesDir(null).getAbsolutePath(), null, DATABASE_VERSION);
    }
}

Burada dikkat edilecek kısım veritabani-v1 demiştik.
Bu yüzden DATABASE_NAME = "veritabani"; ve DATABASE_VERSION = 1; olacak.

Sonra ilgili aktivite sınıfında şöyle bir kod yeterli olacaktır:

public class MainActivity extends Activity {
private Cursor cursor;
private MyDatabase myDatabase;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    myDatabase = new MyDatabase (getApplicationContext());

    // Veritabanına bir şeyler ekleyeceksen getWritableDatabase i kullan.
        SQLiteDatabase sqLiteDatabase = myDatabase.getReadableDatabase();
}

Bundan sonrası Cursor cursor = sqliteDatabase.query veya rawQuery vs.
kullanarak sorgular oluşturmana kaldı.

permanent link

cevaplandı: 03 Ağu '13, 18:14

rahmanyazgan's gravatar image

rahmanyazgan ♦
4.4k83559
cevap kabul oranı: 26%

değiştirildi: 05 Şub '14, 03:17

permanent link

cevaplandı: 02 Ağu '13, 08:59

java's gravatar image

java
284283339
cevap kabul oranı: 12%

değiştirildi: 02 Ağu '13, 08:59

surada baka bilirsin.tam sizin istediyiniz.turkce kaynak. http://www.mustafasevgi.com/2012/07/android-de-sqlite-kullanmveri.html

(02 Ağu '13, 09:03) java java's gravatar image

Saol ilgilendiğin için. Fakat iki örnektede ilk önce veri tabanı yaratılıp, onun üstünden veri çekiliyor. Bense varolan bir veritabanı üzerinde işlem yapmak istiyorum.

(02 Ağu '13, 10:17) Checksum Checksum's gravatar image

Bu tip sorular içerikte mevcut.

http://www.btsoru.com/questions/7668/androidde-sqlite-bazamdaki-verileri-listviewda-nasl-goruntulerim

Aşağıdaki kodun kaynağı

getContact()
    // Getting single contact
public Contact getContact(int id) {
    SQLiteDatabase db = this.getReadableDatabase();

    Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
            KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
            new String[] { String.valueOf(id) }, null, null, null, null);
    if (cursor != null)
        cursor.moveToFirst();

    Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
            cursor.getString(1), cursor.getString(2));
    // return contact
    return contact;
}

Diğer ilgili soru

Mükerrer olduğu sebebiyle soruyu kapatıyorum.

permanent link

cevaplandı: 02 Ağu '13, 14:28

Turgay%20Can's gravatar image

Turgay Can
8.3k63798
cevap kabul oranı: 18%

Soru aslında farklı olduğundan aktifleştirdim. Bu soruyu farklı kılan, hazır veritabanını kullanmak.

(03 Ağu '13, 17:53) rahmanyazgan ♦ rahmanyazgan's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×819
×39
×10

Soruldu: 02 Ağu '13, 02:19

Görüntüleme: 4,372 kez

Son güncelleme: 05 Şub '14, 03:17

powered by BitNami OSQA