Kami sedang membangun jaringan rumah. Penyimpanan jaringan. Akses ke penyimpanan eksternal - pengembangan game untuk sistem operasi Android Memilih konfigurasi disk

Dengan peningkatan megapiksel pada kamera foto dan video, masalah penyimpanan konten media rumahan semakin banyak dihadapi oleh sejumlah besar pengguna PC. Tentu saja, hard drive saat ini tidak terlalu mahal, dan volumenya diukur dalam terabyte, tetapi ini tidak cukup.

Ada beberapa opsi untuk menambah kapasitas ruang disk yang tersedia. Jika Anda memiliki komputer “besar” biasa, maka cara termudah adalah memasang hard drive baru ke dalamnya. Cara yang lebih universal adalah dengan menggunakan drive eksternal. Namun, cara yang paling nyaman (dan mahal) adalah memasang drive jaringan di jaringan lokal rumah Anda.

Ini akan memungkinkan Anda untuk memiliki akses konstan dari PC atau pemutar mana pun ke seluruh perpustakaan media, menyimpan salinan cadangan dokumen dan partisi sistem komputer, bertukar file melalui Internet tanpa partisipasi PC, dan banyak lagi. Selain itu, perangkat ini dibedakan berdasarkan ukurannya yang kecil (dibandingkan dengan PC) serta konsumsi daya dan kebisingan yang rendah. Jadi jika Anda tidak memiliki pondok dengan beberapa ruang utilitas, maka drive jaringan yang ringkas bisa menjadi pilihan yang sangat baik. Omong-omong, bahkan ada model untuk hard drive 2,5 inci.

Karena jaringan kita sudah menyertakan router, kita hanya perlu memilih model NAS yang diinginkan dan menghubungkannya ke jaringan. Untuk pengguna pemula yang tidak yakin dengan kebutuhan puluhan terabyte, yang terbaik adalah melihat perangkat dengan satu atau dua hard drive terpasang. Saat ini mereka paling optimal untuk digunakan di rumah. Dan jika tidak ada cukup ruang, Anda dapat menghubungkan drive USB atau eSATA eksternal ke sana. Jika Anda sudah memahami sebelumnya bahwa beberapa disk saja tidak cukup, ada model dengan 4, 5, 6 atau lebih disk. Benar, biayanya relatif tinggi. Sebagian besar perangkat dijual tanpa hard drive, jadi Anda harus membelinya secara terpisah. Sebagai referensi, yang terbaik adalah merujuk pada daftar kompatibilitas pabrikan. Dalam hal ini, tidak ada gunanya mengejar hard drive tercepat. Lebih baik memilihnya berdasarkan tingkat konsumsi energi, pemanasan, dan kebisingan yang rendah.

Perlu juga disebutkan kemungkinan menggunakan PC reguler khusus yang terpisah sebagai NAS. Namun dalam artikel ini kita akan berbicara secara khusus tentang drive jaringan yang sudah jadi.

Hampir semua perangkat terhubung ke jaringan melalui koneksi gigabit, karena 10-12 MB/s yang disediakan FastEthernet sudah berada dalam kemampuan model paling sederhana dan saat ini terlihat sangat remeh.

Linux biasanya digunakan sebagai sistem operasi tertanam, namun ada juga opsi dengan Windows Home Server. Dalam kasus kedua, server praktis tidak berbeda dengan PC rumahan, hanya komunikasi dengannya terjadi secara eksklusif melalui jaringan. WHS dilengkapi dengan dokumentasi berkualitas tinggi dan banyak “pembantu”, sehingga tidak akan sulit untuk mengetahuinya. Sebagian besar informasi di artikel ini tidak berlaku untuk opsi ini.

Jika Anda takut berkomunikasi dengan Linux, sebenarnya tidak ada yang rumit dalam hal ini - pengguna memiliki akses ke antarmuka web yang nyaman di mana Anda dapat mengonfigurasi semua parameter dan fungsi yang diperlukan. Tetapi jika Anda masuk ke baris perintah, Anda dapat bekerja dengan perangkat ini hampir seperti komputer biasa.

Selain sistem operasi, masuk akal juga untuk memperhatikan kemampuan perangkat. Saat ini, selain penyimpanan file biasa, drive jaringan menyediakan layanan server media, pengunduhan file, akses jarak jauh, dan lain-lain.

Dalam hal platform perangkat keras dan kinerja, model pada prosesor yang kompatibel dengan x86 termasuk dalam segmen paling produktif (dan mahal); prosesor ARM dengan frekuensi 1000-1600 MHz berada di tengah, dan ARM kelas bawah biasanya menutup lini tersebut. Pada kenyataannya, yang perlu diperhatikan bukan pada platform itu sendiri, tetapi pada hasil implementasi spesifiknya, karena banyak hal dapat dicapai dengan mengoptimalkan cangkang perangkat lunak.

Efisiensi layanan tambahan bergantung pada jumlah RAM, jadi sebaiknya pilih perangkat dengan 256 MB atau lebih tinggi jika Anda berencana menggunakan lebih dari sekadar akses file jaringan. Meski untuk kenalan pertama 64 atau 128 MB sudah cukup. Hanya saja, jangan berharap terlalu banyak dari mereka.

Kali ini kami menggunakan model DS210+ dari salah satu produsen paling populer di segmen pasar ini - Synolog. Perangkat dua disk ini, selain menyediakan layanan penyimpanan file jaringan, memiliki banyak fungsi tambahan dan bisa sangat berguna baik untuk penggunaan di rumah maupun di kantor.

Perlu dicatat bahwa biasanya semua produsen memiliki kemampuan firmware yang hampir sama untuk semua model di lini dan diperbarui secara bersamaan. Untuk melihat lebih lengkap perangkat Synology, lihat ulasan terbaru kami tentang DS710+.

Perakitan

Paling sering, drive jaringan dijual tanpa hard drive dan pengguna perlu membeli dan menginstalnya sendiri. Tidak ada yang rumit di sini - Anda membuka casing atau mengeluarkan bingkai, memasang disk pada tempatnya dan merakit strukturnya.

Satu-satunya catatan di sini adalah disarankan untuk memastikan terlebih dahulu bahwa tidak ada informasi di hard drive dan tabel partisi kosong. Jika tidak, kesalahan mungkin terjadi saat menginstal firmware. Selain itu, jangan lupa bahwa semua model drive jaringan memerlukan pemformatan ulang untuk drive internalnya dan sekadar memasang drive yang ada dan menyimpan data tidak akan berfungsi.

Instalasi firmware

Setelah ini, biasanya Anda harus melalui proses instalasi firmware di NAS. Ini dilakukan dengan menggunakan utilitas yang dibundel, dalam kasus kami Synology Assistant. Yang terbaik adalah mengunduh firmware dan program dari situs web produsen. Ini akan memastikan bahwa Anda menggunakan versi terbaru. Namun Anda cukup memasukkan disk optik yang disertakan ke dalam drive PC - semua informasi yang diperlukan dicatat di dalamnya. Jika drive dilengkapi dengan hard drive, maka firmware sudah terinstal di dalamnya dan langkah ini dapat dilewati.

Pengaturan jaringan

Dalam kebanyakan kasus, tidak diperlukan pengaturan jaringan khusus pada drive. Ia menerima alamat dari router melalui DHCP; nama yang disarankan oleh pabrikan seringkali cocok. Namun jika perlu (misalnya, jika Anda ingin menentukan nama baru atau menolak akses drive ke Internet dengan menghapus alamat router default dari pengaturan), Anda dapat menggunakan halaman "Panel Kontrol - Jaringan". Anda juga dapat mengaktifkan dukungan untuk Jumbo Frames di sini.

Memilih konfigurasi disk

Setelah menginstal firmware, Anda harus memilih konfigurasi hard drive (dalam beberapa kasus, ini dibuat bersamaan dengan instalasi firmware). Jika ada lebih dari satu, maka Anda dapat memilih salah satu opsi array RAID. Karakteristik komparatif singkat dari yang utama ditunjukkan pada tabel. Dalam rumus volume, N adalah jumlah disk, S adalah volume salah satunya (diasumsikan bahwa disk tersebut sama, dalam banyak kasus hal ini diperlukan untuk pengoperasian yang optimal).

ModeJumlah diskjumlah seluruhnyaKelebihanKontra
Disk individual (Dasar)1 SKemerdekaan maksimalTidak ada toleransi kesalahan, tidak ada kemungkinan menggabungkan disk
JBOD2 atau lebihS×NArray tunggal dengan volume maksimum
RAID02 atau lebihS×NKecepatan maksimumJika satu disk gagal, semua informasi akan hilang
RAID12 SVolume kecil yang dapat digunakan
RAID53 atau lebihS×(N−1)Toleransi kesalahan terhadap kehilangan disk tunggalMembutuhkan 3 disk atau lebih, kecepatan tulis rendah pada sistem lemah

Beberapa produsen, khususnya Synology, yang dibahas di sini, menyediakan implementasi RAID mereka sendiri dengan konfigurasi yang disederhanakan - ketika untuk memperluas array Anda hanya perlu menambahkan disk atau mengubahnya ke yang lebih luas.

Kebanyakan model memungkinkan Anda membuat beberapa array sekaligus, dan satu-satunya batasan adalah jumlah disk. Misalnya, jika ada empat, maka Anda dapat membuat mirror RAID1 dari dua, dan merakit pasangan kedua menjadi RAID0.

Harap dicatat bahwa firmware itu sendiri diinstal pada setiap disk, ini memungkinkan Anda untuk meningkatkan toleransi kesalahan dan menerapkan kemampuan untuk memigrasi dan memperluas array tanpa kehilangan data dengan mengganti disk secara berurutan di RAID1/RAID5.

Selain partisi sistem, biasanya juga terdapat partisi swap, sehingga total volume yang berguna bagi pengguna agak lebih kecil. Namun hilangnya 2-4 GB pada disk 1 TB tidak terlalu signifikan.

Untuk memformat hard drive, Anda harus terlebih dahulu membuka antarmuka web perangkat. Ini dapat dilakukan dari Synology Assistant atau cukup dengan membuka alamat/nama drive di browser. Setelah memasukkan nama dan kata sandi Anda, Anda akan memiliki akses ke pengaturan.

Selanjutnya kita melanjutkan ke pengaturan volume disk. Jika Anda memiliki satu hard drive, maka hanya ada satu opsi - "Basic" atau lebih tepatnya, ada juga "Synology Hybrid Raid", yang secara otomatis memilih konfigurasi disk yang paling nyaman dan memungkinkan Anda menambahkan disk baru dengan mudah tanpa kehilangan informasi. . Untuk model dua cakram yang dipertimbangkan, ini agak mubazir. Jadi jika Anda memasang dua disk, lebih baik memilih JBOD klasik - menggabungkan dua disk menjadi satu volume besar, RAID0 - array bergaris untuk digabungkan menjadi satu volume dan meningkatkan kinerja, atau RAID1 - dua disk adalah salinan cermin satu sama lain , memberikan toleransi kesalahan terhadap kegagalan salah satu dari ini, namun volume yang berguna dalam hal ini sama dengan satu disk. Kadang-kadang bahkan lebih baik untuk membuat dua volume "Dasar" yang independen, dan untuk data penting, atur pencadangan otomatis dari satu disk ke disk kedua.

Dalam firmware Synology versi terbaru, setiap disk dapat dibagi menjadi beberapa bagian dan mengatur array darinya. Hal ini secara signifikan meningkatkan fleksibilitas konfigurasi. Karena pabrikan lain belum memiliki opsi ini (belum?), kami akan melakukan semuanya dengan cara lama - satu disk per volume.

Pada langkah terakhir, perangkat akan menawarkan untuk memindai array sepenuhnya untuk mencari blok buruk setelah pembuatan. Terlepas dari kenyataan bahwa hard drive modern sangat andal, lebih baik jangan menyerah.

Membuat Saham dan Mendefinisikan Hak

Langkah selanjutnya setelah membuat volume disk adalah memprogram pengguna sistem. Tentu saja, Anda dapat mencoba bekerja secara eksklusif di bawah akun administrator, tetapi ini sangat tidak nyaman. Ekstrem kedua adalah mengizinkan akses tamu, jadi tidak ada verifikasi yang dilakukan sama sekali. Namun kami tetap menyarankan penggunaan "versi lengkap" bahkan untuk rumah dan jaringan sederhana - dengan nama dan kontrol akses.

Pilihan paling nyaman adalah menggunakan login dan kata sandi yang sepenuhnya cocok dengan akun Windows Anda. Ini akan menghilangkan permintaan yang tidak perlu saat mengakses sumber daya jaringan. Hal ini juga akan berguna untuk membuat pengguna misalnya untuk pemutar media, sehingga mereka dapat diberikan hak hanya baca pada beberapa sumber daya untuk menghindari risiko kehilangan data. Dan jangan lupa untuk mengganti password administrator NAS.

Jika Anda memiliki banyak pengguna, Anda juga dapat menggunakan organisasi grup untuk mengelola hak dengan lebih mudah. Ini biasanya berlebihan untuk sebuah rumah.

Hak pengguna diberikan tidak sepenuhnya pada volume disk yang dibuat, tetapi pada folder bersama yang terletak di dalamnya. Jadi mereka juga perlu diprogram. Dalam beberapa kasus, mereka muncul secara otomatis setelah membuat volume atau mengaktifkan layanan tertentu (misalnya, pemutar media).

Dalam kasus kami, kami akan membuat folder publik dan memberikan haknya kepada pengguna kami.

Akses drive dari PC

Setelah operasi yang dijelaskan di atas, skenario utama drive jaringan - membaca dan menulis file melalui jaringan - sudah dapat digunakan.

Mari kita mengingat beberapa fitur praktis jaringan Windows. Protokol jaringan modern utama - TCP/IP - memungkinkan peserta hanya bertukar paket. Jadi, untuk mengimplementasikan berbagai layanan di atasnya, Anda perlu menggunakan protokol tingkat yang lebih tinggi. Tanpa merinci - "Jaringan"/"Lingkungan Jaringan" di Windows, CIFS, SMB, SAMBA - semua ini berarti kemampuan untuk berbagi file antara perangkat jaringan dan pencetakan jaringan. Penerapan protokol ini dimungkinkan tidak hanya pada PC Windows, tetapi juga, misalnya, pemutar media, televisi, penerima satelit, kamera video IP dan, tentu saja, sistem operasi lain, seperti Linux atau Mac OS (“standar serupa /common” protokol untuk OS ini disebut AFP ). Dalam kebanyakan kasus, protokol ini hanya berfungsi pada segmen lokal jaringan rumah Anda.

Untuk mengakses sumber daya, Anda perlu mengetahui nama server dan nama folder bersama di dalamnya. Di Windows Explorer, cukup tulis “\ServerFolder” di bilah alamat dan Anda akan dibawa ke folder Folder yang terletak di server Server. Dalam kasus kami, Anda perlu menulis “\DiskStationpublic”. Jika nama pengguna dan kata sandi Anda di Windows tercatat di NAS dan Anda memiliki hak atas folder ini (atau akses tamu diaktifkan), maka Anda akan melihat isinya; jika tidak, server akan meminta nama dan kata sandi. Harap dicatat bahwa dalam jaringan Windows, sumber daya yang berbeda di server yang sama hanya dapat diakses dengan satu nama pengguna dan kata sandi pada satu waktu.

Seringkali lebih mudah untuk memiliki "huruf" lokal yang selalu terhubung untuk mengakses sumber daya jaringan. Hal ini juga mudah dilakukan - buka “\DiskStation” di Explorer, klik tombol kiri mouse pada ikon “publik” dan pilih “Connect”. Jika ada tanda centang di jendela "Pulihkan saat login", Anda akan selalu memiliki akses ke folder bersama ini dengan huruf yang dipilih (tentu saja, jika drive dihidupkan). Omong-omong, Anda juga dapat menggunakan Synology Assistant untuk operasi ini.

Pengaturan NAS Tingkat Lanjut

Kami akan menjelaskan secara singkat tindakan lain apa yang harus diambil setelah peluncuran pertama drive jaringan.

Jaringan rumah Anda mungkin menggunakan nama grup kerja selain “WORKGROUP” klasik. Maka disarankan untuk mengubahnya juga di drive jaringan. Ini dilakukan dalam pengaturan protokol Windows - "Panel Kontrol - Win/Mac/NFS". Jika perangkat penyimpanan jaringan adalah satu-satunya perangkat yang berfungsi terus-menerus, maka Anda dapat mengaktifkan fungsi "Browser Master Lokal" di dalamnya, yang akan meningkatkan stabilitas lingkungan jaringan Windows. Anda selalu dapat menemukan perangkat berdasarkan nama atau alamat IP, namun daftar sebenarnya perangkat tersebut di jendela “Jaringan” terkadang tidak lengkap.

Jika Anda berencana untuk memberikan akses ke NAS dari Internet, disarankan untuk mengaktifkan penguncian otomatis saat Anda mencoba menebak kata sandi. Ini akan membuat Anda tidak takut dengan serangan dari hacker pemula.

Penting juga untuk mengaktifkan akses ke antarmuka web melalui protokol HTTPS terenkripsi, dan bahkan disarankan untuk menunjukkan bahwa penggunaannya adalah wajib. Ini dilakukan pada tab "Panel Kontrol - Pengaturan DSM".

Harap dicatat bahwa sebagian besar browser modern kemungkinan besar akan mengeluh tentang penyimpanan jaringan saat bekerja dengan HTTPS. Faktanya adalah bahwa sertifikat SSL yang digunakannya “ditandatangani sendiri”, artinya tidak mungkin memverifikasi asal-usulnya melalui otoritas sertifikat global. Biasanya, dalam kasus ini, browser akan meminta Anda untuk memasukkan server ini ke dalam daftar "tepercaya" sendiri. Untuk bekerja di segmen komersial, Anda dapat menginstal sertifikat resmi yang diterima dari otoritas tepercaya ke dalam perangkat penyimpanan jaringan Anda.

Seperti halnya router, NAS dapat mengirim pesan email jika timbul masalah. Opsi ini dapat digunakan dengan banyak layanan email publik yang mendukung SMTP.

Sebagian besar perangkat memiliki opsi untuk manajemen daya - misalnya, mematikan hard drive jika tidak ada aktivitas atau bahkan memprogram jadwal pengoperasian. Perdebatan tentang mode operasi mana - konstan atau dengan shutdown - yang lebih “berguna” untuk hard drive masih berlanjut hingga saat ini. Tidak mungkin memberikan nasihat yang pasti di sini. Kami menyarankan untuk melihat situasinya - jika drive digunakan lebih dari beberapa kali sehari, lebih baik biarkan drive dalam keadaan menyala. Pada kenyataannya, disk modern sangat andal dan jika tidak terjatuh saat sedang menyala, disk tersebut akan bertahan sangat lama baik dalam waktu maupun dalam siklus hidup/mati.

Omong-omong, untuk meningkatkan keandalan, kami sangat menyarankan untuk menghubungkan drive jaringan (dan peralatan lainnya juga) melalui catu daya yang tidak pernah terputus. Anda dapat memilih modelnya menggunakan daftar kompatibilitas NAS, kemudian saat menghubungkan perangkat melalui USB, UPS akan dapat melaporkan masalah ke drive dan, jika perlu, mematikannya dengan aman.

Mengakses file dari Internet

Sebagai latihan dalam menggunakan router dan NAS secara bersamaan, kami akan menjelaskan salah satu opsi untuk mengatur akses penuh dan aman ke file Anda dari Internet.

Synology memiliki opsi yang sangat nyaman untuk ini - pengelola file bawaan FileStation. Ini memerlukan HTTPS untuk diaktifkan. Port dapat dibiarkan pada default 7001, tetapi jika router tidak dapat bekerja dengan port eksternal dan internal yang berbeda, lebih baik mengubahnya ke sesuatu yang kurang “biasa”.

Kontrol hak pengguna Synology juga berlaku untuk layanan tambahan, jadi Anda perlu memastikan bahwa FileStation diotorisasi untuk orang yang tepat.

Dua langkah selanjutnya dilakukan pada router. Pertama, kami menetapkan alamat MAC hard-bind NAS ke salah satu alamat IP dalam rentang LAN di halaman properti server DHCP. Ini akan memungkinkan kami untuk memastikan bahwa alamat IP tidak akan berubah setelah reboot.

Nah, sentuhan terakhir adalah tujuan menyiarkan port eksternal ke FileStation. Dalam contoh kami, kami memilih port eksternal 39456 dan mentransfernya ke internal 7001 ke alamat 192.168.1.40 perangkat penyimpanan jaringan.

Ini menyelesaikan penyiapan. Sekarang, dari mana saja di Internet, Anda dapat mengakses file Anda melalui browser dengan mengetikkan link “https://myhost.homedns.org:39456” di bilah alamat (alamat diambil sebagai contoh dari artikel sebelumnya) dan menentukan nama pengguna dan kata sandi

Pada artikel berikutnya kita akan melihat cara bekerja dengan layanan penyimpanan jaringan tambahan.

Android menggunakan sistem file yang mirip dengan sistem file berbasis disk pada platform lain. Tutorial ini menjelaskan cara bekerja dengan sistem file Android untuk membaca dan menulis file menggunakan File API.

Pilih penyimpanan internal atau eksternal

Semua perangkat Android memiliki dua tempat penyimpanan file: penyimpanan "internal" dan "eksternal". Nama-nama ini berasal dari masa awal Android, ketika disarankan agar sebagian besar perangkat menyediakan memori permanen bawaan (penyimpanan internal), serta penyimpanan yang dapat dilepas seperti kartu micro SD (penyimpanan eksternal). Beberapa perangkat membagi ruang penyimpanan persisten menjadi partisi "internal" dan "eksternal", mis. bahkan tanpa penyimpanan yang dapat dilepas, selalu ada dua penyimpanan, dan perilaku API untuk penyimpanan eksternal tetap sama baik dapat dilepas atau tidak. Daftar berikut merangkum fakta tentang setiap repositori.

Penyimpanan internal:

  • Selalu tersedia.
  • File yang disimpan di sini, secara default, hanya dapat diakses oleh aplikasi Anda.
  • Saat pengguna mencopot pemasangan aplikasi Anda, sistem akan menghapus semua file aplikasi Anda dari memori internal.

Penyimpanan internal adalah yang terbaik bila Anda ingin memastikan bahwa baik pengguna maupun aplikasi lain tidak dapat mengakses file.

Penyimpanan eksternal:

  • Tidak selalu tersedia, karena pengguna dapat memasang drive eksternal sebagai penyimpanan USB, dan dalam beberapa kasus melepaskannya dari perangkat.
  • Membaca diperbolehkan untuk semua orang, jadi file yang disimpan di sini dapat dibaca tanpa kendali Anda.
  • Saat pengguna mencopot pemasangan aplikasi Anda, sistem akan menghapus file aplikasi Anda dari sini hanya jika Anda menyimpannya di direktori dari getExternalFilesDir() .

Petunjuk Bermanfaat: Meskipun aplikasi diinstal ke penyimpanan internal secara default, Anda dapat menentukan atribut android:installLocation di manifes sehingga aplikasi Anda dapat diinstal ke penyimpanan eksternal. Pengguna menghargai opsi ini ketika ukuran APK sangat besar dan mereka memiliki ruang penyimpanan eksternal yang lebih besar dari memori internal. Untuk informasi selengkapnya, lihat Jalur instalasi aplikasi.

