Skip to main content

Android Storage System

Android Storage System 


  • Introduction to Android storage in Hindi 
  • Options for android storage in Hindi 
  • Shared preferences in Hindi 
  • Internal storage in Hindi 
  • External storage in Hindi 

    Introduction to Android Storage System 

    Android system data को स्टोर करने के लिए बहुत से options provide करता है। आप कौनसा option choose करते है ये आप पर depend करता है। यदि आपका data primitive है तो आप shared preferences use कर सकते है। यदि आपका data private है तो आप उसे internal storage में store कर सकते है। यदि आपकी application के लिए database में डेटा store करना जरुरी है तो आप SQLite database में डेटा स्टोर कर सकते है। और यदि आप चाहे तो network connection के द्वारा किसी cloud storage में भी अपना data स्टोर कर सकते है।

    हाँलांकि android system इतने सारे storage option provide करता है लेकिन फिर भी अपनी application के लिए सही storage option choose करना बहुत ही  necessary है। इसके लिए आपको अपने project से जुड़े हुए सभी members की advice लेनी चाहिए।

    आइये अब different android storage options के बारे में detail से जानने का प्रयास करते है।


    Shared Preferences 

    SharedPreferences एक क्लास होती है। ये क्लास आपको एक ढांचा provide करती है। इस क्लास में आप key value के pair में केवल primitive values (int , boolean, char, float, strings) store कर सकते है। जो डेटा आप shared preferences में store करते है वो different user sessions में भी available रहता है।

    SharedPreferences क्लास का object प्राप्त करने के लिए आपके पास 2 options होते है। एक तो आप getSharedPreferences()method  को call कर सकते है। ये method आपको तब ही use करना चाहिए जब आप बहुत सी preferences files create करना चाहते है। दूसरा option ये है की आप getPreferences() method को कॉल करे इस method के द्वारा आप सिर्फ एक ही preference file create कर सकते है।        

    सबसे पहले आप SharedPreferences क्लास का object क्रिएट करेंगे। इसमें आप variable का नाम और initial value पास करते है।


    SharedPreferences myObj = new SharedPreferences(variable_name, initial-value);



    SharedPreferences क्लास का object क्रिएट करने के बाद value store करने  के लिए आपको SharedPreferences.Editor क्लास का ऑब्जेक्ट क्रिएट करना होगा। ऐसा आप SharedPreferences क्लास के object पर edit() मेथड को कॉल करके कर सकते है।


    SharedPreferences.Editor ediObj = myObj.edit();


          
    अलग अलग तरह की values store करने के लिए अलग अलग methods है। जैसे की putBoolean() और putString() आदि। इन methods को आप editor object पर कॉल करते है। 


    ediObj.putString("name",value);




    इसके बाद आपको values को commit करना होता है।


    ediObj.commit();


    Values को read करने के लिए आप SharedPreferences क्लास के ऑब्जेक्ट पर अलग अलग methods को कॉल कर सकते है जैसे की getBoolean() और getString() आदि।    



    Internal Storage 

    आप files को device की internal memory में भी save कर सकते है। जो files internal memory में saved होती है वो private होती है, दूसरी applications इन्हे access नहीं कर सकती है। जब यूज़र आपकी application को remove करता है तो ये files भी remove हो जाती है।

    किसी भी file को internal storage में save करने के लिए आपको openFileOutput() method को कॉल करना होगा। ये method FileOutputStream class का object return करता है। FileOutputStream क्लास data को file के through output करने के लिए यूज़ की जाती है। ये क्लास एक stream को represent करती है। openFileOutput() method में आप file का नाम और mode pass करते है। File के 4 mode होते है।

    • MODE_PRIVATE - ये default mode होता है। इस mode में file private रहती है।   
    • MODE_APPEND - यदि पास किये गए नाम की file पहले से है तो नया डेटा उसी file के data के आखिर में add हो जाता है।  
    • MODE_WORLD_READABLE - इस तरह की files create करना security के point of view से बहुत risky होता है। इस तरह की फाइल को कोई भी दूसरी application access कर सकती है।     
    • MODE_WORLD_WRITABLE - इस तरह की file को कोई भी दूसरी application modify कर सकती है। 

      FileOutputStream का object पाने के बाद आप उस पर write() मेथड को कॉल करते है और file को save कर देते है। इसके बाद आप close method call करके output stream close कर देते है। 


      String name="yrName";

      FileOutputStream obj = openFileOutput(fileName,Context.MODE_PRIVATE);

            
      obj.write(name.getBytes()); // write data in form of byte only.


      obj.close(); // closing stream   


      इसी प्रकार internal storage में से files को read करने के लिए आपको openFileInput() method को कॉल करना होगा। ये method FileInputStream क्लास का object return करता है। इस method में आप file का नाम पास करते है। इसके बाद आप FileInputStream के object पर read() मेथड कॉल करके file को read करते है।


      FileInputStream obj = openFileInput(fileName);

      obj.read();


      obj.close(); 
        


      External Storage

      हर android device में ये capability होती है की आप उसमे external memory add कर सकते है। ये memory removable भी हो सकती है जैसे की SD card आदि और non removable भी हो सकती है। कई बार internal memory की limit के कारण भी इस external memory को यूज़ किया जाता है। External storage में save होने वाली सभी classes world readable mode की होती है। और जब आप अपने device को PC से connect करते है तो इन files को कोई भी modify कर सकता है। 

      यदि आपकी application external storage में files save करना चाहती है तो इसके लिए उसको 2 तरह की system permissions की आवश्यकता होगी। 

      • READ_EXTERNAL_STORAGE - ये permission external storage से files को read करने के लिए होती है।  
      • WRITE_EXTERNAL_STORAGE - ये permission external storage में files save करने के लिए होती है। 


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



      External storage में कोई भी काम करने से पहले आपको memory का media status चेक कर लेना चाहिए। ये भी हो सकता है की external storage में कोई file ही न हो या सिर्फ readable files हो। External storage का status check करने के लिए आप getExternalStorageState() method को कॉल कर सकते है। ये method आपको files की अलग अलग states return करता है जिन से आप यूज़र को notify कर सकते है। 

      यदि आप files को public रखना चाहते है तो आप उन्हें public directories में save कर सकते है जैसे की Music, Pictures आदि। External storage में files save करना बहुत ही आसान है। इसके लिए आप एक file ऑब्जेक्ट create करते है और उसमे file का नाम और उस public directory का नाम भी पास करते है। 


      File myFile = newFile(DIRECTORY_PUBLIC, fileName);


      External storage में save की गयी files को भी आप internal storage की files के साथ use होने वाले methods से open और edit कर सकते है।

      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...