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

عمل نکردن دستور ایجاد فولدر در حافظه mkdirs

caspian  9 سال پیش  9 سال پیش
0 0

من از طریق کد زیر یک دایرکتوری و یا فولدر برای برنام ام می سازم.

public static final String         DIR_SDCARD            = Environment.getExternalStorageDirectory().getPath().toString();

File newfile = new File(DIR_SDCARD, "MyApp");
success = newfile.mkdirs();
if (!success) {
Log.i("LOG", "directory not created");

} else {
Log.i("LOG", "directory created");
}

در برخی گوشی ها مثل هواوی این به مشکل بر می خوره و برنامه نمیتونه فولدر مورد نظر خودسش را بسازه.

مشکل ار پرمیشن نیست. چون داخل گوشی های سامسونگ این مشکل وجود نداره.

 

ممنون میشم راهنمایی کنید

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
nero 360  9 سال پیش
0 0

کد زیر را تست کن ببینید درست میشه یا خیر 

 
public static File file = new File(Environment.getExternalStorageDirectory() + File.separator + "filename");
if (!file.exists()) {
file.mkdirs();
}
پاسخ به سوال 
Reza  9 سال پیش
0 0

سلام

     فکر میکنم دلیلش اینه که دایرکتوری که شما به  new File  دادی وجود داره ، چون فقط مسیر خود SDcard رو دادی . باید داخل SDcard یه فولدر مخصوص برنامه خودت بسازی تا یه چیز جدید حساب بشه و چون وجود نداره ساخته میشه . در کد شما ، success  به این دلیل false هست که  DIR_SDCARD  از اول وجود داشته . پس باید یه متغییر دیگه بسازی که اسم فولدر برنامت رو هم بهش اضافه کنه ( حالا مجبوره بسازه ، چون وجود نداره ) :

 

 
public static final String DIR_SDCARD = Environment.getExternalStorageDirectory().getAbsolutePath();
public static final String DIR_APP    = DIR_SDCARD + "/MyApp/";
File newfile = new File(DIR_APP, "MyApp");
success = newfile.mkdirs();
if (!success) {
Log.i("LOG", "directory not created");

} else {
Log.i("LOG", "directory created");
}
0 0
این کد در گوشی های سامسونگ و ایسوس بدون هیچ مشکلی کار می کنه. در گوشی های هواوی و برخی گوشی های lg و htc این مشکل بوجود می آید. در گوشی های هواوی زمانی که شما توسط Android studio اپلیکیشن را کامپایل می کنید، مشکلی نیست. اما زمانی که فایل apk را منتشر می کنید و بر روی گوشی های دیگه نصب میکنید، مشکل رخ می دهد. (9 سال پیش)
0 0
یعنی الان با کدهای بالا باز هم success مقدارش false هست؟! (9 سال پیش)
0 0
داخل گوشی کاربران کرش میکنه. وقتی بررسی می کنم فولدر برنامه و دیتا بیس ساخته نشده. (9 سال پیش)
0 0
اپ من را اسمش «بریم خرید» است. می توانید از کانال تلگرام @arakstors بردارید. (9 سال پیش)
0 0
مشکل حل شد. دلیل Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication: java.lang.ClassNotFoundException: Didn't find class "com.android.tools.fd.runtime.BootstrapApplication" on path: DexPathList[[zip file که از طریق . To disable Instant Run Go to File --> Settings--> Build,Execution,Deployment -->Instant Run ---> uncheck "Enable instant run" حل شد. فکر کنم برخی کلاس ها و کتابخانه ها در فایل apk اضافه نمی شد. دقیق نمی دونم. (9 سال پیش)

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