Dapatkan izin untuk drive eksternal

Untuk menulis ke drive eksternal, Anda harus meminta izin WRITE_EXTERNAL_STORAGE di file manifes Anda:

...

Perhatian: Saat ini, semua aplikasi memiliki kemampuan membaca dari perangkat penyimpanan eksternal tanpa izin khusus. Namun, hal ini akan berubah pada rilis mendatang. Jika aplikasi Anda perlu membaca penyimpanan eksternal (tetapi tidak menulis ke dalamnya), maka Anda perlu mendeklarasikan izin READ_EXTERNAL_STORAGE. Untuk memastikan aplikasi Anda terus berfungsi seperti yang diharapkan, Anda harus mendeklarasikan izin ini sekarang sebelum perubahan diterapkan.

...

Namun, jika aplikasi Anda menggunakan izin WRITE_EXTERNAL_STORAGE, aplikasi tersebut juga secara implisit memiliki izin untuk membaca penyimpanan eksternal.

Anda tidak memerlukan izin apa pun untuk menyimpan file ke penyimpanan internal. Aplikasi Anda selalu memiliki izin untuk membaca dan menulis file di direktori penyimpanan internal.

Simpan file ke penyimpanan internal

Saat menyimpan file ke penyimpanan internal, Anda dapat meminta direktori terkait, sebagai objek File, dengan memanggil salah satu dari dua metode:

getFilesDir() Mengembalikan File, yang merupakan direktori internal aplikasi Anda.

getCacheDir() Mengembalikan File, yang merupakan direktori internal untuk file cache sementara aplikasi Anda. Pastikan Anda tidak perlu lagi menghapus file satu per satu, dan terapkan batasan wajar pada jumlah memori yang akan Anda gunakan pada waktu tertentu, misalnya 1 MB. Jika sistem kehabisan ruang, sistem mungkin menghapus file cache Anda tanpa peringatan.

Untuk membuat file baru di salah satu direktori ini, Anda dapat menggunakan konstruktor File(), meneruskan File yang disediakan oleh salah satu metode di atas yang menunjuk ke direktori internal Anda. Misalnya:

File file = File baru(context.getFilesDir(), nama file);

Alternatifnya, Anda dapat memanggil openFileOutput() untuk mendapatkan FileOutputStream yang menulis ke file di direktori internal Anda. Misalnya, berikut cara menulis teks ke file:

String nama file = "file saya"; String string = "Halo dunia!"; Aliran Keluaran FileOutput; coba ( outputStream = openFileOutput(nama file, Context.MODE_PRIVATE); outputStream.write(string.getBytes()); outputStream.close(); ) catch (Pengecualian e) ( e.printStackTrace(); )

Atau jika Anda perlu menyimpan beberapa file dalam cache, Anda harus menggunakan createTempFile() . Misalnya, metode berikut mengekstrak nama file dari URL dan membuat file dengan nama yang sama di direktori cache internal aplikasi Anda:

Catatan: Direktori penyimpanan internal aplikasi Anda menggunakan nama paket aplikasi Anda dan terletak di lokasi khusus dalam sistem file Android. Secara teknis, aplikasi lain dapat membaca file internal Anda jika Anda mengatur mode akses file ke membaca. Namun, aplikasi lain juga perlu mengetahui nama paket dan nama file Anda. Aplikasi lain tidak dapat melihat direktori internal Anda, dan tidak memiliki akses baca atau tulis kecuali Anda secara eksplisit mengatur izin baca atau tulis. Jadi saat Anda menggunakan MODE_PRIVATE untuk file Anda di memori internal, file tersebut tidak dapat diakses oleh aplikasi lain.

Simpan file ke drive eksternal

Karena penyimpanan eksternal mungkin tidak tersedia - misalnya, saat pengguna memasang penyimpanan ke PC, atau mengeluarkan kartu SD yang menyediakan penyimpanan eksternal - Anda harus selalu memastikan bahwa suatu partisi dapat diakses sebelum mengaksesnya. Anda dapat menanyakan status penyimpanan eksternal dengan memanggil getExternalStorageState() . Jika status yang dikembalikan adalah MEDIA_MOUNTED maka Anda dapat membaca dan menulis file. Misalnya, metode berikut berguna untuk menentukan ketersediaan penyimpanan:

/* Memeriksa apakah penyimpanan eksternal tersedia untuk baca dan tulis */ public boolean isExternalStorageWritable() ( String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state)) ( return true; ) return false; ) / * Memeriksa apakah penyimpanan eksternal tersedia untuk setidaknya dibaca */ public boolean isExternalStorageReadable() ( String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) ( kembalikan benar; ) kembalikan salah;

Meskipun perangkat penyimpanan eksternal dapat dimodifikasi oleh pengguna dan aplikasi lain, ada dua kategori file yang dapat Anda simpan di sini:

File publik File yang seharusnya dapat diakses secara bebas oleh aplikasi lain dan pengguna. Saat pengguna mencopot pemasangan aplikasi Anda, file-file ini akan tetap tersedia bagi pengguna.

Misalnya foto yang diambil menggunakan aplikasi atau file hasil download lainnya.

File pribadi File yang merupakan hak milik aplikasi Anda dan harus dihapus saat pengguna meng-uninstal aplikasi Anda. Meskipun file-file ini secara teknis dapat diakses oleh pengguna dan aplikasi lain, karena mereka berada di penyimpanan eksternal, ini adalah file yang tidak memiliki nilai nyata bagi pengguna di luar aplikasi Anda. Saat pengguna mencopot pemasangan aplikasi Anda, sistem akan menghapus semua file dari direktori pribadi eksternal aplikasi Anda.

Misalnya, sumber daya tambahan yang diunduh oleh aplikasi Anda atau file media sementara.

