Construim o rețea de domiciliu. Stocare în rețea. Acces la stocare externă - dezvoltare de jocuri pentru sisteme de operare Android Selectarea configurațiilor de disc

Odată cu creșterea numărului de megapixeli ai camerelor foto și video, problema stocării conținutului media de acasă apare din ce în ce mai mult pentru un număr mare de utilizatori de computere. Desigur, hard disk-urile de astăzi nu sunt atât de scumpe, iar volumul lor este măsurat în terabytes, dar acest lucru nu este suficient.

Există mai multe opțiuni pentru extinderea capacității spațiului disponibil pe disc. Dacă aveți un computer „mare” obișnuit, atunci cel mai simplu mod este să instalați noi hard disk-uri în el. O modalitate mai universală este utilizarea unităților externe. Cu toate acestea, cel mai convenabil (și costisitor) ar fi să instalați o unitate de rețea în rețeaua locală de acasă.

Vă va permite să aveți acces constant de pe orice computer sau player la întreaga bibliotecă media, să stocați copii de rezervă ale documentelor și partițiilor de sistem ale computerelor, să faceți schimb de fișiere prin Internet fără participarea unui computer și multe altele. În plus, aceste dispozitive se remarcă prin dimensiunile reduse (comparativ cu un PC) și prin consumul redus de energie și zgomot. Deci, dacă nu aveți o căsuță cu câteva camere utilitare, atunci o unitate de rețea compactă poate fi o alegere foarte bună. Apropo, există chiar și modele pentru hard disk-uri de 2,5 inci.

Deoarece rețeaua noastră include deja un router, trebuie doar să selectăm modelul NAS dorit și să-l conectăm la rețea. Pentru utilizatorii începători care nu sunt siguri de nevoia de zeci de terabytes, cel mai bine este să se uite la dispozitivele cu unul sau două hard disk-uri instalate. Astăzi sunt cele mai optime pentru uz casnic. Și dacă nu există spațiu suficient, puteți conecta la ele unități externe USB sau eSATA. Dacă înțelegeți deja dinainte că câteva discuri cu siguranță nu sunt suficiente, există modele cu 4, 5, 6 sau mai multe discuri. Adevărat, costul lor este relativ mare. Majoritatea dispozitivelor sunt vândute fără hard disk, așa că va trebui să le achiziționați separat. Pentru referință, cel mai bine este să consultați listele de compatibilitate ale producătorilor. În acest caz, nu are rost să urmăriți cele mai rapide hard disk-uri. Este mai bine să le selectați pe baza nivelurilor scăzute de consum de energie, încălzire și zgomot.

De asemenea, merită menționată și posibilitatea utilizării unui PC obișnuit dedicat separat ca NAS. Dar în acest material vom vorbi în special despre unitățile de rețea gata făcute.

Aproape toate dispozitivele sunt conectate la rețea printr-o conexiune gigabit, deoarece 10-12 MB/s pe care FastEthernet îi oferă sunt deja în limitele capacităților celor mai simple modele și astăzi arată complet frivol.

Linux este de obicei folosit ca sistem de operare încorporat, dar există și opțiuni cu Windows Home Server. În al doilea caz, serverul nu este practic diferit de un computer de acasă, doar comunicarea cu acesta are loc exclusiv prin rețea. WHS este echipat cu documentație de înaltă calitate și numeroși „ajutoare”, așa că nu va fi dificil să-l dați seama. Majoritatea informațiilor de mai jos în acest articol nu se aplică acestei opțiuni.

Dacă vă este frică să comunicați cu Linux, atunci de fapt nu este nimic complicat în acest caz - utilizatorul are acces la o interfață web convenabilă prin care puteți configura toți parametrii și funcțiile necesare. Dar dacă ajungeți la linia de comandă, puteți lucra cu dispozitivul aproape ca un computer obișnuit.

Pe lângă sistemul de operare, este logic să acordați atenție capabilităților dispozitivului. În prezent, pe lângă stocarea obișnuită a fișierelor, unitățile de rețea oferă servicii de server media, descărcare de fișiere, acces la distanță și altele.

În ceea ce privește platforma hardware și performanța, modelele pe procesoare compatibile x86 aparțin segmentului cel mai productiv (și scump); procesoarele ARM cu o frecvență de 1000-1600 MHz sunt în centru, iar ARM-urile low-end închid de obicei linia. În realitate, merită să privim nu platforma în sine, ci rezultatele implementării sale specifice, deoarece se pot realiza multe prin optimizarea shell-ului software.

Eficiența serviciilor suplimentare depinde de cantitatea de RAM, așa că vă recomandăm să alegeți dispozitive cu 256 MB sau mai mare dacă intenționați să utilizați mai mult decât accesul la fișiere de rețea. Deși pentru prima cunoștință, 64 sau 128 MB sunt de ajuns. Doar nu te aștepta prea mult de la ei.

De data aceasta folosim modelul DS210+ de la unul dintre cei mai populari producatori din acest segment de piata - Synolog. Acest dispozitiv cu două discuri, pe lângă faptul că oferă servicii de stocare a fișierelor în rețea, are multe funcții suplimentare și poate fi foarte util atât pentru uz casnic, cât și pentru birou.

Trebuie remarcat faptul că, de obicei, toți producătorii au aproape aceleași capacități de firmware pentru toate modelele din linie și sunt actualizați simultan. Pentru o privire mai completă asupra dispozitivelor Synology, consultați recenzia noastră recentă a DS710+.

Asamblare

Cel mai adesea, unitățile de rețea sunt vândute fără hard disk, iar utilizatorul trebuie să le achiziționeze și să le instaleze singur. Nu este nimic complicat aici - deschideți carcasa sau scoateți ramele, înșurubați discurile și asamblați structura.

Singura notă aici este că este recomandabil să vă asigurați mai întâi că nu există informații pe hard disk și că tabelul de partiții este gol. În caz contrar, pot apărea erori la instalarea firmware-ului. De asemenea, nu uitați că toate modelele de unități de rețea necesită în mod necesar reformatarea pentru unitățile lor interne și simpla instalare a unităților existente și salvarea datelor nu va funcționa.

Instalare firmware

După aceasta, de obicei trebuie să parcurgeți procesul de instalare a firmware-ului pe NAS. Acest lucru se face folosind utilitarul inclus, în cazul nostru Synology Assistant. Cel mai bine este să descărcați atât firmware-ul, cât și programul de pe site-ul web al producătorului. Acest lucru vă va asigura că utilizați cele mai recente versiuni. Dar puteți introduce pur și simplu discul optic furnizat în unitatea PC - toate informațiile necesare sunt înregistrate pe acesta. Dacă unitatea a venit cu hard disk, atunci firmware-ul este deja instalat în ea și acest pas poate fi omis.

Setari de retea

În cele mai multe cazuri, nu sunt necesare setări speciale de rețea pe unitate. Primește adrese de la router prin DHCP; numele sugerat de producător este adesea potrivit. Dar dacă este necesar (de exemplu, dacă doriți să specificați un nume nou sau să interziceți accesul unității la Internet prin eliminarea adresei implicite a routerului din setări), puteți utiliza pagina „Panou de control - Rețea”. De asemenea, puteți activa aici suportul pentru Jumbo Frames.

Selectarea configurațiilor de disc

După instalarea firmware-ului, trebuie să selectați configurația hard diskului (în unele cazuri, aceasta este creată simultan cu instalarea firmware-ului). Dacă există mai multe, atunci puteți alege una dintre opțiunile de matrice RAID. Scurte caracteristici comparative ale celor principale sunt prezentate în tabel. În formula de volum, N este numărul de discuri, S este volumul unuia dintre ele (se presupune că discurile sunt aceleași, în majoritatea cazurilor acest lucru este necesar pentru o funcționare optimă).

ModulNumărul de discuriVolumul totalproMinusuri
Discuri individuale (de bază)1 SIndependență maximăFără toleranță la erori, fără posibilitatea de a combina discuri
JBOD2 sau mai multeS×NMatrice unică de volum maxim
RAID02 sau mai multeS×NViteza maximaDacă un disc eșuează, toate informațiile se pierd
RAID12 SVolum util mic
RAID53 sau mai multeS×(N−1)Toleranță la erori la pierderea unui singur discNecesită 3 sau mai multe discuri, viteză scăzută de scriere pe sisteme slabe

Unii producători, în special Synology, analizat aici, oferă propriile lor implementări RAID cu o configurație simplificată - când pentru a extinde matricea trebuie doar să adăugați discuri sau să o schimbați cu una mai încăpătoare.

Majoritatea modelelor vă permit să creați mai multe matrice simultan, iar singura limitare este numărul de discuri. De exemplu, dacă există patru dintre ele, atunci puteți face o oglindă RAID1 din două și puteți asambla a doua pereche în RAID0.

Vă rugăm să rețineți că firmware-ul în sine este instalat pe fiecare dintre discuri, acest lucru vă permite să creșteți toleranța la erori și să implementați capacitatea de a migra și extinde matricele fără a pierde date prin înlocuirea secvențială a discurilor în RAID1/RAID5.

Pe lângă partiția de sistem, există de obicei și o partiție de swap, astfel încât volumul total util utilizatorului este ceva mai mic. Dar o pierdere de 2-4 GB pe discuri de 1 TB nu este foarte semnificativă.

Pentru a formata hard disk-urile, trebuie mai întâi să accesați interfața web a dispozitivului. Acest lucru se poate face din Synology Assistant sau pur și simplu prin deschiderea adresei/numele unității în browser. După ce ați introdus numele și parola, veți avea acces la setări.

Apoi trecem la configurarea volumelor de disc. Dacă aveți un hard disk, atunci există și o singură opțiune - „De bază”; mai precis, există și „Synology Hybrid Raid”, care selectează automat cea mai convenabilă configurație de disc și vă permite să adăugați cu ușurință noi discuri fără a pierde informații. . Pentru modelul cu două discuri luat în considerare, este oarecum redundant. Deci, dacă instalați două discuri, atunci este mai bine să alegeți clasicul JBOD - combinând două discuri într-un singur volum mare, RAID0 - o matrice în dungi pentru a combina într-un singur volum și pentru a crește performanța, sau RAID1 - două discuri sunt copii în oglindă unul altuia , oferind toleranță la defecțiuni la defecțiunea unuia dintre acestea, totuși, volumul util în acest caz este egal cu un disc. Uneori este chiar mai bine să faci pur și simplu două volume „de bază” independente și, pentru date importante, să configurați backup automat de pe un disc pe al doilea.

În cele mai recente versiuni de firmware Synology, a devenit posibilă împărțirea fiecărui disc în mai multe părți și organizarea matricelor din acestea. Acest lucru crește semnificativ flexibilitatea configurației. Deoarece alți producători nu au această opțiune (încă?), vom face totul în mod vechi - un disc pe volum.

În ultimul pas, dispozitivul va oferi să scaneze complet matricea pentru blocuri proaste după creare. În ciuda faptului că hard disk-urile moderne sunt excepțional de fiabile, este mai bine să nu renunți la asta.

Crearea acțiunilor și definirea drepturilor

