رفتن به مطلب

کتابخونه کاربردی AriaAsynkTask


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

در در 1396/01/31, 06:48:29، امین شاهدی گفته است :

شما کارای که گفتم رو انجام بده ارور نمیده ، واقعا سخت نبود خط دوم رو هم میخوندین

ببخشید استاد این ارور AriaAsynkTask Error : null بخاطر چیه 

اولین بار که دکمه دانلود رو میزنم این ارور رو میده ولی دوباره که دکمه دانلود رو بزنم شروع به دانلود میکنه

لینکارو هم از دیتابیس میگیرم

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

  • 2 هفته بعد...
  • پاسخ 164
  • ایجاد شده
  • آخرین پاسخ

بیشترین ارسال‌ها در این موضوع

ارسال‌های محبوب

آپدیت سوم کتابخونه اضافه شد که امکانات خیلی زیادی به کلس دانلودر اضافه شده برای مثال :    -امکان گرفتن حجم کل فایل از سرور و نمایش اون -امکان نمایش حجم دانلود شده -امکان نمایش زمان سپری شده از دان

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

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

سلام آقای شاهدی،

خسته نباشید.

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

من با ماژول AriaAsyncTask یه کد نوشتم که میاد صفحه ی یه اسکریپت php رو دانلود میکنه و یه خروجی JSON دریافت میکنه.

خب حالا مشکل چیه؟ مشکل اینه که این اتفاق روی اندروید نسخه 4.x.x و 5.x.x و 6.0 به درستی انجام میشه ولی روی اندروید 7.0 بعد از DoInBackground دیگه به OnPostExcecute نمیره و بعد از چند دقیقه ارور زیر لاگ میشه:

AriaAsynkTask Error : null

پرمیشن های لازم ادد شده و دریافت میشن.

یه نکته هم اینه که اندروید های نسخه 4 تا 6 ایمولاتور هستند ولی نسخه 7.0 دستگاه واقعی هست اما با این وجود روی نسخه اندروید 7.1.1(ایمولاتور) این مشکل وجود نداره!

همچنین مشابه همین مشکل با دیگر کتابخونه های ارسال درخواست شبکه در نسخه 7.0 اندروید هست(مثل Volley و OkHttpUtils و OkHttp و حتی Http!)

ممنون میشم این مورد رو بررسی کنید و درموردش اطلاعاتی بدید.

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

  • 1 ماه بعد...
در در 1395/04/14, 13:17:43، امین شاهدی گفته است :

 

سلام من از کتابخونه شما برای دریافت اطلاعات از دیتابیس آنلاین استفاده میکنم و با یک مشکلی مواجه شدم،اینکه وقتی برنامه برای اولین بار نصب میکنم به خوبی لیست رو لود میکنه ولی وقتی خارج میشم دوباره میام داخل دیگه لود نمیکنه وتوی گوشی واقعی هم زمانی این مشکل حل میشه که بعد از خروج برنامه از لیستrecentحذف بشه اینم عکس از لاگ:DHFH.PNG

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

  • 1 ماه بعد...
در در 1395/06/02, 18:04:52، امین شاهدی گفته است :

 

توی متد OnPostExecute مقدار هاتون رو که گرفتین ، ادپتر رو initialize کنین و مقدار ها رو بهش بدین

 

 

 

 

سلام کد ها رو تست نکردم اگه احیانا موردی داشت اصلاح کنید

بدون حلقه : 


Sub task_DoInBackground(Params() As Object) As Object
	Dim f1,f2,f3,f4 As AriaFile
	
	f1.initialize(File.DirInternal,"File1.jpg")
	downloader.Get("Address1").File(f1)
	task.PublishProgress(1)
	
	f2.initialize(File.DirInternal,"File2.jpg")
	downloader.Get("Address2").File(f2)
	task.PublishProgress(2)
	
	f3.initialize(File.DirInternal,"File3.jpg")
	downloader.Get("Address3").File(f3)
	task.PublishProgress(3)
	
	f4.initialize(File.DirInternal,"File4.jpg")
	downloader.Get("Address4").File(f4)
	task.PublishProgress(4)

	Return "Downloads Done"
	
End Sub

Sub task_OnProgressUpdate(Progress As Int)
	ToastMessageShow("File "& Progress &" Downloaded.",False)
End Sub

Sub task_OnPostExecute(Result As Object)
	ToastMessageShow(Result,True)
End Sub

با حلقه : 


Sub Activity_Create(FirstTime As Boolean)

	task.Run(Array("Addres1","Addres2","Addres3","Addres4")) 'har tedad address bedin download mikone'
	
End Sub

Sub task_DoInBackground(Params() As Object) As Object
	
	For i=0 To Params.Length-1
		Dim AFile As AriaFile
		AFile.initialize(File.DirInternal,"F"&i&".jpg")
		downloader.Get(Params(i)).File(AFile)
		task.PublishProgress(i+1)
	Next

	Return "Downloads Done"
	
End Sub

Sub task_OnProgressUpdate(Progress As Int)
	ToastMessageShow("File "& Progress &" Downloaded.",False)
End Sub

Sub task_OnPostExecute(Result As Object)
	ToastMessageShow(Result,True)
End Sub 

سلام

شما در قسمت دوم کد ها رو با حلقه نوشتید من دو تا مشکل دارم(تمام فیلم های اموزش ورژن های مختلف رو هم دیدم) اول اینکه من میخوام همین کد با متد  RunOnExecutor نوشته بشه تا بتونم همزمان فایلها رو دانلود کنم

مشکل دوم و اصلی من اینه که تعداد لینک های من متغیره و یبار ممکنه دوتا لینک باشه برا دانلود یبار ممکنه 4 تا لینک باشه برا دانلود خوب چطور باید کدش رو بنویسم شما در کد بالا به صورت ثابت 4تا ادرس دادید اگه تعداد متغییر باشه باید چکار کرد

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

در در 1396/04/15, 14:41:46، iavaduu گفته است :

سلام من از کتابخونه شما برای دریافت اطلاعات از دیتابیس آنلاین استفاده میکنم و با یک مشکلی مواجه شدم،اینکه وقتی برنامه برای اولین بار نصب میکنم به خوبی لیست رو لود میکنه ولی وقتی خارج میشم دوباره میام داخل دیگه لود نمیکنه وتوی گوشی واقعی هم زمانی این مشکل حل میشه که بعد از خروج برنامه از لیستrecentحذف بشه اینم عکس از لاگ:DHFH.PNG

سلام

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

هر اکتیویتی یه چرخه داره ( Life Cycle ).

زمانیکه برنامه شما به عنوان یک پروسس هنوز در حال اجراس و به گونه ای Kill Process  نشده هیچوقت Create  دیگه اجرا نمیشه، البته اگر کد اجرای AyncTask توی رویداد Create باشه.

به این تاپیک توی سایت استک آور فلو مراجعه کنید »

lifecycle - Android activity life cycle - what are all these methods for? - Stack Overflow

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

سلام 

من طبق فیلم اول کد ها رو نوشتم اما هیچ اتفاقی نیفتاد میشه راهنمایی کنید؟ اینم عکسش

http://uupload.ir/files/7tj1_untitled-3.jpg

 

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

من طبق آموزش اول کد ها رو. به این شکل نوشتم و کتابخونه هم ورژن 6 رو تو لایبرری وارد کردم اما وقتی رو دکمه میزنم هیچ اتفاقی نمیوفته

Sub Globals

	Private Button1 As Button
	Dim aa As AriaAsyncTask
End Sub

Sub Activity_Create(FirstTime As Boolean)

Activity.LoadLayout("main")
Button1.Text = "start"
aa.Initialize("aa")

End Sub

Sub  aa_OnPreExecute
	ToastMessageShow("start",False)
End Sub

Sub aa_DoInBackground(Params() As Object) As Object
	Dim ii As Int = Params(0)
	For i = 0 To 49999
		ii = i +1
		File.WriteString(File.DirInternal,"a.txt",ii)
		aa.PublishProgress(ii)
	Next
	Return ii
End Sub
Sub aa_OnPostExecute(Result As Object)
	ToastMessageShow("Done:"&Result,False)
End Sub

Sub aa_OnProgressUpdate(Progress As Int)
	Activity.Title = Progress &"/50000"
End Sub


Sub Button1_Click
	Dim ii As Int = 0
	aa.Run(Array(ii))
	
End Sub

 

 

اینم خطاها هاش پس از اجرا

AriaAsynkTask Error : wrong number of arguments; expected 4, got 0
AriaAsynkTask Error : wrong number of arguments; expected 4, got 1
AriaAsynkTask Error : wrong number of arguments; expected 4, got 1

 

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

در 16 ساعت قبل، bahman2012 گفته است :

