بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
عمل نکردن دستور ایجاد فولدر در حافظه mkdirs
من از طریق کد زیر یک دایرکتوری و یا فولدر برای برنام ام می سازم.
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");
}
این کد در گوشی های سامسونگ و ایسوس بدون هیچ مشکلی کار می کنه.
در گوشی های هواوی و برخی گوشی های lg و htc این مشکل بوجود می آید. در گوشی های هواوی زمانی که شما توسط Android studio اپلیکیشن را کامپایل می کنید، مشکلی نیست. اما زمانی که فایل apk را منتشر می کنید و بر روی گوشی های دیگه نصب میکنید، مشکل رخ می دهد. (9 سال پیش)
مشکل حل شد.
دلیل
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 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .