kavous_kiani

چگونه تصاویر را در یک پوشه در sd کارت قرار دهیم.

3 ارسال در این موضوع قرار دارد

.

دوستان!

در برنامه خودم می‌خواهم یک پوشه به نام images در اس دی کارت یوزر ایجاد کنم و تصاویر را در آن پوشه قرار دهم.

سوالات من :

۱. چگونه این پوشه را ایجاد کنم؟

۲. اگر کاربر چند اس دی کارت داشت مشکلی در ایجاد پوشه پیش نمی آید؟

۳. خب پوشه ظاهراْ باید بعداْ در اس دی کارت کاربر ایجاد شود، الان من عکس های خودم را در کدام پوشه و در کجای ساختار برنامه خودم قرار دهم، تا پس از ایجاد پوشه‌ی موردنظر، در اس دی کارت کاربر، این عکس‌های من به آن پوشه منتقل شود؟

متاسفانه من مقالات زیادی خواندم، ولی حتی یک جا ندیدم که به چنین مطالب ضروری حتی اشاره ای  بکنند.

اگر درباره اس دی کارت و کار با آن مقالاتی دارید معرفی بکنید.

بسیار سپاسگذارم

.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
public class copy {public static void image(ImageView img, String imageNAME, Context cn) {	img.setDrawingCacheEnabled(true);	Bitmap bitmap = img.getDrawingCache();	File root = Environment.getExternalStorageDirectory();	File file = new File(root.getAbsolutePath() + "/icm/wall/" + imageNAME			+ ".jpg");	try {		file.createNewFile();		FileOutputStream ostream = new FileOutputStream(file);		bitmap.compress(CompressFormat.JPEG, 100, ostream);		ostream.close();		Toast.makeText(				cn,				" تصویر زمینه با اسم " + imageNAME + " در پوشه "						+ "SDcard/icm/wall " + "ساخته شد !", 1).show();	} catch (Exception e) {		e.printStackTrace();	}}

بفرما اینم کلاسی که باهاش میتونی تصاویر را در مموری کارت ذخیره کنی

Permission نوشتن تو کارت حافظه یادت نره


پاسخی منطقی تر : 

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

برای تعیین مسیر sdcard باید از دستور زیر استفاده کنید:

[shcode=java]

File extStore = Environment.getExternalStorageDirectory();

[/shcode]

ایجاد پوشه در sdcard:

[shcode=java]

File direct = new File(Environment.getExternalStorageDirectory() + "/New Folder");

if(!direct.exists())

{

if(direct.mkdir()) 

{

//directory is created;

}

}

[/shcode]

مجورز نوشتن در حافظه :

[shcode=java]

[/shcode]

کپی کردن تصاویر به sdcard : 

برای اینکار تصاویر مربوطه را در پوشه assets قرار دهید و آن را با تابع زیر کپی کنید:

[shcode=java]

private void copyAssets() {

AssetManager assetManager = getAssets();

String[] files = null;

try {

files = assetManager.list("");

} catch (IOException e) {

Log.e("tag", "Failed to get asset file list.", e);

}

for(String filename : files) {

InputStream in = null;

OutputStream out = null;

try {

in = assetManager.open(filename);

File outFile = new File(getExternalFilesDir(null), filename);

out = new FileOutputStream(outFile);

copyFile(in, out);

in.close();

in = null;

out.flush();

out.close();

out = null;

} catch(IOException e) {

Log.e("tag", "Failed to copy asset file: " + filename, e);

}

}

private void copyFile(InputStream in, OutputStream out) throws IOException {

byte[] buffer = new byte[1024];

int read;

while((read = in.read(buffer)) != -1){

out.write(buffer, 0, read);

}

}

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

.

سوال :

یک برنامه‌نویس وقتی برنامه‌ای دارد که نیازمند صدها عکس باشد، آیا به طور اصولی این عکس‌ها را باید در پوشه‌ای در درون برنامه خودش ذخیره کند؟ در این صورت آیا باعث پر شدن حافظه اصلی کاربر نمی‌شود؟ 

آیا ما می‌توانیم عکس‌ها را در درون یک پوشه در برنامه خودمان قرار دهیم و در هنگام نصب این پوشه با دستورات ما بر روی اس دی کارت قرار بگیرد، تا بعدا هر وقت کاربر خواست عکسی را اضافه یا کم کند، آدرس برنامه همان پوشه باشد. پوشه‌ای که خودش داری چندین پوشه داخلی باشد.

الان در سیستم ویندوز، یک برنامه نویس می‌تواند مثلاْ پوشه‌ای برای برنامه‌اش در درون درایو سی ایجاد کند، و در درون برنامه خود، به آن پوشه اشاره کند و اساساْ تمام فرایند برنامه روی همان پوشه انجام می‌گیرد.

در مورد این مساپل آیا مقالاتی به زبان فارسی و انگلیسی وجود دارد که ما با ساختار  اس دی کارت، و ساختار و مدیریت فایل و پوشه‌ها در اندروید آشنا شویم.

بیست کتاب به زبان انگلیسی خواندم، چیزی درباره کار با کارت اس دی و پوشه و فایل ندیدم!

محتاج راهنمایی و معرفی منابع هستم. با تشکر

.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری