2011-12-06 24 views
9

1 saat aradıktan sonra sorunumu çözemedim.Dosyayı dosya klasörüne kopyala

Ben varlıkları klasörüne sdcard bir dosyayı taşımak ve aynı zamanda varlıkları klasöründe varolan dosyanın üzerine yazmak istiyor

(sqlite veritabanı hem dosyada verilerinde sadece küçük bir fark ile aynı isme sahip) ??

+8

Sadece kaldırmak veya çalışma zamanında varlık klasörüne/bir şey ekleyemezsiniz şey yapamaz. – Mudassir

+1

Sunucudan sqlite veritabanını indirmek ve varlık klasörüne kopyalamak istiyorum. –

+0

Bu durumdan nasıl kurtulabilirim? –

cevap

11

, android .apk dosyası davranışı için varlıklarından kopyalayabilir, aktiflere sdcard kopyalamak olamaz bu yüzden sadece okunabilir yazılabilir değildir bu yüzden salt okunur Bu apk dosyasında bulunan dizin yapısı aynıyı izler, Bu nedenle hiç kimse bu dosyaları yazamaz veya çalışma zamanında değişiklik yapabilir, bu nedenle çalışma zamanında /asset folder'da bir değişiklik yapamazsınız. ondan dosyayı okuyabilir (vasıta herhangi internal storage veya /sdcardiçin öğe mevcuttur dosyaları kopyalamak ancak tersi bunu yazmak değil)

Onun .apk dosyaları kurmak tüm dizinlerde geçerlidir. Dokümanlar başı olarak.

+0

üzgünüm aynı yorumu ama çözüme ihtiyacım var :) Veritabanında veritabanı var ve şimdi sunucuda veri tabanını daha sonra sunucuda değiştirmek istiyorum Böylece kullanıcı en son güncellemeyi alabilir. Bunu yapabilir miyim? Kullanıcı bu veritabanını nasıl alacak? - john smith 7 saniye önce –

+0

Bu veritabanını ya dahili depoya ya da sdcard'a yazmanız gerekir (Dahili depolama tercih edilir). – user370305

+0

Bunu nasıl yapacağınızı bana rehberlik edebilir misiniz? –

4

Varlıklar klasörü evet Aslında sdcard

+1

İndirme yok. Ama poster tersini istiyor. – Mudassir

+0

http://stackoverflow.com/questions/4447477/android-how-to-copy-files-in-assets-to-sdcard biliyorum ama benim sorunum farklı. Tam bilgi için –

+1

+1. –

1

Eğer veritabanına erişim değil diğer uygulamalar istiyorsanız, o zaman neler yapabileceğini

  1. web sitesinden veritabanını indirin olduğunu. Uygulama dizininde de geçici bir veritabanı oluşturun.
  2. getDatabasePath() Bu, oluşturduğunuz kukla veritabanının yolunu size şimdi indirdiğiniz ile değiştirecektir.

PS .: Kullanıcı ve hala erişebilir root erişimi olan uygulamalar ve bu senaryo