ایجاد یک پوشه ی جدید بر روی حافظه ی داخلی در Android
یکشنبه 3 آبان 1394در این مقاله می خواهیم در مورد ساخت یک پوشه ی جدید بر روی حافظه ی داخلی گوشی اندروید صحبت کنیم ، این که چه طور می شود یک پوشه ی جدید در داخل حافظه داخلی گوشی خود ایجاد کنید
یک پروژه ی جدید با یک نام معتبر ایجاد نمایید، داخل فایل 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 روی گوشی خود داشته باشید یا گوشی خود را به سیستم وصل نمایید فولدر جدید ساخته شده را خواهیددید.
- Android
- 3k بازدید
- 2 تشکر