Zapis danych na dysku

blog.lantkowiak.pl 8 lat temu

W dzisiejszym wpisie przedstawię w jaki sposób dokonać zapisu danych na pamięci wewnętrznej urządzenia.

Pierwszym krokiem jaki musimy zrobić to dodanie do pliku AndroidManifest.xml poniższego wpisu:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Jak można wywnioskować, jest to dodanie uprawnień do zapisu danych na pamięci zewnętrznej do naszej aplikacji.

Sam zapis pliku nie jest specjalnie skomplikowany. Stworzyłem prostą metodę, której zadaniem jest skopiowanie wskazane pliku do wskazanego miejsca.

def copyFile(src: File, dst: File) = { try { val inStream = new FileInputStream(src) val outStream = new FileOutputStream(dst) val inChannel = inStream.getChannel val outChannel = outStream.getChannel inChannel.transferTo(0, inChannel.size, outChannel) inStream.close() outStream.close() } catch { case e: Exception => Log.e(FileUtils.getClass.getSimpleName, e.getMessage, e) } }

Dlaczego kopiowanie? W swojej aplikacji zapisuje dwa rodzaje plików:

  • zrobione zdjęcia, które są zapisywane do pliku tymczasowego; właśnie ten plik kopiuje to folderu z dokumentami dla aplikacji
  • pliki wskazane bezpośrednio przez użytkownika; w tym przypadku wskazany plik jest kopiowany do folderu z plikami aplikacji
Idź do oryginalnego materiału