Următorul pas după crearea volumului discului va fi programarea utilizatorilor sistemului. Desigur, puteți încerca să lucrați exclusiv sub contul de administrator, dar acest lucru nu este foarte convenabil. A doua extremă ar fi să permită accesul oaspeților, deci nu se va efectua deloc verificare. Dar totuși am recomanda utilizarea „versiunii complete” chiar și pentru acasă și o rețea simplă - cu nume și control acces.

Cea mai convenabilă opțiune ar fi să utilizați login-uri și parole care se potrivesc complet cu conturile dvs. Windows. Acest lucru va elimina solicitările inutile atunci când accesați resursele rețelei. De asemenea, ar fi util să se creeze utilizatori, de exemplu, pentru playerele media, astfel încât să li se acorde drepturi de numai citire asupra unor resurse pentru a evita riscul pierderii datelor. Și nu uitați să schimbați parola administratorului NAS.

Dacă aveți mulți utilizatori, puteți utiliza și organizarea de grup pentru a gestiona mai ușor drepturile. Acest lucru este de obicei exagerat pentru o casă.

Drepturile utilizatorului nu sunt acordate în întregime volumului de disc creat, ci folderelor partajate aflate pe acesta. Așa că și ele trebuie programate. În unele cazuri, acestea apar automat după crearea unui volum sau pornirea anumitor servicii (de exemplu, un player media).

În cazul nostru, vom crea un folder public și vom atribui drepturi asupra acestuia utilizatorilor noștri.

Accesarea unității de pe un PC

După operațiunile descrise mai sus, scenariul principal al unei unități de rețea - citirea și scrierea fișierelor în rețea - poate fi deja utilizat.

Să ne amintim câteva caracteristici practice ale rețelelor Windows. Principalul protocol modern de rețea - TCP/IP - permite participanților doar să schimbe pachete. Deci, pentru a implementa diverse servicii pe deasupra, trebuie să utilizați protocoale de nivel superior. Fără a intra în detalii - „Network”/“Network Neighborhood” în Windows, CIFS, SMB, SAMBA - toate acestea înseamnă posibilitatea de a partaja fișiere între dispozitivele din rețea și imprimarea în rețea. Implementarea acestui protocol este posibilă nu numai pe computerele Windows, ci și, de exemplu, playere media, televizoare, receptoare de satelit, camere video IP și, bineînțeles, alte sisteme de operare, cum ar fi Linux sau Mac OS (un „standard similar /common” pentru acest sistem de operare se numește AFP). În cele mai multe cazuri, aceste protocoale funcționează numai pe segmentul local al rețelei dvs. de acasă.

Pentru a accesa o resursă, trebuie să cunoașteți numele serverului și numele folderului partajat de pe acesta. În Windows Explorer, scrieți „\ServerFolder” în bara de adrese și veți fi dus la folderul Folder situat pe serverul Server. În cazul nostru, trebuie să scrieți „\DiskStationpublic”. Dacă numele dvs. de utilizator și parola în Windows sunt înregistrate în NAS și aveți drepturi la acest folder (sau accesul pentru oaspeți este activat), atunci veți vedea conținutul acestuia; dacă nu, serverul vă va cere un nume și o parolă. Vă rugăm să rețineți că într-o rețea Windows, resurse diferite de pe același server pot fi accesate doar cu un singur nume de utilizator și parolă simultan.

Este adesea convenabil să aveți „litere” locale conectate întotdeauna pentru a accesa resursele rețelei. Acest lucru este, de asemenea, ușor de făcut - deschideți „\DiskStation” în Explorer, faceți clic pe butonul stâng al mouse-ului pe pictograma „public” și selectați „Conectați”. Dacă există o bifă în fereastra „Restaurare la conectare”, veți avea întotdeauna acces la acest folder partajat la litera selectată (dacă unitatea este, desigur, pornită). Apropo, puteți utiliza și Synology Assistant pentru această operațiune.

Setări avansate NAS

Vom descrie pe scurt ce alte acțiuni ar trebui luate după prima pornire a unității de rețea.

Se poate dovedi că rețeaua dvs. de domiciliu folosește un alt nume de grup de lucru decât clasicul „GRUP DE LUCRU”. Atunci este recomandabil să-l schimbați și pe unitatea de rețea. Acest lucru se face în setările protocolului Windows - „Panou de control - Win/Mac/NFS”. Dacă dispozitivul de stocare în rețea este singurul dispozitiv care funcționează constant, atunci puteți activa funcția „Local Master Browser” pe acesta, ceea ce va crește stabilitatea mediului de rețea Windows. Puteți găsi întotdeauna un dispozitiv după nume sau adresa IP, dar lista reală a acestora în fereastra „Rețea” poate fi uneori incompletă.

Dacă intenționați să oferiți acces la NAS de pe Internet, atunci este recomandabil să activați blocarea automată atunci când încercați să ghiciți parola. Acest lucru vă va permite să nu vă fie frică de atacurile hackerilor începători.

De asemenea, este necesar să se permită accesul la interfața web prin protocolul HTTPS criptat și este indicat chiar să se indice că utilizarea acestuia este obligatorie. Acest lucru se face în fila „Panou de control - Setări DSM”.

Vă rugăm să rețineți că majoritatea browserelor moderne se vor plânge cel mai probabil de stocarea în rețea atunci când lucrează cu HTTPS. Cert este că certificatul SSL pe care îl folosește este „autosemnat”, adică este imposibil să-i verifice originea prin autoritățile globale de certificare. De obicei, în acest caz, browserul vă va solicita să includeți singur acest server în lista „de încredere”. Pentru a lucra în segmentul comercial, puteți instala un certificat primit oficial de la o autoritate de încredere în dispozitivul dvs. de stocare în rețea.

La fel ca un router, NAS-ul poate trimite mesaje de e-mail dacă apar probleme. Această opțiune poate fi utilizată cu multe servicii publice de e-mail care acceptă SMTP.

Majoritatea dispozitivelor au opțiuni pentru gestionarea energiei - de exemplu, oprirea hard disk-urilor în caz de inactivitate sau chiar programarea unui program de funcționare. Dezbaterea despre care mod de operare - constant sau cu opriri - este mai „util” pentru un hard disk continuă și astăzi. Este imposibil să dai un sfat clar aici. Vă recomandăm să analizați situația - dacă unitatea este utilizată de mai mult de câteva ori pe zi, este mai bine să lăsați unitățile pornite. În realitate, discurile moderne sunt foarte fiabile și dacă nu sunt scăpate în timp ce sunt pornite, durează foarte mult timp atât în ​​timp, cât și în cicluri de pornire/oprire.

Apropo, pentru a crește fiabilitatea, vă recomandăm cu căldură conectarea unității de rețea (și a altor echipamente) printr-o sursă de alimentare neîntreruptibilă. Puteți selecta modelul acestuia utilizând listele de compatibilitate NAS, apoi atunci când conectați dispozitive prin USB, UPS-ul va putea raporta probleme la unitate și, dacă este necesar, îl va opri în siguranță.

Accesarea fișierelor de pe Internet

Ca exercițiu de utilizare împreună a unui router și NAS, vom descrie una dintre opțiunile de organizare a accesului complet și securizat la fișierele dvs. de pe Internet.

Synology are o opțiune foarte convenabilă pentru aceasta - managerul de fișiere încorporat FileStation. Este necesar ca HTTPS să fie activat. Portul poate fi lăsat la 7001 implicit, dar în cazul în care routerul nu poate funcționa cu diferite porturi externe și interne, este mai bine să îl schimbați cu ceva mai puțin „obișnuit”.

Controalele privind drepturile utilizatorului de la Synology se aplică și serviciilor suplimentare, așa că trebuie să vă asigurați că FileStation este autorizat pentru persoanele potrivite.

Următorii doi pași sunt efectuati pe router. Mai întâi, atribuim o adresă MAC hard-bind a NAS uneia dintre adresele IP din intervalul LAN de pe pagina de proprietăți a serverului DHCP. Acest lucru ne va permite să fim siguri că adresa IP nu se va schimba după repornire.

Ei bine, atingerea finală este scopul de a difuza portul extern către FileStation. În exemplul nostru, am selectat portul extern 39456 și l-am transferat la 7001 intern la adresa 192.168.1.40 a dispozitivului de stocare în rețea.

Aceasta completează configurarea. Acum, de oriunde de pe Internet, vă puteți accesa fișierele printr-un browser, tastând linkul „https://myhost.homedns.org:39456” în bara de adrese (adresa este luată ca exemplu din articolul anterior) și specificarea numelui de utilizator și a parolei

În articolul următor ne vom uita la lucrul cu servicii suplimentare de stocare în rețea.

Android folosește un sistem de fișiere similar cu sistemele de fișiere bazate pe disc de pe alte platforme. Acest tutorial descrie cum să lucrați cu sistemul de fișiere Android pentru a citi și scrie fișiere folosind File API.

Alegeți stocarea internă sau externă

Toate dispozitivele Android au două zone de stocare a fișierelor: stocare „internă” și „externă”. Aceste nume provin din primele zile ale Android, când s-a sugerat că majoritatea dispozitivelor oferă memorie permanentă încorporată (stocare internă), precum și stocare amovibilă, cum ar fi un card micro SD (stocare externă). Unele dispozitive împart spațiul de stocare persistent în partiții „interne” și „externe”, de ex. chiar și fără stocare amovibilă, există întotdeauna două stocări, iar comportamentul API pentru stocarea externă este același, indiferent dacă este amovibil sau nu. Următoarele liste rezumă faptele despre fiecare depozit.

Stocare internă:

  • Mereu valabil.
  • Fișierele salvate aici sunt, în mod implicit, accesibile numai de către aplicația dvs.
  • Când un utilizator vă dezinstalează aplicația, sistemul șterge toate fișierele aplicației din memoria internă.

Stocarea internă este cea mai bună atunci când doriți să vă asigurați că nici utilizatorul, nici alte aplicații nu pot accesa fișierele.

Stocare externă:

  • Nu este întotdeauna disponibil, deoarece utilizatorul poate monta o unitate externă ca stocare USB și, în unele cazuri, o poate elimina de pe dispozitiv.
  • Citirea este permisă pentru toată lumea, astfel încât fișierele salvate aici pot fi citite fără controlul dvs.
  • Când un utilizator vă dezinstalează aplicația, sistemul șterge fișierele aplicației de aici numai dacă le stocați într-un director din getExternalFilesDir() .

Sfat util: deși aplicațiile sunt instalate implicit pe stocarea internă, puteți specifica atributul android:installLocation în manifest, astfel încât aplicația să poată fi instalată pe stocarea externă. Utilizatorii apreciază această opțiune atunci când dimensiunea APK-ului este foarte mare și au spațiu de stocare extern mai mare decât memoria internă. Pentru mai multe informații, consultați Calea de instalare a aplicației.

Obțineți permisiuni pentru unitățile externe

Pentru a scrie pe o unitate externă, trebuie să solicitați permisiunea WRITE_EXTERNAL_STORAGE în fișierul manifest:

...

Atenție: în prezent, toate aplicațiile au capacitatea de a citi de pe dispozitive de stocare externe fără permisiune specială. Cu toate acestea, acest lucru se va schimba într-o versiune viitoare. Dacă aplicația dvs. trebuie să citească stocarea externă (dar nu să scrie pe aceasta), atunci va trebui să declarați permisiunea READ_EXTERNAL_STORAGE. Pentru a vă asigura că aplicația dvs. continuă să funcționeze conform așteptărilor, trebuie să declarați această permisiune acum înainte ca modificările să intre în vigoare.

...

Cu toate acestea, dacă aplicația dvs. folosește permisiunea WRITE_EXTERNAL_STORAGE, are implicit și permisiunea de a citi stocarea externă.

Nu aveți nevoie de permisiuni pentru a salva fișiere în stocarea internă. Aplicația dvs. are întotdeauna permisiunea de a citi și scrie fișiere în directorul de stocare intern.

Salvați fișierul pe stocarea internă

Când salvați un fișier în stocarea internă, puteți solicita directorul corespunzător, ca obiect Fișier, apelând una dintre cele două metode:

getFilesDir() Returnează fișierul, care este directorul intern al aplicației dvs. getCacheDir() Returnează fișierul, care este directorul intern pentru fișierele cache temporare ale aplicației dvs. Asigurați-vă că nu mai trebuie să ștergeți fișierele pe rând și implementați o limită rezonabilă a cantității de memorie pe care o veți folosi în orice moment, cum ar fi 1 MB. Dacă sistemul rămâne fără spațiu, vă poate șterge fișierele cache fără avertisment.

Pentru a crea un fișier nou într-unul dintre aceste directoare, puteți utiliza constructorul File(), trecând un fișier furnizat prin una dintre metodele de mai sus care indică directorul dumneavoastră intern. De exemplu:

Fișier fișier = fișier nou (context.getFilesDir(), nume fișier);

Alternativ, puteți apela openFileOutput() pentru a obține un FileOutputStream care scrie într-un fișier din directorul intern. De exemplu, iată cum să scrieți text într-un fișier:

String nume fișier = „fișierul meu”; String șir = „Bună lume!”; FileOutputStream outputStream; încercați ( outputStream = openFileOutput(nume fișier, Context.MODE_PRIVATE); outputStream.write(string.getBytes()); outputStream.close(); ) catch (Excepția e) ( e.printStackTrace(); )

Sau dacă trebuie să memorați în cache unele fișiere, atunci ar trebui să utilizați createTempFile() . De exemplu, următoarea metodă extrage un nume de fișier dintr-o adresă URL și creează un fișier cu același nume în directorul cache intern al aplicației dvs.:

Fișier public getTempFile(Context context, String URL) ( fișier fișier; încercați ( String fileName = Uri.parse(url).getLastPathSegment(); fișier = File.createTempFile(fileName, null, context.getCacheDir()); catch (IOException) e) ( // Eroare la crearea fișierului ) returnează fișierul; )

Notă: directorul de stocare internă al aplicației dvs. utilizează numele pachetului aplicației dvs. și se află într-o locație specială din sistemul de fișiere Android. Din punct de vedere tehnic, o altă aplicație vă poate citi fișierele interne dacă setați modul de acces al fișierului să citească. Cu toate acestea, și alte aplicații trebuie să cunoască numele pachetului și numele fișierelor. Alte aplicații nu vă pot vizualiza directoarele interne și nu au acces de citire sau scriere decât dacă setați în mod explicit permisiuni de citire sau scriere. Deci, în timp ce utilizați MODE_PRIVATE pentru fișierele din memoria internă, acestea nu sunt accesibile altor aplicații.

Salvați fișierul pe o unitate externă

Deoarece este posibil ca stocarea externă să nu fie disponibilă - de exemplu, atunci când un utilizator montează spațiu de stocare pe un computer sau scoate un card SD care oferă stocare externă - ar trebui să vă asigurați întotdeauna că o partiție este accesibilă înainte de a o accesa. Puteți interoga stările de stocare externă apelând getExternalStorageState() . Dacă starea returnată este MEDIA_MOUNTED, atunci puteți citi și scrie fișiere. De exemplu, următoarele metode sunt utile pentru a determina disponibilitatea stocării:

/* Verifică dacă stocarea externă este disponibilă pentru citire și scriere */ public boolean isExternalStorageWritable() ( String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state)) ( returnează adevărat; ) returnează false; ) / * Verifică dacă stocarea externă este disponibilă cel puțin pentru a citi */ public boolean isExternalStorageReadable() ( String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) ( returnează adevărat; ) returnează fals; )

Deși dispozitivul de stocare extern poate fi modificat de către utilizator și alte aplicații, există două categorii de fișiere pe care le puteți salva aici:

Fișiere publice Fișiere care ar trebui să fie liber accesibile pentru alte aplicații și pentru utilizator. Când un utilizator vă dezinstalează aplicația, aceste fișiere ar trebui să rămână disponibile utilizatorului.

De exemplu, fotografii realizate folosind aplicația sau alte fișiere descărcate.

Fișiere personale Fișierele care aparțin de drept aplicației dvs. și ar trebui să fie șterse atunci când un utilizator vă dezinstalează aplicația. Deși aceste fișiere sunt accesibile din punct de vedere tehnic pentru utilizator și pentru alte aplicații, deoarece sunt pe stocare externă, acestea sunt fișiere care nu au valoare reală pentru utilizator în afara aplicației dvs. Când un utilizator vă dezinstalează aplicația, sistemul șterge toate fișierele din directorul privat extern al aplicației.

De exemplu, resurse suplimentare descărcate de aplicația dvs. sau fișiere media temporare.

Dacă doriți să stocați fișiere partajate pe un dispozitiv de stocare extern, utilizați metoda pentru a obține fișierul care reprezintă directorul corespunzător de pe dispozitivul de stocare extern. Metoda ia un argument care indică tipul de fișier pe care doriți să-l salvați, astfel încât acestea să poată fi organizate logic cu alte fișiere publice, cum ar fi DIRECTORY_MUSIC sau DIRECTORY_PICTURES . De exemplu:

Fișier public getAlbumStorageDir(String albumName) ( // Obține directorul pentru directorul de imagini publice al utilizatorului. Fișier fișier = fișier nou (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), albumName); if (!file.mkdirs()) ( Log.e(LOG_TAG, „Directorul nu a fost creat”); ) fișier returnat; )

Dacă doriți să stocați fișiere care sunt private pentru aplicația dvs., puteți solicita directorul corespunzător apelând getExternalFilesDir() și dându-i un nume care indică tipul de director necesar. Fiecare director creat în acest fel este adăugat la un director părinte care încapsulează toate fișierele de stocare externă ale aplicației dvs. pe care sistemul le șterge atunci când utilizatorul vă dezinstalează aplicația.

De exemplu, iată o metodă pe care o puteți folosi pentru a crea un director pentru un singur album foto:

Public File getAlbumStorageDir(Context context, String albumName) ( // Obține directorul pentru directorul de imagini private al aplicației. Fișier fișier = new File(context.getExternalFilesDir(Environment.DIRECTORY_PICTURES), albumName); if (!file.mkdirs( )) ( Log.e(LOG_TAG, „Directorul nu a fost creat”); ) fișier returnat; )

Dacă niciunul dintre numele de subdirectoare predefinite nu se potrivește cu fișierele dvs., puteți apela getExternalFilesDir() și treceți null în schimb. Aceasta returnează directorul rădăcină pentru directoarele private ale aplicației dvs. de pe unitatea externă.

Indiferent dacă utilizați getExternalStoragePublicDirectory() pentru fișierele care sunt publice sau getExternalFilesDir() pentru fișierele care sunt private pentru aplicația dvs., este important să utilizați numele de directoare furnizate de constantele API, cum ar fi DIRECTORY_PICTURES . Aceste nume de directoare asigură că fișierele sunt interpretate așa cum se așteaptă de către sistem. De exemplu, fișierele salvate în DIRECTORY_RINGTONES sunt clasificate de sistemul de scanare media ca tonuri de apel în loc de muzică.

Solicitați spațiu liber

Dacă știți dinainte câte date veți stoca, vă puteți da seama dacă există suficient spațiu disponibil fără a arunca o IOException apelând getFreeSpace() sau getTotalSpace() . Aceste metode oferă informații despre spațiul disponibil curent și, respectiv, spațiul total de partiție. Aceste informații sunt utile și pentru a evita umplerea unei partiții de unitate dincolo de un anumit prag.

Cu toate acestea, sistemul nu garantează că puteți scrie atât de mulți octeți cât este indicat de getFreeSpace() . Dacă numărul returnat este cu câțiva MB mai mare decât dimensiunea datelor pe care doriți să le stocați sau dacă sistemul de fișiere este plin cu mai puțin de 90%, atunci probabil că sunteți gata. Altfel, probabil că nu merită să scrieți în stocare.

Notă: nu vi se cere să verificați spațiul liber înainte de a salva fișierul. În schimb, puteți încerca să scrieți fișierul și să prindeți o IOException dacă apare. Poate fi necesar să faceți acest lucru dacă nu știți exact de cât spațiu aveți nevoie. De exemplu, dacă modificați codificarea unui fișier înainte de a salva prin conversia unei imagini PNG într-un JPEG, nu veți ști în avans dimensiunea fișierului.

Ștergerea unui fișier

Ar trebui să ștergeți întotdeauna fișierele de care nu mai aveți nevoie. Cel mai simplu mod de a șterge un fișier este să apelați delete() .

MyFile.delete();

Dacă fișierul este stocat în stocarea internă, puteți cere și Context să găsească și să șterge fișierul apelând deleteFile() :

MyContext.deleteFile(fileName);

Notă: Când un utilizator șterge aplicația dvs., sistemul Android șterge următoarele:

  • Toate fișierele salvate în stocarea internă
  • Toate fișierele stocate pe unitatea externă folosind getExternalFilesDir() .

Cu toate acestea, ar trebui să eliminați manual toate fișierele din cache create de getCacheDir() în mod regulat și, de asemenea, să eliminați în mod regulat alte fișiere de care nu mai aveți nevoie.

Serviciile de stocare a datelor în cloud au devenit un adevărat panaceu pentru toți cei care doreau să-și acceseze datele de pe orice dispozitiv de oriunde în spațiu. Ne-am mutat cu bucurie datele în nori și le-am folosit cu succes, doar uneori citind cu prudență cele mai recente știri despre hack-urile iCloud și Dropbox. Unii oameni sunt bântuiți inițial de faptul că cloud-ul este controlat de „cineva”, dar nu de utilizatorul însuși. Aceștia sunt exact genul de entuziaști care au făcut OwnCloud.

Ce este

Un „nor al tău” nu este altceva decât stocare personală care rulează pe propriul tău server web sau site. Caracteristica principală a OwnCloud este că este gratuit și open source. În general, dacă platforma de găzduire menționată mai sus este disponibilă, utilizatorul va avea nevoie de aproximativ 5 minute pentru a-și implementa propriul spațiu de stocare asemănător Dropbox și fără codare sofisticată - nu este nevoie de cunoștințe specifice. În plus, utilizatorul are acces la aplicații (editore de text, liste de sarcini și alte lucruri utile) pe care alți participanți la proiect le creează pentru propriile nevoi.

Facebook Google Plus Acces refuzat sau problemă cu permisiunea de acces la un fișier/dosar de pe o unitate externă

Uneori, atunci când conectați o unitate externă la un computer care rulează Windows 2000 Pro, XP sau Vista, trebuie să atribuiți permisiuni/privilegii. Deoarece fișierele sunt deținute de un alt cont, este posibil să primiți o eroare „Acces refuzat” sau „Indisponibil” atunci când încercați să deschideți unitatea sau folderul de pe acesta.

Consultați mai jos informații despre transferul dreptului de proprietate către utilizatorul actual în XP Professional. Aceste instrucțiuni se aplică și pentru Windows Vista.
(Acasa XP.)

Pentru a transfera dreptul de proprietate către utilizatorul actual în Windows XP HOME:

  • Porniți în modul sigur.
  • Faceți clic dreapta pe fișierul/dosarul dorit și deschideți secțiunea Proprietăți.
  • Faceți clic pe Securitate > Avansat > Proprietar și selectați contul de utilizator de pe computer pe care doriți să îl dețineți aceste fișiere și foldere.
    Bifați caseta de selectare „Înlocuiți proprietarul pe subcontainere și foldere” pentru a permite tuturor fișierelor dintr-un dosar să moștenească modificări (doar când se modifică permisiunile pentru foldere).
  • Dacă primiți mesajul „Nu aveți permisiunea de a citi conținutul folderului [ numele fisierului]. Doriți să modificați permisiunile pentru acest dosar, astfel încât să aveți drepturi de control total? Toate permisiunile vor fi înlocuite dacă faceți clic pe butonul „Da”. Faceți clic pe butonul Da.
  • Consultați următoarele articole din Centrul de asistență Microsoft:

    Dacă nu puteți modifica permisiunile, verificați dacă fișierele dvs. sunt criptate folosind funcția de criptare Windows. În loc de negru obișnuit, vor avea font verde:

    Pentru a recupera aceste fișiere, trebuie să reconectați unitatea la computerul original. Fișierele sunt criptate fără a utiliza software-ul Seagate. Pentru mai multe informații, consultați următoarele articole din baza de cunoștințe Microsoft:

    În cele din urmă, structura fișierului poate fi deteriorată.

    • Rulați o verificare a discului pentru a încerca să remediați corupția.
    • Dacă partiția este deteriorată, urmați pașii descriși mai sus.

    INDICAREA DEZVOLTATORILOR ȘI SITE-URILOR TERȚE PĂRȚI. Seagate identifică dezvoltatorii terți și produsele terțelor doar în scop informativ și nu favorizează și nu recomandă (direct sau indirect) niciuna dintre companiile menționate. Seagate nu oferă nicio garanție (inclusiv implicită sau de altă natură) cu privire la performanța sau fiabilitatea acestor companii sau produse. Seagate nu este afiliată și nu controlează niciuna dintre companiile menționate și, prin urmare, nu își asumă nicio responsabilitate în legătură cu acestea și își declină orice răspundere cu privire la acțiunile sau produsele companiilor menționate. Vă rugăm să efectuați propria evaluare independentă înainte de a face afaceri cu orice companie. Vă rugăm să contactați direct producătorul aplicabil pentru specificații și informații despre garanție. Acest document conține link-uri către site-uri web terțe pe care Seagate nu le controlează. Asemenea link-uri sunt furnizate pentru comoditate și sunt utilizate pe riscul propriu al utilizatorului. Seagate nu oferă garanții sau aprobări cu privire la materialele furnizate pe astfel de site-uri web și nu își asumă nicio responsabilitate pentru acestea sau pentru utilizarea acestor site-uri web.

    Nafa 647 14.01.10 02:27 Momentan la subiect

    Articolul este util.
    Există într-adevăr o mulțime de lucruri care nu sunt evidente în funcționarea unei unități de depozitare, așa că adăugările mele:
    1. Dacă funcționează mai mulți programatori, atunci ca opțiune,
    Ziua de lucru începe de obicei cu următoarele:
    Lansăm baza noastră de date în configurator, facem clic dreapta pe rădăcina de configurare - obțineți din stocare, bifați caseta de selectare „recursivă”, faceți clic pe OK. După aceea, intrăm în configurație tot ce au dezvoltat alții din depozit. NU ACTUALIZĂM DB-UL ÎNSĂSI!!!
    Apoi, dorim să „comparăm configurația cu configurația bazei de date” - și vedem o listă cu toate modificările făcute de alți programatori din grup în ziua precedentă. Dacă aveți întrebări despre modificări, contactați persoana care le-a făcut.
    După ce totul a fost rezolvat, îl salvăm în baza de date.
    De ce să nu o comparați cu configurația de stocare - în primul rând, astfel încât acele obiecte la care lucrați însuți să nu fie afișate și, în al doilea rând, funcționează mai rapid.
    2. La mijlocul zilei: modificările urgente (pentru actualizări dinamice) sunt trimise imediat la depozit. Nu este urgent - după ce schimbăm toate obiectele aferente. (vezi explicatia de mai jos)
    3. La sfârșitul zilei (și dacă trebuie să faceți o actualizare completă a bazei de date, atunci înainte de aceasta) punem tot ce putem în stoc.
    Aceasta nu este o comandă obligatorie, dar foarte convenabilă.

    4. De ce nu îl postăm imediat:
    deoarece integritatea modificărilor este controlată de 1C numai acolo unde există o legătură. Adică, dacă, de exemplu, ați făcut un director „Mașini clienți” și ați adăugat un link la acesta în „factură”, atunci puteți plasa „Factura” în depozit numai după (sau simultan) cu directorul „Client”. Mașini”. Dar dacă, de exemplu, ați folosit acest director într-o procedură generală de modul, care este apelată la postarea unei facturi, atunci acest modul general se poate încadra cu ușurință în stocare fără a plasa directorul. Dacă după aceasta un alt programator primește acest modul din depozit, atunci facturile nu vor mai fi postate în baza sa de date. (Și dacă actualizați baza de date principală, atunci se vor opri și acolo).
    Și acesta este un alt caz bun - pentru că este doar o eroare. Dar dacă, de exemplu, ai schimbat tipul de atribut dintr-un document din șir în text și în procedura modulului general a existat o verificare Dacă Atribut = „1” și a devenit Dacă Atribut = 1 și modulul a fost plasat în stocare dar documentul nu a fost, atunci nu va fi nicio eroare (bună ziua controlului tip absență), ceea ce înseamnă că cei care primesc un astfel de modul vor avea documentele executate incorect (și e bine dacă aceasta nu este baza de date principală). Prin urmare, este mai bine să trimiteți modificări la depozit ca un „pachet complet” (toate obiectele schimbate pe un subiect), dacă aveți nevoie de ceva pentru o altă sarcină, îl puteți lua imediat pentru unul nou sau pur și simplu „l lăsați capturat” atunci când îl plasați în depozit.

    În acest sens, nu prea am înțeles:

    Dacă există mulți programatori, atunci modificările fiecăruia trebuie trimise pe rând către Repository, având PRELIMINAR încărcat munca tuturor în fișiere externe cu configurația locală a bazei de date și (dacă îmbinarea se face de la diferite stații de lucru), fără a uita să ACTUALIZAȚI bazele de date locale din Repository înainte de fiecare îmbinare - la cea mai recentă versiune, cu modificările camarazilor conectați anterior prezenți acolo..

    Ciudat, nu au fost probleme când mai multe persoane au făcut modificări deodată, doar că a încetinit puțin. Acesta este motivul pentru care capturarea obiectelor este concepută astfel încât 2 persoane să nu repare același lucru deodată. Mai mult, s-a observat că: dacă un dezvoltator a schimbat un document, spuneți „Raport anticipat”, iar apoi al doilea nu a „primit”, ci îl capturează imediat (de exemplu, un obiect tocmai a fost plasat în depozit), atunci 1C va urmări acest lucru și îi va oferi deja o versiune nouă - modificată. (Se întâmplă atât de amuzant - te uiți la document - 5 detalii, apucă-l - deja 15).

    Și nici nu înțeleg de ce ar trebui să încarc lucrarea în fișiere externe.

    4. Este mai ușor pentru programatori să creeze copii ale bazei de date nu prin încărcarea și descărcarea 1Sovskaya (deoarece necesită modul exclusiv și nu este foarte rapid), ci prin restaurarea unei copii de rezervă sau pur și simplu copierea bazei de date pe obraz.

    5. Dacă trebuie să adăugați un nou obiect (document, carte de referință etc.), atunci luați rădăcina de configurare, adăugați-o, adăugați un minim de detalii (obiectele complet „goale” nu sunt întotdeauna salvate), depuneți rădăcina în depozitarea (acest obiect va fi, de asemenea, predat în același timp) și ridicați din nou obiectul. (Pentru a nu păstra rădăcina capturată mult timp - și alții au nevoie de ea).

    6. Dacă doriți să corectați drepturile de acces la un obiect, l-ați capturat - dar drepturile de acces sunt încă indisponibile - luați rolul corespunzător.

    7. Deoarece depanarea se face cel mai bine folosind datele cele mai recente, bazele de date de lucru trebuie să fie actualizate. Pentru a face acest lucru: plasați toate modificările în stocare, deconectați baza de date de la stocare, copiați baza de date principală în ea pe back-end (dintr-o copie de rezervă sau doar copiați-o), conectați-o din nou.

    8. Când facem „obține totul din stocare” (pasul 1), se întâmplă ca 1C să producă o grămadă de mesaje și apoi să scrie că „a eșuat” (lista de obiecte se modifică). Aceasta înseamnă că nu am primit modificări de mult timp. Este în regulă, faceți clic din nou pe OK și așa mai departe până când funcționează așa cum ar trebui.

    9. Uneori, 1C refuză să salveze modificările primite din depozit, iar mesajul este complet neclar. Vinovații sunt de obicei „registrele de informații”. Aflăm ce registru de informații și-a schimbat structura, ștergem toate înregistrările din acesta din baza noastră de date, după care totul va fi actualizat așa cum trebuie.

    10. Deoarece bazele de date de lucru sunt făcute din cea principală, numele configurațiilor sunt aceleași și sunt ușor de confundat, iar apoi neînțelegerile încep atunci când utilizatorul spune că are 100 de ruble în raportul său, iar tu ai 100.000 de ruble . Opțional, adăugăm la modulul aplicației o linie care verifică când pornește programul ce fel de bază de date este și, dacă nu cea principală, afișează aceasta în titlul programului 1C (de exemplu, „BAZA DE LUCRU A PROGRAMATORULUI IVANOV”)

    11. Când baza de date este conectată la stocare, dar la pornire nu a fost posibilă conectarea la ea din orice motiv, poate apărea mesajul „Failed to connect, deconect from storage” (și ați capturat obiecte) - aici RĂSPUNS "NU". Dar dacă răspundeți accidental „da”, atunci nu încercați să vă conectați din nou!!! Mai întâi salvați configurația într-un fișier!!! De când ne conectăm la stocare, întreaga configurație a bazei de date este înlocuită cu configurația de stocare. După aceea, încărcăm modificările din fișierul salvat și lucrăm în continuare.