ایجاد یک پوشه ی جدید بر روی حافظه ی داخلی در Android

یکشنبه 3 آبان 1394

در این مقاله می خواهیم در مورد ساخت یک پوشه ی جدید بر روی حافظه ی داخلی گوشی اندروید صحبت کنیم ، این که چه طور می شود یک پوشه ی جدید در داخل حافظه داخلی گوشی خود ایجاد کنید

ایجاد یک پوشه ی جدید بر روی حافظه ی داخلی در Android

یک پروژه ی جدید با یک نام معتبر ایجاد نمایید، داخل فایل Xml خود یعنی Activity که ایجاد کرده اید یک TextView قرار دهید .

به صورت زیر:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"

                tools:context="com.example.stoarage.MainActivity" android:background="#f1fffefc">

    <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="مرجع تخصصی برنامه نویسان" android:textColor="#ffff2b2d" android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true" android:layout_marginTop="192dp" android:textSize="20dp"/>

</RelativeLayout>

در بالا یک Layout از جنس Relative ایجاد می کنید، و یک TextView با یک Id و متن سلام می نویسید.

داخل کلاس جاوای MainActivity قطعه کد زیر را می نویسید:

    package com.example.stoarage;  
    import java.io.File;  
    import java.io.FileInputStream;  
    import java.io.FileOutputStream;  
    import java.util.zip.ZipEntry;  
    import java.util.zip.ZipInputStream;  
    import android.annotation.SuppressLint;  
    import android.app.Activity;  
    import android.os.Bundle;  
    import android.os.Environment;  
    import android.view.Menu;  
    import android.view.MenuItem;@  
    SuppressLint("SdCardPath")  
    public class MainActivity extends Activity {@  
        Override  
        protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.activity_main);  
            String path = Environment.getDataDirectory().getAbsolutePath().toString() + "/storage/emulated/0/appFolder";  
            File mFolder = new File(path);  
            if (!mFolder.exists()) {  
                mFolder.mkdir();  
            }  
            File Directory = new File("/sdcard/myappFolder/");  
            Directory.mkdirs();  
        }@  
        Override  
        public boolean onCreateOptionsMenu(Menu menu) {  
            // Inflate the menu; this adds items to the action bar if it is present.  
            getMenuInflater().inflate(R.menu.main, menu);  
            return true;  
        }  
      
        @  
        Override  
        public boolean onOptionsItemSelected(MenuItem item) {  
            // Handle action bar item clicks here. The action bar will  
            // automatically handle clicks on the Home/Up button, so long  
            // as you specify a parent activity in AndroidManifest.xml.  
            int id = item.getItemId();  
            if (id == R.id.action_settings) {  
                return true;  
            }  
            return super.onOptionsItemSelected(item);  
        }  
    }  

در کد بالا کلاس MainActivity از کلاس Activity ارث بری می کند.

در کد بالا داخل متد   OnCreate یک پوشه در آدرس مورد نظر ساخته می شود.

و حتی چک می کند اگر پوشه ساخته نشده باشد یک پوشه ی جدید در آدرس مورد نظر ساخته شود.

در بالا برای ساخت پوشه و درست کردن Contex Menu از Import استفاده کرده است

نکته ی آخر این است که متد OnCreateOptionMenu استفاده شده است این متد برای ساخت ContexMenu ها استفاده می شود

همین طور متد onOptionsItemSelectted هم برای انتخاب آیتم های منو استفاده می شود

فقط باید داخل پروژه ی خود یک پوشه ی Menu بسازید و در داخل فایل Xml جدید که ایجاد کرده اید قطعه کد زیر را بنویسید:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.stoarage.MainActivity" >

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_settings"/>

</menu>

حالا وقتی پروژه ی خود را اجرا کنید هیچ اتفاقی نمی افتد و پوشه ساخته نشده است  برای اینکه پوشه ایجاد شود، باید مجوز دسترسی به ساخت پوشه در حافظه ی خارجی را بنویسید:

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

 

نکته ی آخر اگر برنامه ی Astro روی گوشی خود داشته باشید یا گوشی خود را به سیستم وصل نمایید فولدر جدید ساخته شده را خواهیددید.

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید