deniz koç
deniz koç
Gaziantep
18/11/2013 tarihinden beri üye
230 GY Puanı
41K GY Sırası
2 Rozet
0 Sertifika
8 Soru Sordu
6 Cevap Verdi
0 Blog Yazısı
0 Etiket Takibi

Hakkında

İş Tecrubesi

Kullanıcıya ait İş tecrübesi bilgisi bulunmamaktadır.

Eğitim Geçmişi

Niğde Üniversitesi
| Aralık 2020 - Aralık 2020

Sertifikalar & Başarılar

GY Sertifikaları (0)
Kullanıcının GY sertifikası bulunmamaktadır.
Diğer Sertifikaları (0)
Kullanıcıya ait sertifika bulunmamaktadır.
Test Sonuçları (0)

Kullanıcıya ait test sonucu bulunmamaktadır.

Dil Becerileri

Son Forum Aktiviteleri

14
Tümünü Gör

veritabanı

https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-401/veritabani-kullanimi

 

bu alıştırmada veritabanı anlatılmış. buna benzer bir uygulama üzerinde çalışıyorum ama veritabanını kendim oluşturup uygulama ile birlikte yüklemek istiyorum. buradaki kodlamalarda veritabanı bu listedeki bilgilerden ibaret farklı verileri ekleyip ve apk paket uygulamasına bu oluşturduğum veri tabanını dahil etmeyi istiyorum.

 

nasıl bir yol seyretmeliyim?

picture-8649-1419588592.jpg
9 yıl 11 ay önce yanıtladın

database'den veri çekme (SQLite veritabanı)

DATABASEHELPER.JAVA KODLAMASI

[code]

public class DatabaseHandler extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_NAME = "turku.sqlite";
    private static final String DATABASE_TABLE = "turkuinfo";


    private static final String KEY_ID = "id";
    private static final String KEY_BASLIK = "baslik";
    private static final String KEY_ICERIK = "icerik";

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_TURKU_TABLE = "CREATE TABLE " + DATABASE_TABLE + "("
                + KEY_ID + " INTEGER PRIMARY KEY," + KEY_BASLIK + " TEXT,"
                + KEY_ICERIK + ")";
        db.execSQL(CREATE_TURKU_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXIST " + DATABASE_TABLE);
    }

    public void addUserInfo(Turku info) {

        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();

        values.put(KEY_BASLIK, info.getBaslik());
        values.put(KEY_ICERIK, info.getIcerik());

        db.insert(DATABASE_TABLE, null, values);
        db.close();
    }

    public Turku getUserInfo(int id) {

        SQLiteDatabase db = this.getReadableDatabase();

         Cursor cursor = db.query(DATABASE_TABLE, new String[] { KEY_ID,
                KEY_BASLIK, KEY_ICERIK }, KEY_ID + "=?",
                new String[] { String.valueOf(id) }, null, null, null, null);

      
        if (cursor != null)
            cursor.moveToFirst();

        Turku info = new Turku(cursor.getInt(0), cursor.getString(1),
                cursor.getString(2));
       return info;    }
}
[/code]

DİĞER KODLAMA

[code]

public class Bildirimler extends Fragment implements OnClickListener {

    TextView bildirim, icerik;
    Button icerikGetir;
    private Veritabani db;
    private DatabaseHandler handler;
    private Turku turku;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.bildirimler_fragment, container,
                false);

        bildirim = (TextView) view.findViewById(R.id.tvBildirim);
        icerik = (TextView) view.findViewById(R.id.tvIcerik);
        icerikGetir = (Button) view.findViewById(R.id.bIcerikGetir);
        icerikGetir.setOnClickListener(this);

        return view;
    }

    @Override
    public void onClick(View v) {
        if (v.getId() == R.id.bIcerikGetir) {
            handler = new DatabaseHandler(getActivity());
            turku = new Turku(1, "Başlık", "Bu bir denemedir.");
            handler.addUserInfo(turku);
            Log.d("TAG", handler.getUserInfo(1).getBaslik());
            icerik.setText(handler.getUserInfo(1).getIcerik());
        }

    }
}

[/code]

burada veri tabanım oluşuyor. butona her tıkladığımda ise  "Bu bir denemedir." isimli veri ekleniyor. ben bu veriyi eklemek istemiyorum. Hazır veri tabanımı oluşturup bu oluşturduğum veri tabanımın sadece belirli id ye sahip sütun içeriğini ekrana yazdırmak istiyorum. Bu içerikler genelde türkü sözü şiir gibi veriler olacak ya da uzun pararaflar.

 

Nasıl yapabilirim?

picture-8649-1419588592.jpg
9 yıl 11 ay önce yanıtladın

fragment ile database

[code]

public class Bildirimler extends Fragment implements OnClickListener {

    TextView bildirim, icerik;
    Button icerikGetir;
    private Veritabani db;
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.bildirimler_fragment, container,
                false);

        bildirim = (TextView) getActivity().findViewById(R.id.tvBildirim);
        icerik = (TextView) getActivity().findViewById(R.id.tvIcerik);

        icerikGetir = (Button) getActivity().findViewById(R.id.bIcerikGetir);
        
        db.baglantiyiAc();

        
        return view;
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        db = new Veritabani(getActivity());
        
    }

    @Override
    public void onClick(View v) {

    }

}[/code]

yukarıda verdiğim kodlama fragment dosyasına veri tabanında veri getirmek istediğim sınıftır. aşağıda ise veritabanı classının kodları mevcut. bir hata var fragmenti açmaya çalıştığımda uygulama kapanıyor.

Veritabani.class kodlaması

[code]

public class Veritabani {

    public static String DB_PATH = "/data/data/paketismigelecek/databases/";

    private static final String DATABASE_ISIM = "database adı.sqlite";
    private static final String DATABASE_TABLO = "turkuicerik";
    private static final int DATABASE_VERSION = 1;

    private final Context contextim;
    private VeritabaniHelper veritabanihelper;
    private SQLiteDatabase veritabanim;


    public static final String KEY_ROW_ID = "_id";
    public static final String KEY_BASLIK = "baslik";
    public static final String KEY_ICERIK = "icerik";

    public Veritabani(Context c) {
        this.contextim = c;
    }

    public Veritabani baglantiyiAc() {

        veritabanihelper = new VeritabaniHelper(contextim);
        veritabanim = veritabanihelper.getWritableDatabase();

        return this;
    }

    public void baglantiyiKapat() {
        veritabanihelper.close();
    }

    private static class VeritabaniHelper extends SQLiteOpenHelper {

        public VeritabaniHelper(Context contextim) {
            super(contextim, DATABASE_ISIM, null, DATABASE_VERSION);

        }

        @Override
        public void onCreate(SQLiteDatabase db) {

            db.execSQL("CREATE TABLE " + DATABASE_TABLO + " (" + KEY_ROW_ID
                    + " INTEGER PRIMARY_KEY AUTOINCREMENT, " + KEY_BASLIK
                    + " TEXT NOT NULL, " + KEY_ICERIK + " TEXT NOT NULL);");
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

            db.execSQL("DROP TABLE IF EXISTS" + DATABASE_TABLO);
            onCreate(db);
        }

    }

    public String turkuSozu() {

        String[] sutunlar = new String[] { KEY_ICERIK };
        Cursor c = veritabanim.query(DATABASE_TABLO, sutunlar, null, null,
                null, null, null);

        String turkuSozu = "";

        return turkuSozu;
    }
}

[/code]

 

yardımcı olabilir misiniz?

 

picture-8649-1419588592.jpg
9 yıl 11 ay önce yanıtladın

raw ya da assets klasöründeki txt dosyaları

raw ya da assets klasörü içine depolayacağım txt uzantılı şiir ya da şarkı sözü gibi dosyalarımı fragment layoutdan gösterebiliyorum. benim sorum ise daha sonra istediğim şiirin ya da şarkı sözünün bulunması için herhangi bir kelime yazıp arama yaptığımda bulabilme ihtimalim olur mu? arama yapabileceğim bir bölüm oluşturmk istersem eğer. veritabanı yönetemini beceremedim. bu yöntem kullanışlı olur mu?

picture-8649-1419588592.jpg
9 yıl 11 ay önce yanıtladın

aynı imza güncelleme

Kullanımda olan uygulamamı güncellemek istiyorum. Güncelleme yaparken pcdeki yedek paket dosyalrımda hata alıyorum. Tamamen farklı bir tasarım ile güncelleme yapmak istiyorum. Buradaki sorum şudur.

Uygulamam kullanan kullanıcılara güncelleme olarak gidecek yani cihazlarındaki uygulamayı kullanmaya devam edecekler sadece güncelleme yapacaklar iptal olmayacak.

Burada paket adının aynı olması gerekli mi? İmza dosyam bende mevcut. Paket adı değişik olan bir uygulamayı aynı eski imza dosyamı kullanarak google play'e yüklemek istersem eski uygulamayı güncellemiş olur muyum? Güncelleme yaparken eski imza dosyamı kullanmak istiyorum ama paket adını nasıl yapmalıyım. Değişik bir paket adı kullanarak aynı imza dosyası ile kullanımdaki uygulamayı güncelleyebilir miyim? Hata çıkar mı?

Hata çıkarsa eski uygulama paket adının aynısı ile yeni bir uygulama mı oluşturmalıyım?

Şu ankı uygulamamın kullanıcı sayısını kaybetmek istemiyorum bir de kullanıcıların zorlanıp eski uygulama - yeni uygulama gibi karışıklığa düşmelerini istemiyorum.

Çok teşekkürler şimdiden.

picture-8649-1419588592.jpg
9 yıl 11 ay önce yanıtladın

database'den veri çekme (SQLite veritabanı)

picture-8649-1419588592.jpg
04 Ocak 2015 tarihinde cevaplandı

cevap bulabilecek birisi yok mu yani?

fragment ile database

picture-8649-1419588592.jpg
02 Ocak 2015 tarihinde cevaplandı

[code]

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

public class DatabaseHandler extends SQLiteOpenHelper {
    // VERİTABANI VERSİYONU
    private static final int DATABASE_VERSION = 1;
    // VERİTABANI ADI
    private static final String DATABASE_NAME = "turku";
    // KULLANACAĞI BİLGİLERİN DEPOLANACAĞI TABLO
    private static final String TABLE_USERINFO = "turkuinfo";
    // TABLE_USERINFO TABLOSUNUN KOLON İSİMLERİ
    private static final String KEY_ID = "id";
    private static final String KEY_BASLIK = "baslik";
    private static final String KEY_ICERIK = "icerik";

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_TURKU_TABLE = "CREATE TABLE " + TABLE_USERINFO + "("
                + KEY_ID + " INTEGER PRIMARY KEY," + KEY_BASLIK + " TEXT,"
                + KEY_ICERIK + ")";
        db.execSQL(CREATE_TURKU_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXIST " + TABLE_USERINFO);
    }

    // SERVİSTEN ALINAN KULLANICI BİLGİLERİ DB'YE KAYDEDEN METOD
    public void addUserInfo(Turku info) {
        // db YAZILABİLİR OLARAK AÇILDI
        SQLiteDatabase db = this.getWritableDatabase();
        // db'ye KAYDEDİLECEK VERİLER CONTENTVALUES'E' ATILDI
        ContentValues values = new ContentValues();
        values.put(KEY_BASLIK, info.getBaslik());
        values.put(KEY_ICERIK, info.getIcerik());
        // insert metodu AÇILARAK contentvalues İÇİNDEKİ veriler db'ye
        // kaydedildi. İŞLEM SONLANDIĞINDA db KAPATILDI.
        db.insert(TABLE_USERINFO, null, values);
        db.close();
    }

    public Turku getUserInfo(int id) {
        // db okunabilir olarak aÇILDI
        SQLiteDatabase db = this.getReadableDatabase();
        // Cursor ile metoda GÖNDERİLEN id ile EŞLEŞEN KULLANACAĞI BULUNANA
        // KADAR ARAMA YAPILDI

        Cursor cursor = db.query(TABLE_USERINFO, new String[] { KEY_ID,
                KEY_BASLIK, KEY_ICERIK }, KEY_ID + "=?",
                new String[] { String.valueOf(id) }, null, null, null, null);
        // Arama İŞLEMİ SONUCUNDA CURSOR NULL DEĞİLSE moveToFirst() ile
        // bulunan ilk satıra gidildi
        if (cursor != null)
            cursor.moveToFirst();

        // cursor'daki değeerler UserInformation satırındaki kullanıcı
        // bilgilerine atıldı.
        Turku info = new Turku(cursor.getInt(0), cursor.getString(1),
                cursor.getString(2));
        return info;

    }

[/code]

 

 

[code]

import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;

public class Bildirimler extends Fragment implements OnClickListener {

    TextView bildirim, icerik;
    Button icerikGetir;
    private Veritabani db;
    private DatabaseHandler handler;
    private Turku turku;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.bildirimler_fragment, container,
                false);

        bildirim = (TextView) view.findViewById(R.id.tvBildirim);
        icerik = (TextView) view.findViewById(R.id.tvIcerik);
        icerikGetir = (Button) view.findViewById(R.id.bIcerikGetir);
        icerikGetir.setOnClickListener(this);
        
        return view;
    }

    @Override
    public void onClick(View v) {
        if(v.getId() == R.id.bIcerikGetir){
            handler = new DatabaseHandler(getActivity());
            turku = new Turku(1, "Başlık", "bu denemedir.");
            handler.addUserInfo(turku);
            Log.d("TAG", handler.getUserInfo(1).getBaslik());
            icerik.setText(handler.getUserInfo(1).getIcerik());
                    
        }

    }

}

 

 

bu iki kodlama ile çalıştırdığımda içerik göster dediğimde veritabanına "bu demedir" şeklinde bir cümleyi veritabanına ekliyor benim yapmak istediğim veri tabanında var olan içeriği göstermek ama burada butona her tıkladığımda "bu dedemedir" şeklinde bir cümle ekleniyor. kendi hazırlayacağım bir veri tabanındaki herhangi bir sütun içeriğinin göserilmesini istiyorum.

ayrıca mozille sqlite manager ile database oluşturuorum. bu oluşturduğum database'i kullanmak istiyorum.

[/code]

 

 

Türkü Sözü repertuvarı uygulaması hakkında

picture-8649-1419588592.jpg
22 Aralık 2014 tarihinde cevaplandı

Bilgilendirme için teşekkürler çalışmalara başlayacağım. Başka düşüncesi olan varsa düşüncelerinizi paylaşmanız açısından mutlu olurum.

browser için geri tuşu

picture-8649-1419588592.jpg
14 Ekim 2014 tarihinde cevaplandı

teşekkür ederim çalıştı.

 

peki browser da geri tuşuna bastığımda sayda kaldığım yere aynen geri dönmesi için ne yapmam gerekli?

Genymotion Kullanımı

http://emrealtunbilek.com/page/6/

 

bu adresteki anlatımlarda çok açık bir şekilde anlatılmıştır.