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

Android में प्रोग्रामेटिकली डायरेक्टरी बनाना

Android में File API का उपयोग करके डायरेक्टरी/फ़ोल्डर बनाना

यह उदाहरण दर्शाता है कि Android में File क्लास और Environment.getExternalStorageDirectory() का उपयोग करके एक्सटर्नल स्टोरेज पर प्रोग्रामेटिकली डायरेक्टरी कैसे बनाई जाती है।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें और प्रोजेक्ट बनाएं।

चरण 2: लेआउट

res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

चरण 3: MainActivity.java - डायरेक्टरी बनाना

package com.app.sample;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Environment;
import android.widget.Toast;
import java.io.File;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // एक्सटर्नल स्टोरेज में "Sample Directory" नामक फोल्डर का पथ
        File file = new File(Environment.getExternalStorageDirectory() + "/Sample Directory");
        
        if (!file.exists()) {
            // डायरेक्टरी बनाएं
            boolean success = file.mkdirs();
            
            if (success) {
                Toast.makeText(getApplicationContext(), "डायरेक्टरी बनाई गई", Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(this, "डायरेक्टरी बनाने में विफल", Toast.LENGTH_LONG).show();
            }
        } else {
            Toast.makeText(getApplicationContext(), "डायरेक्टरी पहले से मौजूद है", Toast.LENGTH_LONG).show();
        }
    }
}

चरण 4: AndroidManifest.xml - स्टोरेज अनुमति

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.app.sample">
    
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        
    </application>
</manifest>

Android 10+ (API 29+) के लिए महत्वपूर्ण बदलाव

Android 10 (API 29) से Scoped Storage लागू है:

  • Environment.getExternalStorageDirectory() डिप्रिकेटेड
  • ऐप-विशिष्ट डायरेक्टरी के लिए getExternalFilesDir() उपयोग करें
  • साझा स्टोरेज के लिए MediaStore या Storage Access Framework उपयोग करें

आधुनिक तरीका (Android 10+)

// ऐप-विशिष्ट डायरेक्टरी (अनइंस्टॉल पर ऑटो-डिलीट)
File appDir = new File(getExternalFilesDir(null), "MyFolder");
boolean success = appDir.mkdirs();

// या Context का उपयोग करके
File appDir2 = getExternalFilesDir("MyFolder"); // अपने आप बन जाता है

पब्लिक डायरेक्टरीज़ (Downloads, Pictures, आदि)

// Android 10+ के लिए MediaStore उपयोग करें
// या Storage Access Framework (ACTION_OPEN_DOCUMENT_TREE)

// Environment.getExternalStoragePublicDirectory() API 29+ में डिप्रिकेटेड
File downloadsDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File myDir = new File(downloadsDir, "MyAppFolder");

रनटाइम अनुमति मांगना (API 23+)

if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE);
}

ऐप चलाएं

डिवाइस कनेक्ट करें, Run पर क्लिक करें। अनुमति दें। "Sample Directory" फोल्डर एक्सटर्नल स्टोरेज रूट में बन जाएगा।

  1. Facebook पर Android ऐप कैसे बनाएं? Facebook पर Android ऐप कैसे बनाएं?

    Facebook Developer Console पर ऐप बनाकर App ID प्राप्त करने की चरण-दर-चरण प्रक्रिया। चरण 1: Facebook Developer Console पर ऐप बनाएं developers.facebook.com पर जाएं My Apps → Create App चुनें ऐप नाम और ईमेल दर्ज करें Create App ID पर क्लिक करें चरण 2: Android Studio में SDK जोड़ें प्रोजेक्ट-लेवल bu

  1. Android ऐप में मल्टी-लेवल ExpandableListView कैसे बनाएं? Android ऐप में मल्टी-लेवल ExpandableListView कैसे बनाएं?

    परिचय यह ट्यूटोरियल दर्शाता है कि Android में ExpandableListView का उपयोग करके दो-स्तरीय (ग्रुप → चाइल्ड) सूची कैसे बनाएं। हम खेल श्रेणियों (क्रिकेट, फुटबॉल, टेनिस) और उनके खिलाड़ियों का उदाहरण बनाएंगे। आवश्यक चरण चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project से नया प्रोजेक्ट बन

  1. Android ऐप में XML फ़ाइल से एनिमेशन कैसे बनाएं? Android ऐप में XML फ़ाइल से एनिमेशन कैसे बनाएं?

    परिचय यह ट्यूटोरियल दिखाता है कि Android में XML फाइलों से एनिमेशन कैसे परिभाषित करें और उन्हें व्यूज़ पर लागू करें। हम तीन प्रकार की एनिमेशन बनाएंगे: फेड-इन (अल्फा), जूम (स्केल), और ब्लिंक (रिपीटिंग अल्फा)। आवश्यक चरण चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project से नया प्रोजेक