من طبق آموزش اول کد ها رو. به این شکل نوشتم و کتابخونه هم ورژن 6 رو تو لایبرری وارد کردم اما وقتی رو دکمه میزنم هیچ اتفاقی نمیوفته


Sub Globals

	Private Button1 As Button
	Dim aa As AriaAsyncTask
End Sub

Sub Activity_Create(FirstTime As Boolean)

Activity.LoadLayout("main")
Button1.Text = "start"
aa.Initialize("aa")

End Sub

Sub  aa_OnPreExecute
	ToastMessageShow("start",False)
End Sub

Sub aa_DoInBackground(Params() As Object) As Object
	Dim ii As Int = Params(0)
	For i = 0 To 49999
		ii = i +1
		File.WriteString(File.DirInternal,"a.txt",ii)
		aa.PublishProgress(ii)
	Next
	Return ii
End Sub
Sub aa_OnPostExecute(Result As Object)
	ToastMessageShow("Done:"&Result,False)
End Sub

Sub aa_OnProgressUpdate(Progress As Int)
	Activity.Title = Progress &"/50000"
End Sub


Sub Button1_Click
	Dim ii As Int = 0
	aa.Run(Array(ii))
	
End Sub

 

 


اینم خطاها هاش پس از اجرا

AriaAsynkTask Error : wrong number of arguments; expected 4, got 0
AriaAsynkTask Error : wrong number of arguments; expected 4, got 1
AriaAsynkTask Error : wrong number of arguments; expected 4, got 1

 

برنامه رو در حالت release اجرا کنید ، این ارور زمانی رخ میده که روی حالت debug اجرا کنین

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

در 13 ساعت قبل، امین شاهدی گفته است :

برنامه رو در حالت release اجرا کنید ، این ارور زمانی رخ میده که روی حالت debug اجرا کنین

 

ممنون حل شد اما وقتی کلید هوم home گوشیمو میزنم شمارش متوقف میشه و actvity.title  رو عدد ثابت میمونه  این در حالیه که هنو برنامه بسته نشده و این گزارش رو میده


** Service (starter) Create **
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
sending message to waiting queue (thread_threadend)
running waiting messages (1)
false
** Activity (main) Resume **

اگه بخام همونجوری ادامه بده شمارشو باس چیکار کنم یا تو ساب  Sub thread_ThreadEnd (Successful As Boolean)   چی بنویسم؟

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

در 11 دقیقه قبل، bahman2012 گفته است :

 

ممنون حل شد اما وقتی کلید هوم home گوشیمو میزنم شمارش متوقف میشه و actvity.title  رو عدد ثابت میمونه  این در حالیه که هنو برنامه بسته نشده و این گزارش رو میده



** Service (starter) Create **
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
sending message to waiting queue (thread_threadend)
running waiting messages (1)
false
** Activity (main) Resume **

اگه بخام همونجوری ادامه بده شمارشو باس چیکار کنم یا تو ساب  Sub thread_ThreadEnd (Successful As Boolean)   چی بنویسم؟

سلام،

ببینید شما زمانیکه ترد رو توی اکتیویتی اجرا کنید، تا زمانی ترد کار میکنه که اکتیویتی شما فعال باشه.

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

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

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

در 54 دقیقه قبل، مجید آرتا گفته است :

سلام،

ببینید شما زمانیکه ترد رو توی اکتیویتی اجرا کنید، تا زمانی ترد کار میکنه که اکتیویتی شما فعال باشه.

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

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

میشه یه سورس کوچیک راجبش بدید اینجا؟؟؟؟ ممنون

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

  • 2 هفته بعد...
در در 1395/05/11, 23:21:42، ali.1020 گفته است :

من وسط دانلود نتمو قطع میکنم ولی 1- نمیاد 

برنامه ارور نیمده بعد نت رو وصل میکنم و باتن دانلود 3-4 میزنم 3- 4 بار 


Log("OnPreExecute")

میاد بعد دانلود انجام میشه 

یعنی بلافاصله بعد از وصل شدن نت عمل دانلود انجام نمیشه 

الان کدهای دانلود رو کجا بیارم تا نت وصله شه اتوماتیک دانلود انجام بشه 

منم این مشکل رو دارم استاد شاهدی لطفا کمک کنید؟

 

و یه سوال دیگه : بعد از قطع شدن نت دقیقا په اتفاقی میوفته؟ sub خاصی اجرا میشه؟

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

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

سلام 

میشه راهنمایی کنید ارور های زیر چه زمانی اتفاق میوفتن؟

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

