رفتن به مطلب

محمدرضا شاهپیری

مدیر کل سایت
  • تعداد ارسال ها

    4,062
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    775

تمامی مطالب نوشته شده توسط محمدرضا شاهپیری

  1. مشاهده فایل کتابخانه بسیار کاربردی PersianTimer با سلام خدمت دوستان عزیز امیدوارم که حالتون خوب باشه و کدهاتون بی ارور با یک کتابخونه بسیار کاربردی و واجب در خدمتتون هستم. کتابخونه timer خود بیسیک واقعا ضعیف و بدون امکانات هست. و گزارشهایی هم شده که کتابخونه به درستی کار نمیکنه. تو این کتابخونه به جای خود تایمر اندروید و یا handler اومدیم و از scheduledexecutorservice که از خانواده قدرتمند ThreadPoolExecutor هست استفاده کردیم. یکی از مزیت های بسیار خوب این کتابخونه این هست که به راحتی میتونید بینهایت کار رو به صورت همزمان توی نخهای متفاوت بدون هیچ گونه تداخلی انجام بدین.این کار به وسیله Future ها انجام میشه و توی کتابخونه به وسیله tag تایمرها از هم متمایز میشن. امیدوارم که از کتابخونه واقعا کاربردی بهترین استفاده رو بکنید. لینک آموزش و سورس کتابخونه واما نحوه استفاده از کتابخونه. ابتدا کتابخونه رو تیک بزنید و اونو اینشیالایز کنید Dim prt As PersianTimer prt.Initialize("prt") توی این کتابخونه سه تا متد اصلی هست. متد اول متد schedule هست. این متد کارش اینه که یک کار مشخص رو بعد از یک تایم مشخص انجام میده. در واقع تایمر رو برای تایم مشخص ست میکنه. مثال. prt.schedule("schedule",prt.TimeUnit_SECONDS,10) Private Sub prt_onTick(Tag As String,TimeUntil As Int) بعد از 10 ثانیه این متد اجرا میشه End Select متد دوم scheduleAtFixedRate هست. این متد تایمر رو با یک وقفه مشخص برای یک دوره زمانی متناوب ست میکنه. مثال. prt.scheduleAtFixedRate("scheduleAtFixedRate",prt.TimeUnit_SECONDS,3,1) ' یعنی اینکه بعد از 3 ثانیه هر یک ثانیه تیک بخور تا زمانی که اونو کنسل نکنید به همین صورت هر یک ثانیه یک بار متد زیر اجرا میشه Private Sub prt_onTick(Tag As String,TimeUntil As Int) این متد هر یک ثانیه اجرا میشه End Select متد سوم متد scheduleCountDown هست. این متد یک تایمر معکوس با تایم مشخص و دوره تیک مشخص ایجاد میکنه. مثال prt.scheduleCountDown("scheduleCountDown1",prt.TimeUnit_SECONDS,30,1) ' یعنی اینکه از 30 شروع کن و تا صفر یک ثانیه یک ثانیه بیا Private Sub prt_onTick(Tag As String,TimeUntil As Int) Log("Tick : "&Tag&" TimeUntil : "&TimeUntil) ' TimeUntil مقدار زمان باقیمانده تا صفر هست به ثانیه End Select End Sub بعد از 30 ثانیه تایمر تموم میشه و متد زیر اجرا میشه Private Sub prt_onFinish(Tag As String) Log("Finish : "&Tag) End Sub ارسال کننده محمدرضا شاهپیری ارسال جمعه, 26 بهمن 1397 دسته کتابخانه ها
  2. سلام خدمت شما. خیلی عجیبه که برای شما فقط این مورد هست. دوستان دیگه این مشکل رو ندارن. فاکتور براتون صادر شد عزیز.
  3. انجام شد عزیز. میتونید دریافت کنید
  4. شما به راحتی میتونید با کلاس PRViewUtils کارهای زیادی رو با xml انجام بدین. متد prutil.getViewById چیزی هست که شما لازم دارید به شکل زیر حدودا Sub pr_onBindViewHolder(layoutitem As Object,position As Int,viewtype As Int) Dim prutil As PRViewUtils prutil=pr.PrViewUtils prutil.SetUp(layoutitem) Dim ar As AriaGlide ar.Load("link").AsBitmap.IntoImageView(prutil.getViewById("imageview")) End Sub
  5. دوست عزیز این موضوع اصلا ربطی به ریسایکلر نداره و وظیفه ریسایکلر نمایش اطلاعات هست نه کش کردن. برای این کار شما باید از دیتابیس آفلاین استفاده کنید. اطلاعات رو که گرفتید وارد دیتابیس آفلاین کنید و بسته به موقعیت از دیتابیس مربوطه بخونید اطلاعات رو
  6. دوست عزیز تو پیاده کردن سابها دقت کنید که eventnam رو درست بزارید. ساب زیر اشتباهه ایونت نیمی که اینشیالایز کردین رو بزارین Sub EventName_onCreateViewHolder(layoutitem As Object,viewtype As Int) As Object Return "litem" End Sub
  7. مشخصه عزیز. شما اصلا ویویی به متغیر prutil ندادین که متد setTextColorForTextview رو صدا زدین. اول باید setup رو انجام بدین به شکل زیر که اونو شما کامنت کردین تو این تصویر prutil.SetUp(layoutitem)
  8. مشکل مرتفع شد دوست عزیز. نسخه جدید رو دریافت کنید. و حتما تغییرات جدید رو هم مطالعه کنید. موفق باشید
  9. ممنون از استاد آرتای عزیز. استاد در کل چه بازیهایی رو میشه با بیسیک زد؟ و آیا به صرفه هست که روی این موضوع وقت و هزینه گذاشت با وجود موتورهای قدرتمندی مثل یونیتی؟
  10. متن خطا مشخصه عزیز. خروجی شما آرایه جیسون هست. نه آبجکت. شما از دستور executRequesAsString استفاده کنید و به صورت زیر جیسون رو پارس کنید. Private Sub net_onGetStringErrorListener(Error As ResponseError , Tag As String) Log(Error.ErrorLocalizedMsage) End Sub Private Sub net_onGetStringOkListener(Result As String , Tag As String ) Dim prjarray As PersianJSONArray prjarray.initialize(Result) Dim prjobj As PersianJSONOBject=prjarray.getJsonObject(0) Dim date As String=prjobj.getString("date") Log(date) End Sub
  11. آموزش اضافه شد عزیز. از پست اول قسمت یازدهم رو دریافت کنید
  12. انشالا در اولین فرصت آماده میکنم و توی آموزشها قرار میدم
  13. عزیز من الان تست کردم هیچ مشکلی با appcompat نداره. این خطایی هم که به وجود اومده به خاطر درست کانفیگ نکردن آداپترها هست. سورس زیر رو بیس کارتون قرار بدین و ببینید کجا رو اشتباه رفتین. AppCompat - Examp.zip
  14. کتابخونه مشکلی با appcompat نداره عزیز و اصن تداخلی ندارن با هم. دقت کنید که درست اینشیالایز کرده باشید. من این قسمت رو متوجه نشدم منظورتونو.؟ میخواین آیتمها سایزشون نسبت به ارتفاع متنشون کم و زیاد بشه؟ اگه فقط آیتمهاتون لیبل هست میشه یه کاریش کرد اگه ویوهاش زیاده سخت میشه یه کم. اطلاعاتی که دادین کم هست عزیز. بیشتر توضیح بدین ببینم چه کار میشه کرد.
  15. سلام. دقیقا مشکلتون کجا هست دوست عزیز؟ لیوت منیجر flex بدون xml خیلی سخت میشه. چون لیوت بیسیک خیلی ضعف داره و سایزبندیش واقعا مشکله. اینکه xml چی هست که توی نت توضیحات زیاده و دوستمون توی کامنت زیر توضیحات کامل رو دادن . ولی کلی به این صورت هست که قسمت بصری و گرافیکی توی اندروید رو با xml مینویسن. و کارش مدیریت ویوها مثل باتن ادیت تکست و ... هست. دقیقا شبیه لیوت بیسیک که از طریق دیزاینر ما مدیریتش میکنیم. StaggeredGridView هم چیز خاصی نداره. مثل graidview هست.
  16. توی سورس لاگین هست دوست عزیز. هم سورس هم فایلهای php
  17. خدمت شما. فقط اینجا من رنگ ایمیج ویو رو تغییر میدم دیگه خودتون بقیه کاراشو میتونید انجام بدید test.zip
  18. شما باید یه لیست و یه مدل برای آداپترتون داشته باشید. بعد با دستور notifyitemchanged بیاید و اون آیتم رو آپدیت کنید.
  19. بله عزیز از کتابخونه ویرایش شده زیر استفاده کنید. دقت کنید فقط برای این پروژه که PersianFastNetwork هست تو کتابخونه هاتون مشکلی ایجاد نمیکنه. برای باقی پروژه هاتون از همون نسخه اصلی استفاده کنید (irSocket.io-client).zip
  20. سلام خدمت شما دوست گرامی. این که سادس عزیز. شما برای کنترل کردن ویوها کلیک و ... از متد OnItemClick استفاده کنید. یه تگ بدین به باتنتون مثلا btn و به شکل زیر Private Sub pr_OnItemClick(ItemTag As Object,viewclicked As Object,position As Int) If "btn".EqualsIgnoreCase(ItemTag) Then StartActivity(youract) End If End Sub
  21. تست کردم الان. همچین مشکلی وجود نداره. سورس زیر test.zip
  22. سلام خدمت شما. عزیز این دوتا کتابخونه هیچ ارتباط و تداخلی با همدیگه ندارن اصلا. و این پکیج (Lokhttp3/Authenticator$1) توی ریسایکلر وجود نداره اصلا. مشکل از تداخل کتابخونه PersianFastNetwork با کتابخونه ی دیگه ای هست. لیست کتابخونه هاتون رو بزارید ببینم
  23. اسکرول ربطی به آداپتر نداره عزیز. مربوط به خود ریسایکلر هست. با لیوت بیسیک هم تست کردم و موردی نبود. سورس زیر رو تست کنید و ببینید کجا اشتباه رفتید b4alayoutsorce.zip
×
×
  • اضافه کردن...