آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

حافظه جانبی لطفا یکی کمک کنه(حل نشده)

حسین  8 سال پیش  8 سال پیش
0 0

سلام میخواستم بدونم که کار با حافظه جانبی چطوریه در اندروید 5

مثلا می خوام یه پوشه در حافظه خارجی درست کنم و اسمشو تغییر بدم

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

package com.mycompany.myapp2;

import android.app.*;
import android.os.*;
import java.io.*;
import android.widget.*;
import android.view.*;
import android.util.*;
import java.lang.Process;
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Button b=(Button)findViewById(R.id.mainButton1);
}
public void btn(View v)
{
//String tmppath="/sdcard1/m";
String tmppath = System.getenv("SECONDARY_STORAGE");

try
{
//this creates a directory named TMP -->OK!
File f=new File(tmppath+"/m");
if(!f.isDirectory())
f.mkdirs();

//this was supposed to rename the directory to .TMP, but isn't working...

Process process=Runtime.getRuntime().exec("mv "+tmppath +" /sdcard1/.m/");
process.waitFor();
Toast.makeText(getApplicationContext(),""+process,Toast.LENGTH_LONG).show();
if (!f.exists()) {
f.mkdirs();
Toast.makeText(this,"Folder "+" created",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this,"Folder "+" already exists",Toast.LENGTH_SHORT).show();
}
}
catch(SecurityException e)
{
}
catch(IOException e)
{
}
catch (InterruptedException e)
{
}

}
public void btn2(View v){
//String path = Environment.getExternalStoragePublicDirectory(Environment.) + File.separator + "YourFolderName";
TextView tv=(TextView)findViewById(R.id.mainLinearLayout1);
String storagePath = System.getenv("SECONDARY_STORAGE");
String etFolder="0test";
Log.e("storagePath->",storagePath);
String path = "not available";
if (storagePath != null) {
Log.e("Path->", "" + storagePath);
File file = new File(storagePath.toString());
Log.e("readable->", "" + file.canRead());
Log.e("writable->", "" + file.canWrite());
Log.e("executable->", "" + file.canExecute());
File dir = new File(storagePath + File.separator+etFolder);
if (!dir.exists()) {
dir.mkdirs();
Toast.makeText(this,"Folder "+etFolder+" created",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this,"Folder "+etFolder+" already exists",Toast.LENGTH_SHORT).show();
}
path = dir.getPath();
} else {
Toast.makeText(this,"External Storage not available",Toast.LENGTH_SHORT).show();
}
tv.setText("External SDCARD path->" + path);
}
public void btn3(View v){
String sp = System.getenv("SECONDARY_STORAGE");
File folder = new File(sp+"/"+"0a");

//File folder = new File("/sdcard1/"+"/0a");
folder.mkdirs();

if(folder.exists()){
Toast.makeText(getApplicationContext(),"exists",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getApplicationContext()," not exists",Toast.LENGTH_LONG).show();
}
Toast.makeText(getApplicationContext(),""+folder,Toast.LENGTH_LONG).show();

}
}

 

یه جور دیگه هم نوشتم ولی کار نمیکنه

String Path = Environment.getExternalStorageDirectory().getPath().toString()+ "/Shidhin/ShidhiImages";
System.out.println("Path : " +Path );
File FPath = new File(Path);
if (!FPath.exists()) {
if (!FPath.mkdir()) {
System.out.println("***Problem creating Image folder " +Path );
}
}

 

 

0 0
فکر نکنم اینطوری بشه جواب داد.اگر کرش میکنه کدتون رو بذارید با متن لاگ. (8 سال پیش)
0 0
چندجور نوشتمش هیچکدوم کار نمیکنه (8 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Hadi  8 سال پیش
0 0

این کد اون جور که تو استک بود پوشه مد نظر رو میسازه تو اس دی کارت. یه تست کنید.

 
File wallpaperDirectory = new File("/sdcard/Wallpaper/");
// have the object build the directory structure, if needed.
wallpaperDirectory.mkdirs();
0 0
این که تو حافظه گوشی میسازه منظورم حافظه جانبیه که همون رم میشه (8 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .