Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Android

एंड्रॉइड में रनटाइम अनुमति के साथ बाहरी स्टोरेज में एक छवि फ़ाइल कैसे लिखें?

<घंटा/>

यह उदाहरण दर्शाता है कि एंड्रॉइड में रनटाइम अनुमति के साथ बाहरी भंडारण में एक छवि फ़ाइल कैसे लिखें।

चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।

चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।

 <बटन एंड्रॉइड:आईडी ="@ + आईडी / सेव करें "एंड्रॉइड:टेक्स्ट =" सेव "एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" /> 

उपरोक्त कोड में, हमने एक बटन लिया है। जब उपयोगकर्ता बटन पर क्लिक करता है, तो यह डेटा को बाह्य संग्रहण में संग्रहीत करेगा।

चरण 3 - निम्न कोड को src/MainActivity.java

में जोड़ें <पूर्व>पैकेज com.example.andy.myapplication;import android.annotation.TargetApi;import android.content.pm.PackageManager;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.drawable.BitmapDrawable;आयात android.ग्राफिक्स.ड्राएबल;आयात android.support.v4.content.ContextCompat;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.ImageView;आयात android.widget.Toast;import java.io.File;import java.io.FileOutputStream;सार्वजनिक वर्ग MainActivity AppCompatActivity को बढ़ाता है {निजी स्थिर अंतिम int PERMISSION_REQUEST_CODE =100; बटन बचाओ; बिटमैप बिटमैप; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); ड्रा करने योग्य ड्रायबल =getResources ()। getDrawable (R.drawable.mario); बिटमैप =((बिटमैप ड्राएबल) ड्रा करने योग्य)। getBitmap (); सहेजें =findViewById (R.id.save); save.setOnClickListener (नया दृश्य। OnClickListener () {@ ओवरराइड सार्वजनिक शून्य पर क्लिक करें (देखें v) {स्ट्रिंग स्थिति =पर्यावरण। getExternalStorageState (); अगर (पर्यावरण। MEDIA_MOUNTED। बराबर (राज्य)) {अगर (बिल्ड। संस्करण। एसडीके_आईएनटी> =23) {अगर (चेकप्रमिशन ()) {स्ट्रिंग पथ =पर्यावरण। getExternalStorageDirectory ()। toString (); फ़ाइल फ़ाइल =नई फ़ाइल (पथ, "अद्वितीय फ़ाइल नाम" +। जेपीजी "); अगर (! file.exists () ) { Log.d("path", file.toString()); try { FileOutputStream fos =new FileOutputStream(file); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); fos.flush (); fos .close (); } कैच (अपवाद ई) {e.printStackTrace (); }} } और {अनुरोध अनुमति (); // अनुमति के लिए कोड}} और {स्ट्रिंग पथ =Environment.getExternalStorageDirectory ()। toString (); फ़ाइल फ़ाइल =नई फ़ाइल (पथ, "UniqueFileName"+.jpg"); अगर (! file.exists ()) {Log.d("path", file.toString ()); फाइलऑटपुटस्ट्रीम फॉस =अशक्त; कोशिश करें {fos =नया FileOutputStream (फ़ाइल); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); फॉस.फ्लश (); फ़ोस.क्लोज़ (); } कैच (java.io.IOException e) { e.printStackTrace (); } } } } } }); } निजी बूलियन चेकप्रमिशन () {int परिणाम =ContextCompat.checkSelfPermission(MainActivity.this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE); अगर (परिणाम ==पैकेजमैनेजर। PERMISSION_GRANTED) {वापसी सच है; } और { झूठी वापसी; } } निजी शून्य अनुरोध अनुमति () { अगर (ActivityCompat. shouldShowRequestPermissionRationale(MainActivity.this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE)) { Toast.makeText(MainActivity.this, "बाहरी संग्रहण अनुमति लिखें, हमें फ़ाइलों को सहेजने की अनुमति देता है। कृपया इसकी अनुमति दें। ऐप सेटिंग में अनुमति।", Toast.LENGTH_LONG).show(); } और { ActivityCompat.requestPermissions(MainActivity.this, new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE); } } @Override सार्वजनिक शून्य onRequestPermissionsResult(int requestCode, String अनुमतियाँ[], int[] GrantResults) { स्विच (requestCode) {केस PERMISSION_REQUEST_CODE:if (grantResults.length> 0 &&GrantResults[0] ==PackageManager.PERMISSION_GRANTED) { लॉग इन करें .e ("मान", "अनुमति दी गई, अब आप स्थानीय ड्राइव का उपयोग कर सकते हैं।"); } और { Log.e ("मान", "अनुमति अस्वीकृत, आप स्थानीय ड्राइव का उपयोग नहीं कर सकते।"); } तोड़ना; } }}

चरण 4 -मेनिफेस्ट.xml में निम्न कोड जोड़ें

 <उपयोग-अनुमति android:name ="android.permission.WRITE_EXTERNAL_STORAGE"/>   <गतिविधि एंड्रॉइड:name =".MainActivity"> <इरादे-फ़िल्टर> <कार्रवाई android:name ="android.intent.action.MAIN" /> <श्रेणी android:name ="android.intent.category.LAUNCHER" />    

आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -

एंड्रॉइड में रनटाइम अनुमति के साथ बाहरी स्टोरेज में एक छवि फ़ाइल कैसे लिखें?

उपरोक्त परिणाम में, छवि को बाहरी संग्रहण में संग्रहीत करने के लिए सहेजें बटन पर क्लिक करें जैसा कि नीचे दिखाया गया है -

एंड्रॉइड में रनटाइम अनुमति के साथ बाहरी स्टोरेज में एक छवि फ़ाइल कैसे लिखें?


  1. एंड्रॉइड में रन-टाइम पर अनुदान अनुमति कैसे जांचें?

    यह उदाहरण दर्शाता है कि मैं एंड्रॉइड में अन-टाइम पर अनुदान अनुमति की जांच कैसे कर सकता हूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें। च

  1. इसे लिखने में सक्षम होने के लिए एसडी कार्ड पर किसी फ़ोल्डर/फ़ाइल पर एंड्रॉइड अनुमति कैसे सेट करें?

    यह उदाहरण दर्शाता है कि मैं एसडी कार्ड पर एक फ़ोल्डर/फ़ाइल पर एंड्रॉइड अनुमति कैसे सेट कर सकता हूं ताकि इसे लिखने में सक्षम हो सकें। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/

  1. रूबी में फाइलें कैसे पढ़ें और लिखें (उदाहरण के साथ)

    आज आप रूबी में फाइलों को पढ़ना और लिखना सीखेंगे ताकि आप सामग्री को निकाल सकें, नई फाइलें बना सकें और अपनी जरूरत की जानकारी पा सकें! यहां बताया गया है कि हम क्या कवर करने जा रहे हैं : सामग्री 1 रूबी में फ़ाइलें कैसे पढ़ें 2 रूबी में फ़ाइल को कैसे लिखें 3 रूबी फ़ाइल विधियाँ 4 निर्देशिका संचालन 5