Jika Anda ingin menyimpan file bersama di perangkat penyimpanan eksternal, gunakan metode ini untuk mendapatkan File yang mewakili direktori terkait di perangkat penyimpanan eksternal. Metode ini mengambil argumen yang menunjukkan jenis file yang ingin Anda simpan sehingga dapat diatur secara logis dengan file publik lainnya seperti DIRECTORY_MUSIC atau DIRECTORY_PICTURES . Misalnya:

File Publik getAlbumStorageDir(String albumName) ( // Dapatkan direktori untuk direktori gambar publik pengguna. File file = File baru(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), albumName); if (!file.mkdirs()) ( Log.e(LOG_TAG, "Direktori tidak dibuat");

Jika Anda ingin menyimpan file yang bersifat pribadi untuk aplikasi Anda, Anda dapat meminta direktori yang sesuai dengan memanggil getExternalFilesDir() dan memberinya nama yang menunjukkan jenis direktori yang diperlukan. Setiap direktori yang dibuat dengan cara ini ditambahkan ke direktori induk yang merangkum semua file penyimpanan eksternal aplikasi Anda yang dihapus oleh sistem saat pengguna meng-uninstal aplikasi Anda.

Misalnya, berikut adalah metode yang dapat Anda gunakan untuk membuat direktori untuk satu album foto:

File Publik getAlbumStorageDir(Konteks konteks, String albumName) ( // Dapatkan direktori untuk direktori gambar pribadi aplikasi. File file = File baru(context.getExternalFilesDir(Environment.DIRECTORY_PICTURES), albumName); if (!file.mkdirs( )) ( Log.e(LOG_TAG, "Direktori tidak dibuat"); ) mengembalikan file )

Jika tidak ada nama subdirektori yang sesuai dengan file Anda, Anda dapat memanggil getExternalFilesDir() dan meneruskan null sebagai gantinya. Ini mengembalikan direktori root untuk direktori pribadi aplikasi Anda di drive eksternal.

Baik Anda menggunakan getExternalStoragePublicDirectory() untuk file yang bersifat publik atau getExternalFilesDir() untuk file yang bersifat pribadi untuk aplikasi Anda, penting bagi Anda untuk menggunakan nama direktori yang disediakan oleh konstanta API seperti DIRECTORY_PICTURES . Nama direktori ini memastikan bahwa file diinterpretasikan seperti yang diharapkan oleh sistem. Misalnya, file yang disimpan di DIRECTORY_RINGTONES diklasifikasikan oleh sistem pemindai media sebagai nada dering, bukan musik.

Minta ruang kosong

Jika Anda mengetahui sebelumnya berapa banyak data yang akan Anda simpan, Anda dapat mengetahui apakah terdapat cukup ruang yang tersedia tanpa melemparkan IOException dengan memanggil getFreeSpace() atau getTotalSpace() . Metode ini masing-masing memberikan informasi tentang ruang yang tersedia saat ini dan total ruang partisi. Informasi ini juga berguna untuk menghindari pengisian partisi drive melebihi ambang batas tertentu.

Namun, sistem tidak menjamin bahwa Anda dapat menulis byte sebanyak yang ditunjukkan oleh getFreeSpace() . Jika jumlah yang dikembalikan beberapa MB lebih besar dari ukuran data yang ingin Anda simpan, atau jika sistem file kurang dari 90% penuh, Anda mungkin dapat melanjutkan. Kalau tidak, mungkin tidak ada gunanya menulis ke penyimpanan.

Catatan: Anda tidak diharuskan memeriksa jumlah ruang kosong sebelum menyimpan file. Sebagai gantinya, Anda dapat mencoba menulis file tersebut, dan menangkap IOException jika itu terjadi. Anda mungkin harus melakukan ini jika Anda tidak tahu persis berapa banyak ruang yang Anda butuhkan. Misalnya, jika Anda mengubah pengkodean file sebelum menyimpan dengan mengonversi gambar PNG ke JPEG, Anda tidak akan mengetahui ukuran file sebelumnya.

Menghapus file

Anda harus selalu menghapus file yang tidak lagi diperlukan. Cara termudah untuk menghapus file adalah dengan memanggil delete() .

File Saya.hapus();

Jika file disimpan di penyimpanan internal, Anda juga dapat meminta Context untuk mencari dan menghapus file dengan memanggil deleteFile() :

MyContext.deleteFile(namafile);

Catatan: Saat pengguna menghapus aplikasi Anda, sistem Android akan menghapus yang berikut ini:

  • Semua file disimpan di penyimpanan internal
  • Semua file disimpan di drive eksternal menggunakan getExternalFilesDir() .

Namun, Anda harus menghapus secara manual semua file cache yang dibuat oleh getCacheDir() secara rutin, dan juga secara rutin menghapus file lain yang tidak lagi Anda perlukan.

Layanan penyimpanan data cloud telah menjadi obat mujarab bagi semua orang yang ingin mengakses data mereka dari perangkat apa pun, dari mana pun di luar angkasa. Kami dengan senang hati memindahkan data kami ke cloud dan menggunakannya dengan sukses, hanya terkadang dengan hati-hati membaca berita terbaru tentang peretasan iCloud dan Dropbox. Beberapa orang awalnya dihantui oleh kenyataan bahwa cloud dikendalikan oleh “seseorang”, tetapi bukan oleh pengguna itu sendiri. Para peminat inilah yang membuat OwnCloud.

Apa itu

“Cloud milik Anda sendiri” tidak lebih dari penyimpanan pribadi yang berjalan di server web atau situs web Anda sendiri. Fitur utama OwnCloud adalah gratis dan open source. Secara umum, jika platform hosting yang disebutkan di atas tersedia, pengguna memerlukan waktu sekitar 5 menit untuk menggunakan penyimpanan mirip Dropbox miliknya, dan tanpa pengkodean yang canggih - tidak diperlukan pengetahuan khusus. Selain itu, pengguna mendapat akses ke aplikasi (editor teks, daftar tugas, dan hal berguna lainnya) yang dibuat oleh peserta proyek lain untuk kebutuhan mereka sendiri.

Facebook Google Ditambah Akses ditolak atau masalah izin akses ke file/folder di drive eksternal

Terkadang saat menghubungkan drive eksternal ke komputer yang menjalankan Windows 2000 Pro, XP atau Vista, Anda harus menetapkan izin/hak istimewa. Karena file dimiliki oleh akun yang berbeda, Anda mungkin menerima kesalahan "Akses Ditolak" atau "Tidak Tersedia" saat mencoba membuka drive atau folder di dalamnya.

Lihat di bawah untuk informasi tentang mentransfer kepemilikan ke pengguna saat ini di XP Professional. Petunjuk ini juga berlaku untuk Windows Vista.
(Rumah XP.)

Untuk mentransfer kepemilikan ke pengguna saat ini di Windows XP HOME:

  • Boot ke Mode Aman.
  • Klik kanan file/folder yang diinginkan dan buka bagian Properties.
  • Klik Keamanan > Lanjutan > Pemilik dan pilih akun pengguna di komputer yang Anda inginkan untuk memiliki file dan folder ini.
    Pilih kotak centang "Ganti pemilik pada subkontainer dan folder" untuk mengizinkan semua file dalam folder mewarisi perubahan (hanya jika izin folder berubah).
  • Jika Anda menerima pesan "Anda tidak memiliki izin untuk membaca isi folder [ nama folder]. Apakah Anda ingin mengubah izin folder ini sehingga Anda memiliki hak Kontrol Penuh? Semua izin akan diganti jika Anda mengklik tombol "Ya"." Klik tombol Ya.
  • Lihat artikel Pusat Dukungan Microsoft berikut ini:

    Jika Anda tidak dapat mengubah izin, periksa apakah file Anda dienkripsi menggunakan fitur enkripsi Windows. Alih-alih warna hitam biasa, mereka akan memiliki font hijau:

    Untuk memulihkan file-file ini, Anda perlu menyambungkan kembali drive ke komputer asli. File dienkripsi tanpa menggunakan perangkat lunak Seagate. Untuk informasi selengkapnya, lihat artikel Pangkalan Pengetahuan Microsoft berikut ini:

    Terakhir, struktur file mungkin rusak.

    • Jalankan pemeriksaan disk untuk mencoba memperbaiki kerusakan.
    • Jika partisi rusak, ikuti langkah-langkah yang dijelaskan di atas.

    INDIKASI PENGEMBANG DAN SITUS WEB PIHAK KETIGA. Seagate mengidentifikasi pengembang pihak ketiga dan produk pihak ketiga hanya untuk tujuan informasi dan tidak mendukung atau merekomendasikan (secara langsung atau tidak langsung) perusahaan mana pun yang disebutkan. Seagate tidak memberikan jaminan apa pun (termasuk tersirat atau tidak) sehubungan dengan kinerja atau keandalan perusahaan atau produk tersebut. Seagate tidak berafiliasi atau mengendalikan perusahaan mana pun yang disebutkan dan oleh karena itu tidak bertanggung jawab sehubungan dengan perusahaan tersebut dan melepaskan tanggung jawab apa pun sehubungan dengan tindakan atau produk perusahaan yang disebutkan. Harap lakukan penilaian independen Anda sendiri sebelum berbisnis dengan perusahaan mana pun. Silakan hubungi langsung produsen yang berlaku untuk spesifikasi dan informasi garansi. Dokumen ini berisi tautan ke situs web pihak ketiga yang tidak dikontrol Seagate. Tautan tersebut disediakan untuk kenyamanan dan digunakan atas risiko pengguna sendiri. Seagate tidak memberikan jaminan atau dukungan mengenai materi yang terkandung dalam situs web tersebut, dan tidak bertanggung jawab atas materi tersebut atau atas penggunaan situs web tersebut.

    Nafa 647 14.01.10 02:27 Saat ini dalam topik

    Artikelnya bermanfaat.
    Memang banyak sekali hal-hal yang tidak jelas dalam pengoperasian suatu fasilitas penyimpanan, maka tambahan saya:
    1. Jika beberapa pemrogram bekerja, maka sebagai pilihan,
    Hari kerja biasanya dimulai dengan hal-hal berikut:
    Kami meluncurkan database kami di konfigurator, klik kanan pada root konfigurasi - dapatkan dari penyimpanan, centang kotak "rekursif", klik OK. Setelah itu, kita masuk ke dalam konfigurasi segala sesuatu yang telah dikembangkan orang lain dari repositori. KAMI TIDAK MEMPERBARUI DB SENDIRI!!!
    Selanjutnya, kami ingin "membandingkan konfigurasi dengan konfigurasi database" - dan kami melihat daftar semua perubahan yang dilakukan oleh programmer lain dalam grup pada hari sebelumnya. Jika Anda memiliki pertanyaan tentang perubahan, silakan hubungi orang yang membuatnya.
    Setelah semuanya beres, kita simpan ke database.
    Mengapa tidak membandingkannya dengan konfigurasi penyimpanan - pertama, sehingga objek yang sedang Anda kerjakan tidak ditampilkan, dan kedua, ia bekerja lebih cepat.
    2. Di tengah hari: perubahan mendesak (untuk pembaruan dinamis) segera dikirim ke repositori. Tidak mendesak - setelah kita mengubah semua objek terkait. (lihat penjelasan di bawah)
    3. Pada akhirnya (dan jika Anda perlu melakukan pembaruan database lengkap, maka sebelum itu) kami menyimpan semua yang kami bisa ke dalam penyimpanan.
    Ini bukan perintah wajib, tapi sangat nyaman.

    4. Kenapa tidak langsung kita posting:
    karena integritas perubahan dikendalikan oleh 1C hanya jika ada tautan. Artinya, jika, misalnya, Anda membuat direktori “Mobil Pelanggan” dan menambahkan tautan ke sana di “faktur”, maka Anda dapat menempatkan “Faktur” di penyimpanan hanya setelah (atau bersamaan) dengan direktori “Pelanggan Mobil”. Tetapi jika, misalnya, Anda menggunakan direktori ini dalam prosedur modul umum yang dipanggil saat memposting faktur, maka modul umum ini dapat dengan mudah dimasukkan ke dalam penyimpanan tanpa menempatkan direktori. Jika setelah itu pemrogram lain menerima modul ini dari repositori, maka faktur tidak akan lagi diposting di databasenya. (Dan jika Anda memperbarui database utama, maka database tersebut akan berhenti di situ juga).
    Dan itu adalah kasus bagus lainnya - karena ini hanya sebuah kesalahan. Tetapi jika misalnya Anda mengubah jenis atribut dalam suatu dokumen dari string menjadi teks dan pada prosedur modul umum ada centang If Attribute = "1" dan menjadi If Attribute = 1 dan modul ditempatkan di penyimpanan tetapi dokumennya tidak, maka tidak akan ada kesalahan (halo untuk kontrol tipe ketidakhadiran), yang berarti bahwa mereka yang menerima modul seperti itu akan memiliki dokumen yang salah dieksekusi (dan ada baiknya jika ini bukan database utama). Oleh karena itu, lebih baik mengirimkan perubahan ke repositori sebagai "paket lengkap" (semua objek diubah pada satu topik), jika Anda memerlukan sesuatu untuk tugas lain, Anda dapat segera mengambilnya untuk yang baru atau cukup "biarkan direkam" saat menempatkannya di repositori.

    Dalam hal ini, saya tidak begitu mengerti:

    Jika programmernya banyak, maka perubahan semua orang perlu dikirim ke Repository satu per satu, setelah PRELIMINASI pekerjaan semua orang ke dalam file eksternal dengan konfigurasi database lokal dan (jika penggabungan dilakukan dari workstation yang berbeda), jangan lupa UPDATE lokal database dari Repositori sebelum setiap penggabungan - ke versi terbaru, dengan perubahan dari rekan yang terhubung sebelumnya ada di sana..

    Anehnya, tidak ada masalah ketika beberapa orang melakukan perubahan sekaligus, hanya saja sedikit melambat. Inilah sebabnya mengapa pengambilan objek dirancang agar 2 orang tidak memperbaiki hal yang sama sekaligus. Selain itu, diketahui bahwa: jika 1 pengembang mengubah dokumen, ucapkan "Laporan awal", dan pengembang kedua tidak "menerima", tetapi segera mengambilnya (misalnya, suatu objek baru saja disimpan), maka 1C akan melacak ini dan memberikan versi baru yang sudah dimodifikasi kepadanya. (Kejadiannya lucu sekali - Anda melihat dokumennya - 5 detail, ambil - sudah 15).

    Dan saya juga tidak mengerti mengapa saya harus mengunggah karya tersebut ke file eksternal.

    4. Lebih mudah bagi pemrogram untuk membuat salinan database bukan dengan memuat dan membongkar 1Sovskaya (karena memerlukan mode eksklusif dan tidak terlalu cepat), tetapi dengan memulihkan cadangan cadangan atau sekadar menyalin database di pipi.

    5. Jika Anda perlu menambahkan objek baru (dokumen, buku referensi, dll.), ambil root konfigurasi, tambahkan, tambahkan detail minimum (objek yang benar-benar "kosong" tidak selalu disimpan), simpan root di penyimpanan (benda ini juga akan diserahkan pada saat yang sama) dan mengambil kembali benda tersebut. (Agar root tidak bertahan lama - orang lain juga membutuhkannya).

    6. Jika Anda ingin memperbaiki hak akses terhadap suatu objek, Anda telah menangkapnya - tetapi hak akses masih belum tersedia - ambil peran yang sesuai.

    7. Karena debugging paling baik dilakukan menggunakan data terbaru, database yang berfungsi perlu diperbarui. Untuk melakukan ini: letakkan semua perubahan di penyimpanan, putuskan sambungan database dari penyimpanan, salin database utama ke dalamnya di back-end (dari cadangan atau salin saja), sambungkan kembali.

    8. Ketika kita melakukan "mengambil semuanya dari penyimpanan" (langkah 1), 1C menghasilkan banyak pesan dan kemudian menulis bahwa "gagal" (daftar objek berubah). Artinya kami sudah lama tidak menerima perubahan. Tidak apa-apa, klik OK lagi dan seterusnya hingga berfungsi sebagaimana mestinya.

    9. Terkadang 1C menolak untuk menyimpan perubahan yang diterima dari repositori, dan pesannya sama sekali tidak jelas. Pelakunya biasanya adalah "registrasi informasi". Kami mencari tahu register informasi mana yang telah mengubah strukturnya, menghapus semua catatan di database kami, setelah itu semuanya akan diperbarui sebagaimana mestinya.

    10. Karena database kerja dibuat dari database utama, nama konfigurasinya sama dan mudah membingungkan, dan kemudian kesalahpahaman dimulai ketika pengguna mengatakan bahwa dia memiliki 100 rubel dalam laporannya, dan Anda memiliki 100.000 rubel . Sebagai opsi, kami menambahkan baris ke modul aplikasi yang memeriksa kapan program dimulai, jenis database apa itu dan, jika bukan yang utama, menampilkan ini dalam judul program 1C (misalnya, “BASIS KERJA PROGRAMMER IVANOV”)

    11. Ketika database terhubung ke penyimpanan, tetapi saat startup tidak dapat terhubung karena alasan apa pun, pesan "Gagal terhubung, putuskan sambungan dari penyimpanan" mungkin muncul (dan Anda telah menangkap objek) - di sini JAWABAN "TIDAK". Namun jika Anda tidak sengaja menjawab “ya”, jangan coba-coba menyambung lagi!!! Pertama simpan konfigurasi ke file!!! Karena ketika kita terhubung ke penyimpanan, seluruh konfigurasi database digantikan dengan konfigurasi penyimpanan. Setelah itu, kami memuat perubahan dari file yang disimpan dan melanjutkan.