بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

ایجاد گالری کاملا آنلاین

مدیریت گفتگو
PandaStudio 12 سال پیش
آخرین تغییر: 11 سال پیش

سلام دوستان

من برای قسمتی از برنامم یک گالری تصویر کاملا آنلاین و به کمک GridView ایجاد کردم چیزی شبیه به "عکس کده"  تصاویرم آدرسشون را به صورت آنلاین میگیره و نشون میده اما وحشتناک کنده حتی داخل thread هم گذاشتم و فایده ای نداشت.

کسی پیشنهاد یا راه حلی داره؟ می خوام مثل برنامه عکس کده توی بازار باشه اگه تونستید ببینیدش این برنامه هیچ thumbnail هم دانلود نمیکنه همه چی آنلاین رندر میشه اگه بتونیم همچین کاریو پیش ببریم به درد هممون میخوره.

ممنون

نظرات

Spirit 12 سال پیش
از کتابخونه ها دوست نداری استفاده کنی؟ چرا؟
PandaStudio 12 سال پیش
من طرفدار هرچی که کارو بهینه و ساده کنه هستم :) پیشنهادی داری؟
Spirit 12 سال پیش
خب کتابخونه های حرفه ای همین کار رو میکنن ، ساده و بهینه :) لینک
PandaStudio 12 سال پیش
ممنون، تست میکنم .
hosseinAmini 12 سال پیش
S P ! R ! T میشه توضیح بدی که این کتابخونه دقیقا چیکار میکنه؟ ممنون
Spirit 12 سال پیش
فرض کن یه ListView داری ، توی Adapterـت آدرس (Url) عکس رو میگیره ، موقع اجرا عکس رو دانلود ، نمایش و کش میکنه ، یعنی دفعه بعد نیازی به دانلود عکس نیست ، واقعاً خوشمزس دستشون درد نکنه - این اصلی ترین کارشه ، چند تا کار جالب هم میکنه :)
hosseinAmini 12 سال پیش
چقدر جالبه... یعنی دیگه نیاز نیست یه دانلودر خودمون بنویسیم که تصاویر رو دانلود کنه و بعد نمایش بده؟
Spirit 12 سال پیش
بله حسین جان - بستگی به انتخاب ما داره که استفاده کنیم یا نه :)
hosseinAmini 12 سال پیش
می خوام آپدیت برنام رو با این کتابخونه بسازم. برنامم به این شکله که تصاویر رو آنلاین می گیره و وقتی هم که آفلاینه تصاویری رو که گرفته رو نمایش می ده. حالا با این کتابخونه می شه این کار رو کرد؟ ممنون
hosseinAmini 12 سال پیش
می خوام هر عکسی که دانلود میشه اطلاعاتش رو بریزم تو دیتابیس
Spirit 12 سال پیش
آره ، عکس رو در صورت آنلاین بودن دانلود میکنه ، و موقع آفلاین بودن نمایشش میده
hosseinAmini 12 سال پیش
یعنی همه اینکارارو خودش می کنه؟ میشه یه مشورت بدید که به نظرتون خوبه آپدیت برنامم رو باهاش بسازم؟ به نظره خودم که عالیه :)
Spirit 12 سال پیش
بله - صلاح برنامه خود را برنامه نویسان خود دانند! :) - یه برنامه کوچولو بزن ببین اگه خوشت اومد ...
کاشی زاده 12 سال پیش
خب thumbnail بگیر برای نمایش عکس چه کاریه آخه نه لایبری میخواد نه هزینه داره
hosseinAmini 12 سال پیش
S P ! R ! T باش کار کردم خیلی سرعتش خوبه. فقط اینکه آفلاین هم بخوام باشه چی کار باید کنم؟ میخوام یه آدرس بدم تصاویر بند انگشتی رو دانلود کنه بریزه اونجا که در حالت آفلاین ازش استفاده کنم.
hosseinAmini 12 سال پیش
محمد حسین متوجه منظورت نشدم
Hossein Kurd 12 سال پیش
اگر می خواهی یکی یکی دریافت کنی و نمایش بدی تصاویر رو یکی یکی بگیر و به آرایه بده و گریدویو رو بروز رسانی کن، از asynctask استفاده کن
کاشی زاده 12 سال پیش
ببین بهترین کار اینه از این لایبری استفاده کن خیلی راحت قوی و کش خیلی خوبیم داره ImageLoader Universal
hosseinAmini 12 سال پیش
محمد حسین لینکی چیزی داری از این کتابخونه که می گی؟ من تو اینترنت چیزی پیدا نکردم ممنون
hosseinAmini 12 سال پیش
آقا پیدا کردم تست هم کردم ولی picasso خیلی حرفه ای تر و سریع تره.
PandaStudio 12 سال پیش
یه سوالی. اینها عکس را از یک پوشه روی سرور میخونن؟ یعنی فقط باید آدرس پوشه تصاویر توی سرور را براشون ست کنی؟ و آدرس پوشه کش تصاویر روی گوشی؟
کاشی زاده 12 سال پیش
پیکاسا که خیلی بیخود هست به خاطر لود پایینش ولی این خیلی عالیه فقط آدرس عکس رو از سرور بهش میدی یا مثلا آدرس است یا هر آدرسی که خودش تو مثال هاش گفته بعد این خودش میگیره نمایش میده و تو پوشه دیتا/دیتا کش میکنه
PandaStudio 12 سال پیش
توی github هم همین که محمد جان معرفی کردن طرفدارهای بیشتری داره.شما خودت استفاده کردی؟ به نظرت اون حالتی که لایبرریش را add کنی بهتره؟
کاشی زاده 12 سال پیش
من استفاده کردم از هر دوتاش ولی یوتیورسال خیلی عالی هست ببین شما با یه فایل حجم خیلی کم هم داری دانلود میکنی ، هم کش و هم نمایش میدی
hosseinAmini 12 سال پیش
atfadev من هر دوش رو امتحان کردم توی پروژه من سرعت picasso خیلی بیشتر بود. ولی یوتیورسال خیلی دیر لود می کرد و گاهی وقت ها کرش هم می کرد. استفاده از جفتش خیلی سادس، با یه خط کد می تونی ازشون استفاده کنی. اگر خودت هم امتحان کردی لطفا نتیجه رو بگو، شاید اشتباه از من باشه. ممنون
کاشی زاده 12 سال پیش
این که میگی کرش میکرد من استفاده کردم ولی کرش ندیدم ، ولی مشکل پیکاسا این هست شما سمپلش رو هم رو گوشیت نصب کنی همینه وقتی لیست ویو بالا پایین میشه عکس دوباره میخواد لود بشه و خیلی طول میده شاید در حدود 2 ثانیه باید صبر کنی که خیلی بده ولی تو یونیورسال من این تاخیر رو ندیدم . هر جفتشون سمپل دارن
PandaStudio 12 سال پیش
باشه منم تست میکنم نتیجه تستم را بتون میگم. ممنون از نظراتتون
hosseinAmini 12 سال پیش
بچه ها من دوباره تست کردم، حق با محمد حسین بود universal-image-loader خیلی بهتر و سریع تره. picasso دیگه داشت عصبیم می کرد بس که خنگ و کند بود :) دفعه قبل که تست کرده بودم من از urlimageviewhelper-1.0.4.jar به جای universal-image-loader-1.9.3.jar استفاده کرده بودم برا همین می گفتم picasso بهتره. مرسی محمد حسین جان
PandaStudio 12 سال پیش
بچه ها من با UIL کار کردم خیلی سرعتش خوبه. فقط یه موردی این اومده لیست عکس هارو توی یک آرایه ریخته نمیشه آدرس یک دایرکتوری روی سرور را بش بدیم بره از اون دایرکتوری بخونه؟
کاشی زاده 12 سال پیش
روش های استفاده و نوشته شما میتویند مستقیم آدرس سرور رو بدید مثلا لینک

پاسخ‌ها 1

سپهر 12 سال پیش

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

Picasso:

Picasso is powerful image downloading and caching library for Android. It allows for hassle-free image loading often in a single line of code. Many common pitfalls of image loading on Android are handled automatically by Picasso. Some of its features are handling ImageView recycling and download cancellation in an adapter, complex image transformations with minimal memory use, automatic memory and disk caching.

Pros:

  • Efficient library with very little size (just around 85 KB).
  • Very easy to use, usually with just a single line of code.
  • Memory optimized, rarely causes any crashes or heap errors.
  • Easy image manipulation and transformations.

Cons:

  • Little documentation available, samples not quite user friendly either.
  • Uses http headers for caching of images, so provides very less control (using OkHttp makes caching a bit better).
  • Not very customizable.

Universal Image Loader:

Universal Image Loader (UIL) aims to provide a reusable instrument for asynchronous image loading, caching and displaying. It is originally based on Fedor Vlasov’s project “LazyList” although vastly refactored and improved. Some of its features are multithreaded image loading, wide tuning ImageLoader’s configuration, image caching in memory and/or on device’s file system, widget support and more.

Pros:

  • Highly customizable, provides lots of configuration options.
  • Provides good control over the image loading and caching process.
  • Detailed documentation available (although bit outdated!) with lot of good samples.

Cons:

  • Not very memory optimized, causes heap errors often. Precise configuration can make optimization better.
  • ImageLoader class automatically manipulates images to save memory. Doesn’t provides manual transformation features.
  • Bit bulky with about 150 KB of size. 

Conclusion:

Both of these libraries have been around for long and have reached good stability and maturity. In general, Picasso is good for small projects where you just need to load images and not worry about the underlying process. Universal Image Loader on the other hand is good for medium to big projects. It is highly customizable and provides lot of control. Although It wants you to know the underlying process in order to work properly. If you are beginner, I would stay stick with Picasso Library. Only move to UIL if you need more control and can handle occasional memory errors.

نظرات

amin 11 سال پیش
روش ایمپورتو استفاده از این رو کسی بلده؟

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