Soru & Cevap

SQLite ile veri kaydedip görüntülememe sorunu?

10.07.2014 - 06:47

Herkese merhabalar.SQLite kullanarak veri tabanı oluşturdum.Bu veri tabanına bilgiler eklemek ve bilgisayarımda bu veritabanını saklamak istiyorum.Projenin büyük bir kısmını yaptım çalıştırdığımda emülatör üzerinden değer girdiğimde veritabanına kayıt yapıp  bu kaydettiğim veriyi SQLite Expert Professional programıyla görebiliyorum.Fakat aynı şeyi projenin .apk uzantılı dosyasını telefonuma atarak yaptığımda SQLite Expert programıyla göremiyorum.Sizce sebebi nedir.Herkese teşekkür ediyorum şimdiden.

70 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-8229-1391300199.jpg
serbezenpost
13.07.2014 - 01:55

Database'i en başta erişebileceğin bir yere koyarsın, mesela şu kod parçası işe yarayabilir:

public class MainActivity extends Activity {
public void CopyDB(InputStream inputStream,
OutputStream outputStream) throws IOException {
//---copy 1K bytes at a time---
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
inputStream.close();
outputStream.close();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String destDir = "/data/data/" + getPackageName() +
"/databases/";
String destPath = destDir + "MyDB";
File f = new File(destPath);
if (!f.exists()) {
//---make sure directory exists---
File directory = new File(destDir);
directory.mkdirs();
//---copy the db from the assets folder into
// the databases folder---
try {
CopyDB(getBaseContext().getAssets().open("mydb"),
new FileOutputStream(destPath));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

 

ya da tüm bilgileri database'den çeken ve gösteren bir adapter oluştur. Kolay gelsin.

picture-1372-1408467635.jpg
ahmtbrk
10.07.2014 - 07:15
Real cihazlarda internal hafizada kurulu uygulamaya erisemezsin. Root yetkisi olmadigi surece cihazda super user olmaniz gerekiyor