رفتن به مطلب

دانلود ذخیره و نمایش تعدا زیاد عکس با M_Bitmap_Utils(استفاده از AriaAsynctask و Glid و PNBrodcastReciver)


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

سلام به همه انسر سنتریهای عزیز

امیدوارم دلهاتان خوش و ایام به کامتون باشه :heart:

خب همونجوری که قولش رو داده بودم یه آموزش خیلیی خوب رو تدارک دیدم واستون خیلی از دوستان با دانلود و ذخیره فایلهای ایمیج مشکل داشتن و مشکل وقتی تعداد عکسها زیاد میشه خیلی بیشتر میشه

واسه همین تصمیم گرفتم که یه راه اصولی واسه این کار پیدا کنم که تنها راه اصولی استفاده از تردهای به غیر از ترد اصلی برنامه هستش همونجوری که تو عنوان تاپیک عرض شد از کتابخونه های استاد شاهدی  عزیز و استاد نیکروان عزیز برای بهینه تر و منعطف تر شدن هرچه تمومتر استفاده شده  همچنین کتابخونه M_Bitmap_Utils که کارش دانلود و ذخیره و چک کردن اینترنت هست رو هم تدارک دیدم تا عزیزان راحت استفاده کنن

درواقع  با  این آموزش نحوه ترکیب کردن کتابخونه ها و استفاده از asynctask برای کارهای درگیر با ui مثل مولتی پنل رو هم یاد میگیریم

سرتونو درد نمیارم دیگه همه توضیحات و جزئیات توی فایل زیر هستش

عمدا همه رو باهم گذاشتم تا همه رو باهم ببینید :malih: مفاهیم فوقلاده خوبی توی سورس و فیلم آموزشی هست

امیدوارم از این آموزش هم استفاده های مفید بکنید  مارو هم از دعاهاتون بی نصیب نزارید :give_rose:  :give_rose:

در پناه حق پسند هم فراموش نشه ♥

 

 

http://s6.picofile.com/file/8259878168/bitmapexample.zip.html

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

  • 4 هفته بعد...

سلام اقای شاهپیری ممنون بابت کتابخونه M_Bitmap_Utils که ساختین

کاش این کتابخونه یه ایونت هم میداشت که کاربر( همون برنامه نویس) متوجه میشد عکس دانلود و ذخیره شده یا خیر

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

درود هموطن

دانلود عکس از طریق decodeStream انجام میشه که تو خود جاوا هم لیستنری واسش موجود نیست

شما میتونید کدهای دانلود و ذخیره رو توی try  catch بزارید و از صحت دانلود و ذخیره مطمئن شید

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

سلام اقای شاهپیری این ارور برای چیه؟؟

 

http://s1.picofile.com/file/8263896118/Screenshot_2016_08_15_18_43_46.png

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

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

پروژه رو دستکاری کردین؟

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

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

پروژه رو دستکاری کردین؟

نه سورس خودتونه

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

  • 9 ماه بعد...

 

در در 1395/05/26, 01:40:13، محمدرضا شاهپیری گفته است :

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

پروژه رو دستکاری کردین؟

حالا بخوایم تو ترد اصلی انجام بده چی پس 

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

در 2 ساعت قبل، hamedj گفته است :

 

حالا بخوایم تو ترد اصلی انجام بده چی پس 

عزیز تو ترد اصلی اصلا نمیتونین کانکشن ایجاد کنید با سرور.

همه کتابخونه ها پیشفرض ترد جدید باز میکنن برای ارتباط با سرور

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

  • 4 ماه بعد...
در در 1396/03/01, 18:13:24، محمدرضا شاهپیری گفته است :

عزیز تو ترد اصلی اصلا نمیتونین کانکشن ایجاد کنید با سرور.

همه کتابخونه ها پیشفرض ترد جدید باز میکنن برای ارتباط با سرور

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

موقعی که با حالت دیباگ ران میگیرم عکس دانلود و ذخیره میشه ولی موقعی که حالت معمولی ران میگیرم اررور زیر رو میده لطف میکنید راهنمایی کنید ممنون

save click: 3
http://hamedalirezaee.ir/wallpaper/profile/small/profile%20(4).jpg
first_imagesave_click (java line: 713)
android.os.NetworkOnMainThreadException
	at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1273)
	at libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:249)
	at libcore.io.IoBridge.recvfrom(IoBridge.java:549)
	at java.net.PlainSocketImpl.read(PlainSocketImpl.java:481)
	at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:37)
	at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:237)
	at com.android.okhttp.okio.Okio$2.read(Okio.java:140)
	at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:211)
	at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:316)
	at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:310)
	at com.android.okhttp.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:206)
	at com.android.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:239)
	at com.android.okhttp.internal.http.HttpTransport.readResponseHeaders(HttpTransport.java:104)
	at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:1150)
	at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:978)
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:482)
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:418)
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:235)
	at com.reza.sh.bitmap.Bitmapclass.getbitmapfrominternet(Bitmapclass.java:44)

این هم کد ها هستن

	If TabStrip1.CurrentPage=0 Then
					Log(ListName.Get(ViewPager.CurrentPosition))
					Bitmaputil.savebitmap(Bitmaputil.getbitmapfrominternet(ListName.Get(ViewPager.CurrentPosition)),File.DirRootExternal&"/profilekade","name"&ViewPager.CurrentPosition,"jpg")
				else if TabStrip1.CurrentPage=1 Then
					Log(ListPesar.Get(ViewPager.CurrentPosition))
					Bitmaputil.savebitmap(Bitmaputil.getbitmapfrominternet(ListPesar.Get(ViewPager.CurrentPosition)),File.DirRootExternal&"/profilekade","pesar"&ViewPager.CurrentPosition,"jpg")
				End If

 

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

عزیز شما فکر کنم آموزش رو به دقت ندیدین. بنده توی آموزش از AriaAsynctask استفاده کردم. کد  Bitmaputil.getbitmapfrominternet حتما باید تو ترد جداگونه انجام بشه. به همین خاطر از AriaAsynctask استفاده کردم. شما باید این کد رو توی متد doinbackground انجام بدین. همونجوری که تو آموزش انجام شده. طبق آموزش جلو برید نباید مشکلی باشه

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

بایگانی شده

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

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

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