Skip to main content

Android File System

Android File System


  • Introduction to Android file system in Hindi 
  • Directories android file system in Hindi   
  • Sharing android files in Hindi 

Introduction to Android File System 

Android file system में जितनी भी directories होती है उन सबका अलग अलग purpose होता है। इनमे से कुछ directories ऐसी भी होती है जिनके बिना android system काम नहीं कर सकता। Android के file system में device से related data भी होता है और साथ ही user का data भी होता है। User की files core file system को corrupt न करे इसके लिए user files और system files को अलग अलग directories में स्टोर किया जाता है। 

Android system files के unauthorized access से बचने के लये permissions भी provide करता है। कुछ  ऐसी फाइल्स होती है जो device run करने के लिए necessary होती है। ऐसी files को आप delete भी नहीं कर सकते है। इसलिए ऐसी files के लिए सिर्फ read permission होती है। User files के लिए complete permission दी जाती है। आप read भी कर सकते है और file को modify भी कर सकते है और delete भी कर सकते है। 

Android file system एक hierarchy के द्वारा represent किया जाता है। Android file system में बहुत सी directories है। लेकिन जरुरी नहीं की आपको इन सबका ज्ञान हो कुछ necessary directories है जिनके बारे में मै आपको बताऊंगा।            

Directories of Android File System

  • /Boot - इस directory में वो सभी tools available होते है जो android system को start होने के लिए necessary होते है। इस directory में kernel और ram-disk होती है। इस directory के बिना आपका device start नहीं हो सकता है। यदि इस  directory को delete कर दिया जाये तो आपका device तब तक start नहीं होगा जब तक की आप वापस इसे ना डाले। 
  • /System  -  इस directory में आपका पूरा android operating system होता है। इस directory में android का graphical user interface होता है। साथ ही वो सभी application जो आपके device में पहले से installed की हुई आती है इसी directory में होती है। यदि इस directory को delete कर दिया जाये तो आपका phone तो on रहेगा लेकिन उसमे android operating system नहीं होता है। इसलिए आप device से कुछ भी नहीं कर सकते है। 
  • /Recovery - ये directory backup के लिए बनायीं गयी है। यदि आपके system की boot directory corrupt हो जाती है तो आपके पास ये एक विकल्प होता है। इस directory के द्वारा आप pure system को फिर से recover कर सकते है। 
  • /Data - इस directory में यूज़र का data store किया जाता है। इस directory में user की images, files, videos और contacts होते है। User जो android applications install करता है वह भी इसी directory में store की जाती है। यदि आप अपने devices को reset करते है तो ये directory पूरी खाली हो जाती है। 
  • /Cache - इस directory में वो files और applications होती है। जिन्हे आप frequently यूज़ करते है। इस directory को format करने से user और system data पर कोई फर्क नहीं पड़ता है। इस directory को format करके आप RAM memory को फ्री कर सकते है। 
  • /Misc -  इस directory में यूज़र की settings store की जाती है जो device को personalize करती है।  

Sharing Files

कई बार एक application द्वारा दूसरी application को files share करने की आवश्यकता होती है। उदाहरण के लिए जब आप अपने किसी मित्र को कोई picture भेजना चाहते है तो picture gallery application whats-app application के साथ picture शेयर करती है। यदि आप चाहे तो अपनी application की किसी file को शेयर कर सकते है। File को एक application से दूसरी application तक पहुँचाने के लिए आपको अपनी application को configure करना होता है। आप files को content URI की form में शेयर करते है।

Android में FileProvider class  content URI generate करती है। किसी भी application के साथ files शेयर करने का सबसे अच्छा तरीका होता है की आप files को send ना करके उनके URI (files URL ) को शेयर करे और दूसरी application को कुछ देर के लिए file को access करने की permission दे दे।    

Send की जाने वाली files का URL शेयर करना safe होता है इससे आप receive करने वाली application को uniquely identify कर सकते है और उस application के अलावा और कोई application files को access नहीं कर सकती है। Content URI कुछ समय बाद अपने आप expire हो जाते है।

FileProvider क्लास का getUriForFile() method किसी भी file का URI generate करने के लिए यूज़ किया जाता है। इस method में आप file का नाम argument की तरह पास करते है और ये function आपको उस file का URI return करता है।

Files शेयर करने के लिए आपको अपनी application में FileProvider को define करना होता है। ऐसा आप FileProvider की entry AndroidManifest.xml file में करके कर सकते है। इसके लिए आप <provider> element यूज़ करते है। इस element के 4 attributes होते है -

  • andriod:name - इसमें आप FileProvider क्लास का URI देते है। 
  • android:authorities - इसमें आप उस authority का नाम देते है जो आप FileProvider क्लास के द्वारा generated content URI के लिए यूज़ करना चाहते है। ex. yrPackage.fileprovider. 
  • android:grantUriPermission - इस attribute को आप true set करते है। 
  • android:exported - इस attribute को आप initially false set करते है। 



<provider android:name="URI-of-file-provider-URI" android:authorities="name-Of-Authority" android:grantUriPermission="true" android:exported="false">



<meta-data> element <provider> element का एक sub element होता है। ये element एक XML file को दर्शाता है जिसमे ये define होता है की आप कौन कौन सी directories share करना चाहते है। इस element के 2 attributes होते है-


  • android:name - इसमें आप FileProvider के paths वाली क्लास का URI देते है। 
  • android:resource - इसमें आप XML file का URI देते है।      



<meta-data android:name="file-provider-paths-URI" resource="name-of-XML-file" >



XML file में जो directories आप share करना चाहते है उन्हें define करना बिलकुल आसान होता है। इसके लिए आप <paths> element यूज़ करते है। इस element का एक sub element होता है <files-path>. इस element में आप directory का path देते है। इस element के 2 attribute होते है name और path.        


<paths>
<files-path  path ="yourDirectory/" name="nameOfFile">
</paths>



जब आप अपनी class के लिए file provider define कर ले तो दूसरी applications से आने वाली requests को आप handle कर सकते है। ऐसा करने का एक तरीका ये है की आप एक activity create करे जो file selection interface provide करे। और जब files select की जाए तो आप उस selection पर action ले सकते है। लेकिन action लेने से पहले आपको दूसरी application को access permissions देनी चाहिए। 

Comments

Popular posts from this blog

Android Services

Android Services Introduction to  android services in Hindi  Declaring  services in Hindi Creating a  android service in Hindi Introduction to Android Services इससे पहले की आप जाने की service क्या होती है आइये जानते है की service क्या नहीं होती है - एक service separate प्रोसेस नहीं होती है। ये आपकी एप्लीकेशन का ही पार्ट होती है।  एक service thread नहीं होती है।  आइये अब देखते है service क्या होती है - Service एक facility होती है जिससे आप android system को बता सकते है की आप कोई काम background में करते रहना चाहते है।  Service एक facility होती है जिससे एक एप्लीकेशन अपनी कुछ functionality दूसरी applications को expose कर सकती है।    हर service क्लास का <service> declaration AndroidManifest.xml file में होना चाहिए। Services को आप context.startService() और context.bindService() मेथड्स से स्टार्ट कर सकते है।            जब service component क्रिएट होता है तो android syst...

Android Activity

Android Activity Activity life cycle in Hindi Starting an  android activity in Hindi Creating a new activity in Hindi Destroying an  android activity in Hindi Introduction to Activity आप की application में एक से ज्यादा activity हो सकती है। जब आप इन activities के through navigate करते है, यानि एक activity से दूसरी activity में जाते है तो activity अपनी life cycle की different stages में जाती है। उदाहरण के लिए जब आपकी activity start होती है तो ये foreground में होती है और user का पूरा focus इस पर होता है। इस process के दौरान  android  system कुछ life cycle methods को call करता है। यदि user कोई दूसरी activity start करता है तो android system उस activity के life cycle methods को call करता है और आपकी पहले वाली activity background में चली जाती है। life cycle methods में आप decide कर सकते है की जब user जाता है या वापस आता है तो आपकी activity कैसे behave करेगी।  उदाहरण के लिए यदि आप एक वीडियो player बना रहे है तो जब user किसी दूसरी activity पर जाये तो...

Android Spinners

Android Spinners  Introduction to  android spinners in Hindi Defining  android spinners in Hindi Creating spinner items array in Hindi Responding to spinner selections in Hindi    Introduction to Android Spinners Android spinners आपकी एप्लीकेशन में एक drop down menu होती है। इस drop down menu में बहुत से items होते है जिन्हे user choices कहते है। जब user spinner पर क्लिक करता है तो ये items शो होते है। यूज़र अपने लिए appropriate choice choose करता है। By default spinner में सबसे top वाला element शो होता है। Spinners को XML layout file में क्रिएट किया जाता है। और items की लिस्ट string resource file में क्रिएट की जाती है। जिसमे आप एक string array क्रिएट करते है।  Spinner और items को जोड़ने के लिए एक array adapter क्रिएट किया जाता है। इसके बाद selection events को respond करने के लिए OnItemSelectedListener interface को  इम्प्लीमेंट किया जाता है।  Defining Android Spinners Android spinners को आप XML l...