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

مشکل دانلود در اندروید 4.2.2

Hajhosseini  12 سال پیش  12 سال پیش
0 0

همونطور که دوست خوبمون reza_azizi گفته بودن مشکل دانلود در اندروید 4.0.0 با اضافه کردن  setoutpt = true حل میشه . ولی این مشکل توی اندروید 4.2.2 به بالا هنوز هست.چند جا خوندم که گوگل کلا این روش رو به دلایل امنیتی بسته و باید از http client استفاده بشه و از این جور چیزا.من راه حل مناسبی برای دانلود پیدا نکردم ، دانلود نیازی به وب سرویس نداره و عکس رو با لینک مستقیم دانلود میکنه.کسی راه حلی داره؟

0 0
من در جریان نیستم ، میشه لینک سوال قبلی رو بدید ؟ ، و یکم بیشتر در این مورد توضیح بدید ، یعنی کد دانلود ما در اندروید 4.2.2 کار نمیکنه ؟ (12 سال پیش)
 برای این سوال 3 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
Hajhosseini  12 سال پیش
0 0

 پاسخ صحیح

این لینک سوال دوستمون بود که روش درست کردنش رو توی اندروید 4.0 گفتند ولی من روی یک تبلت ، گوشی نوت 2 آپدیت 4.3 و حتی جنی موشن که تست کردم کار نمیکنه.ولی روی اندروید 2.3 و 4.0 کاملا درست کار میکنه و هیچ مشکلی هیچ جا نداره.مشکل از استفاده از Thread باید باشه چون ThumbNail هایی که اتوماتیک دانلود میشه درست کار میکنه ولی من تمام Thread هارو حذف کردم ولی بازم جواب نگرفتم دکمه دانلودم کار نمیکنه.

لینک : 

http://answers.uncocoder.com/question/377/مشکل-کار-نکردن-HttpUrlConnection-در-اندروید-نسخه-4

خیلی سرچ کردم و جواب هایی که داده شد اینه که یا از Async استفاده بشه یا از service ها ولی چجوریشو خودمم موندم هنوز

0 0
ممنون از اطلاع رسانی ، تو چند روز آینده تست میکنم نتیجه رو میگم ، البته اگه منم روشی پیدا کردم ! :| (12 سال پیش)
پاسخ به سوال 
Hajhosseini  12 سال پیش
0 0

بعد از 3 روز جواب رو پیدا کردم.همه چیز زیر سر ProgressBar بود.شما توی اندروید 4.2.2 به بالا نمیتونید توی Thread هاتون از یکسری چیزها استفاده کنید که یکیشون تغییر دادن UI هست.برای حل این مشکل باید از روش Async استفاده کنید که روش ساده ای هست ولی اگر بخواید با سرچ یاد بگیرید ممکنه 2 روز از وقت شما رو بگیره چون خیلی بد توضیح دادن.بعد از این که این روش رو یاد گرفتید به یک مشکل برمیخورید که تقریبا کل موهاتون سفید میشه سر اون.زمان آپدیت ProgressBar همش NullPointer میگیرید و برنامه Crash میکنه.یک جا یکنفر گفته بود شاید اگر به ProgressBar مقدار اولیه بدیم درست بشه.ولی با کد زدن توی جاوا با علم و تجربه من البته این روش حل نمیشه.بیش از 10 روش برای مقدار اولیه و حتی تغییر رنگ و کانتکست و ... رو امتحان کردم که میگم.روش این بود که توی XML باید مقدار اولیه رو 0 میدادیم.خلاصه بعد از خوندن 300 صفحه از کتاب آموزش Async و خوندن حد اقل 100 پست و دیدن کلی اررور موفق به کشف دانلود کردن عکس در اندروید 4.2.2 شدم. 

0 0
خوب باید چیکار کنیم ؟! ، میشه بگید ؟ (12 سال پیش)
0 0
دارم سعی میکنم یک تاپیک ایجاد کنم تا آموزش کامل Async رو برای همه توضیح بدم با کدی که بتونید استفاده کنید و تمام ریز توضیجات ولی هر سری درج سوال رو میزنم سفید باز میشه! (12 سال پیش)
0 0
:| ، ولی منتظرم ! (12 سال پیش)
0 0
شما برای کار با ProgressBar خارج از Thread باید از AsyncTask استفاده کنید؟! راه دیگری ندارد؟! در آموزشها این همه در مورد Handler توضیح دادیم! (12 سال پیش)
0 0
با سلام خدمت استاد عزیز ، مشکل من کار با ProgressBar در داخل Thread بود نه خارج از اون ، و راستش علم من در حدی نیست که بگم راه دیگه ای وجود نداره ، حتما من بلد نبودم ، این مشکل توی اندروید 4.2.2 و زمانی که هم از Thread استفاده میکنیم و هم همزمان از اینترنت دانلود میکنیم و تغییراتی در UI میدیم اتفاق می افته ، والا من خیلی سعی کردم با Handler درستش کنم ولی توی نسخه های قبلی فقط کار میکرد (12 سال پیش)
پاسخ به سوال 
uncocoder  12 سال پیش
+3 0

چون من هنوز روی ورژن های بالاتر تست نکردم نمی تونم جواب قطعی بدم، اما از صحبت های شما برمیاد که مشکل از تغییر مقدار ProgressBar در داخل Thread باشه.

اگر خاطرتون باشه در آموزش Thread ها گفتم که هر عنصر UI اجازه نداره از خارج از Thread مقدار دهی و تنظیم بشه. اما بهتون نشون دادم که ProgressBar خارج از این قائده کار می کرد. شاید در نسخه بالاتر این موضوع رو اهمیت داده باشند و اون رو هم در این خصوص محدود کرده باشند.

پس همانطور که از setText داخل Handler برای تغییرات یک TextView استفاده کردیم، همانطور هم داخل Handler از setProgress استفاده می کنیم. فرق خاصی ندارد.

علت استفاده از AsyncTask هم این هست که اتوماتیک متدهای مشخصی را در UI Thread اجرا می کند و به خاطر همین هم هست که مشکلی ندارد. اما با یک Handler استفاده از Thread بسیار بسیار بهتر از AsyncTask هست.

0 0
ممنون از پاسخ ، بعد از امتحان ها حتما دوباره تست میکنم (12 سال پیش)

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