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

نمایش فایل های دریافت شده از sd card

f  10 سال پیش  10 سال پیش
0 0

 با سلام

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

میخوام بدونم چطور میشه فرمت اون فایل رو شناسایی کرد و بعد مشخص کرد که مثلا اگه عکسه به صورت image view و اگه فیلمه با فرمت ویدئو و غیره نمایش بده

راهی که مد نظر خودم هست اینه که بیاد اسم رو از فرمت جدا کنه و بد با چند تا if  بگه که هر فرمتی رو با اون کنترل نمایش بده اما این کار پیچیده و زمان بری  هست ضمن اینکه شاید نتونم تمام فرمت های مختلف رو پوشش بدم

از دوستان کسی هست که راه بهتری بدونه و راهنماییم کنه؟

بینهایت از کمکاتون ممنونم

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Hamedmtn  10 سال پیش
+2 0

شما باید هر یک از فرمت های مختلف مثل عکس ویا فیلم (که هر یک دارای چندین زیر فرمت مثل jpg, mp4 , mkv ....) رو داخل ArrayList مخصوص بریزید. همچنین میتونید از متود زیر استفاده کنید که بسیار کارآمد است:

 public void scanMp3Files(ArrayList<StructureAudio> fileArray , File dir){
// dir is The base sdCard directory
String formatPatern = ".jpg";
// تو این متغییر فرمت مورد نظر رو وارد کنید ، البته میتونی به صورت آرایه ای از انواع فرمت ها هم داشته باشیش

File[] listFile = dir.listFiles();

if (listFile != null) {
for (int i = 0; i < listFile.length; i++) {

if (listFile[i].isDirectory()) {
scanMp3Files(G.audioArray , listFile[i]);
} else {
if (listFile[i].getName().endsWith(formatPatern)){
String fileName = listFile[i].getName();
int fileSize = (int) listFile[i].length();
String filePath = listFile[i].getAbsolutePath();
// این کد آدرس فایل مربوطه رو ذخیره میکنه

StructureFiles structure = new StructureFiles();
structure.audioName = fileName;
structure.audioSize = fileSize;
fileArray.add(structure);
}
}
}
}
}

 

پاسخ به سوال 
f  10 سال پیش
0 0

ممنون از راهنماییتون دوست عزیز امتحانش میکنم


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