SQLite Veri Tabanını Uygulama İçerisine Aktarma

Ocak 10, 2013



Merhaba arkadaşlar, Android ile uygulama geliştirirken özellikle uygulamamız local’de çalışacak ise en mantıklı veri tabanı sqlite olacaktır ama kod ile veri tabanı kontrolü bir yere kadar işimizi göreceği için ilk önce database manager ile ilgili yazılara bir göz atmanızı öneririm buradan ve buradan, şimdi ise elimizde hazır olarak bulunan bir .sqlite veri tabanını hazırladığımız uygulamanın içerisine nasıl import edeceğimize bakalım.


Eclipse içerisinde uygulamamızı oluşturduktan sonra uygulamamızın klasör’lerinin bulunduğu dizinde assets klasör’ü olması lazım, elimizdeki .sqlite uzantılı veri tabanı dosyasını bu klasör’ün içerisine kopyalayalım.Daha sonra ise uygulamamızın onCreate() method’unda ( veya herhangi istediğimiz başka bir anında ) aşağıdaki kodları yazalım


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

        try {

			this.deleteDatabase("/data/data/"+ getPackageName() +"/databases/DB.sqlite");

			String dbPath = "/data/data/" + getPackageName()
					+ "/databases/DB.sqlite";

			File f = new File(dbPath);
			if (!f.exists()) {

				InputStream in = getAssets().open("DB.sqlite");
				OutputStream out = new FileOutputStream(dbPath);

				byte[] buffer = new byte[1024];
				int length;
				while ((length = in.read(buffer)) > 0) {
					out.write(buffer, 0, length);
				}
				in.close();
				out.close();
			}

		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}



İlk olarak deleteDatabase() ile veri tabanı varsa eski olanını siliyoruz daha sonra assets klasör’üne kopyaladığımız veri tabanını InputStream olarak okuyoruz ve oluşturduğumuz OutputStream ‘e yazdırıyoruz.Örnek kod’da kullanılan ayarlara sizde uyarsanız herhangi bir sıkıntı çıkmadan sqlite veri tabanınızı uygulamanıza import edebilirsiniz.




posted in Android by gokhan

Follow comments via the RSS Feed | Yorum yapın | Trackback URL

Leave Your Comment

*

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org