از یه پروژه قدیمی خودم هم ران میگیرم بازم این ارور ها رو نشون میده در حالی که قبلا این ارور ها رو نداشت.

Capture.PNG

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

اساتید عزیز برای دانلود همزمان چندتا فایل از کدوم کلس باید استفاده شه؟ AriaAsyncTask یا AriaAsyncTask2؟ این دو متد هاشون فرق میکنه من میخوام پراگرس هم داشته باشه. تشکر

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

سلام جناب شاهدی

آریاآسنک رو توی سرویس گذاشتم

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

 

متاسفانه با ارور زیر مواجه میشم

1000
AriaAsynkTask Error : Wrong number of arguments; expected 1, got 0
1000
AriaAsynkTask Error : Wrong number of arguments; expected 3, got 1
** Activity (home) Resume **
Panel size is unknown. Layout may not be loaded correctly.
0
AriaAsynkTask Error : null

لطف بفرمایید بررسی بفرمایید

 

Dim arg As Int=1000
CallSub2(getupdate,"rundl",arg)

 

Sub rundl(g As Int)
	ar.Initialize("p")
	d.Initialize(ar)

 
	ar.Run(Array(g))
	Log(g)
End Sub
Sub p_DoInBackground(params() As Object,CustomObjects() As Object,CurrentTask As AriaAsyncTask2) As Object
 
	Log(params(0))
 ''''http://e/all.php?n=1000
	Return d.Get("http://all.php").POST("n="&params(0)).String
End Sub

Sub p_OnPreExecute(CustomObjects() As Object)
	Log("pre")
End Sub

Sub p_OnProgressUpdate(Progress As Int,CustomObjects() As Object)
If Progress=-1 Then
	sijuation="disconnect"
	Else
		Log(Progress)
		sijuation="updating"
	End If
	
	
End Sub

 

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

در در 1396/07/02, 04:56:30، mehran3d گفته است :

سلام جناب شاهدی

آریاآسنک رو توی سرویس گذاشتم

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

 

متاسفانه با ارور زیر مواجه میشم


1000
AriaAsynkTask Error : Wrong number of arguments; expected 1, got 0
1000
AriaAsynkTask Error : Wrong number of arguments; expected 3, got 1
** Activity (home) Resume **
Panel size is unknown. Layout may not be loaded correctly.
0
AriaAsynkTask Error : null

لطف بفرمایید بررسی بفرمایید

 


Dim arg As Int=1000
CallSub2(getupdate,"rundl",arg)

 


Sub rundl(g As Int)
	ar.Initialize("p")
	d.Initialize(ar)

 
	ar.Run(Array(g))
	Log(g)
End Sub
Sub p_DoInBackground(params() As Object,CustomObjects() As Object,CurrentTask As AriaAsyncTask2) As Object
 
	Log(params(0))
 ''''http://e/all.php?n=1000
	Return d.Get("http://all.php").POST("n="&params(0)).String
End Sub

Sub p_OnPreExecute(CustomObjects() As Object)
	Log("pre")
End Sub

Sub p_OnProgressUpdate(Progress As Int,CustomObjects() As Object)
If Progress=-1 Then
	sijuation="disconnect"
	Else
		Log(Progress)
		sijuation="updating"
	End If
	
	
End Sub

 

دوست عزیز2 حالت داره به نظر من مشکلتون

1- این که ساب های مربوطه از نوع اسینک تسکی که تعریف کردید نیستند 

2-تعداد ارگومانی که به اسینک تسک میدید کمتر از تعدادی هست که براش تعریف شده یعنی موقع استفاده از اسینک تسک2 شما هم باید parms() بدید و هم customview

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

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

توی قسمت لاگ هم این رو مینویسه

Attempt to invoke virtual method 'void ariagp.amin.shahedi.asyncytask.AriaAsyncTaskNewObject$task.doProgress(int)' on a null object reference

معنی این چی هست؟

ممنون میشم کمک کنید فوری هست

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

در در 1396/07/02, 16:26:30، mehran3d گفته است :

سلام جناب شاهدی

آریاآسنک رو توی سرویس گذاشتم

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

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

روی حالت Release  بزارید تست کنید.

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

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

سلام

میگم نمیشه برای AriaAsyncTaskDownloader یک هدر ست کرد

این رو SetHeader("Accept-Language", "FA")

ممنونم

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

  • 1 ماه بعد...

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

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

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

×
  • اضافه کردن...