رفتن به مطلب
  • 0

مکان استاندارد برای ذخیره سازی تصاویر برنامه


mirsedali

سوال

سلام مجدد خدمت دوستان و اساتید محترم

برنامه من، توی هر فصل، یک گالری داره که برای هر عکس یک نسخه کم حجم و یک نسخه اصلی وجود داره، موقع بروزرسانی و اضافه شدن فصل جدید، دانلود و اضافه میشه

 

مکان ذخیره سازی گالری، چه تصاویر کم حجم(پیش نمایش) و چه تصاویر اصلی، باید کجا باشه، internal  یا external ?(با توجه به اینکه ممکنه تعداد فصل ها و به تبع تعداد تصاویر زیاد باشه)

 

همین طور برای لود این تصاویر و نمایششون بهتره از چه روشی استفاده بشه تا هم سریع باشه و هم حافظه رم رو زیاد اشغال نکنه؟

تشکر

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

7 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام

روی حافظه خارجی ذخیره کنید بهتره.

خب شما کاربرانی رو هم در نظر بگیرید که حافظه داخلی گوشیشون کمه و دچار مشکل نشید.

برای اینکه رم زیادی رو نگیره شمادباید از لیست ویو نمایشی استفاده کنید ( AriaListView )

 باز استاندارد تر از AriaListview  که RecyclerView  که مثل لیست سفارشیه اما Optimize  شده تر ولی خب نمیدونم تا حالا پیاده سازی شده یا نه.

ولی از همین AriaListView  استفاده کنید عالیه و فک کنم حالت گرید ویو هم اضافه شده که می توونید مثل گالری بسازید.

خوبه که یه پوشه واسه Thumbnail  هر عکس هم بسازید تا Thumbnail  ها هر دفعه دانلود نشن.

یه کتابخونه Volley  هم بود که خود گوگل ارائه کرده خیلی خوبه،ببینید قابل Wrap  هست دوستان Wrapper  واستون اوکی کنن.

در موردش تحقیق کنید چیز خوبیه :دی

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

سلام

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

	If File.ExternalWritable = False Then
	
	End If
	
	If File.ExternalReadable = False Then
		
	End If

دستور اول میاد چک میکنه که ایا قابل ذخیره سازی هست یا نه

دومی هم چک میکنه قابل خوندن هست یا نه.

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

ممنون از پاسختون

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

سلام

روی حافظه خارجی ذخیره کنید بهتره.

خب شما کاربرانی رو هم در نظر بگیرید که حافظه داخلی گوشیشون کمه و دچار مشکل نشید.

برای اینکه رم زیادی رو نگیره شمادباید از لیست ویو نمایشی استفاده کنید ( AriaListView )

 باز استاندارد تر از AriaListview  که RecyclerView  که مثل لیست سفارشیه اما Optimize  شده تر ولی خب نمیدونم تا حالا پیاده سازی شده یا نه.

ولی از همین AriaListView  استفاده کنید عالیه و فک کنم حالت گرید ویو هم اضافه شده که می توونید مثل گالری بسازید.

خوبه که یه پوشه واسه Thumbnail هر عکس هم بسازید تا Thumbnail ها هر دفعه دانلود نشن

البته تعداد عکس های من توی هر فصل به بیش از 30 تا نمیرسه و پیش نمایش و اصلی داخل پوشه های جدا توی extenal ریخته شده، و در حال حاضر با دستور lblAlbum.SetBackgroundImage(bmp1)تصاویر Thumbnail رو داخل مولتی پنل نمایش میدم و با کلیک روی هر کدوم تصویر اصلی توی یه پنل نمایش داده میشه.

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

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

ممنون از پاسختون

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

البته تعداد عکس های من توی هر فصل به بیش از 30 تا نمیرسه و پیش نمایش و اصلی داخل پوشه های جدا توی extenal ریخته شده، و در حال حاضر با دستور lblAlbum.SetBackgroundImage(bmp1)تصاویر Thumbnail رو داخل مولتی پنل نمایش میدم و با کلیک روی هر کدوم تصویر اصلی توی یه پنل نمایش داده میشه.

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

 

سلام

 

من واسه اینکه کاربرا تصاویر رو تو گالری نبینن اونا رو بدون پسوند دخیره میکنم مثلا image1.jpg  رو  image1  دخیره میکنم

 

فراخوانیشم دقیقا مثل با ÷سوندش هست فقط پسوند نداره

ax.SetBackgroundImage(LoadBitmap(File.DirRootExternal,"image1.jpg"))

بجاش اینو بذار

ax.SetBackgroundImage(LoadBitmap(File.DirRootExternal,"image1"))

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

 

یه روش دیگه هم هست اگر پوشه تصاویذت رو توی پوشه android  بسازی تصاویر تو گالری کاربر نمیره

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

سلام

 

من واسه اینکه کاربرا تصاویر رو تو گالری نبینن اونا رو بدون پسوند دخیره میکنم مثلا image1.jpg  رو  image1  دخیره میکنم

 

فراخوانیشم دقیقا مثل با ÷سوندش هست فقط پسوند نداره

ax.SetBackgroundImage(LoadBitmap(File.DirRootExternal,"image1.jpg"))
بجاش اینو بذار

ax.SetBackgroundImage(LoadBitmap(File.DirRootExternal,"image1"))
اینجوری مشکلی تو برنامه بوجود نمیاد عکسا هم تو گالری نمیره

 

یه روش دیگه هم هست اگر پوشه تصاویذت رو توی پوشه android  بسازی تصاویر تو گالری کاربر نمیره

ببخشید پیامتون رو ندیده بودم. پیشنهاد خوبی بود ممنون.

ولی نمیدونم این کار (تغییر نام دادن) آیا استاندارد هست یا نه؟ اشکالی به وجود نمیاد؟ مثلا موقع اشتراک گذاری فکر میکنم مشکل داشته باشه(مثلا توی تلگرام)

همینطور استفاده از پوشه اندروید؟ استاندارده؟ تا جایی که من می دونم معمولا پوشه ها توی همون روت sdcard ساخته میشه!!

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

دوستان چطوری میشه مکان ذخیره برنامه رو تشخیص داد؟

من مکان ذخیره تصاویر که از نت دانلود میشه رو توی sdcard قرار دادم. حالا اگه طرف بیاد sdcard رو خارج کنه برنامه اتوماتیک میره روی حافظه داخلی. ولی موقع خوندن عکس ها ارور میده. چون میخواد از روی sdcard بخونه و موجود نیست؟

باید چه کار کرد عایا؟ تنها راهش انتخاب مسیر توی تنظیماته؟

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

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...