رفتن به مطلب

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

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

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

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

  • روز های برد

    779

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

  1. راستش عزیز من متوجه منظورتون نمیشم که چیکار کردین و کجا مورد دارین. اگه میتونید سورس رو پیوست کنید یا خصوصی بفرستید تا بررسی شه.
  2. آیتمهای ریسایکلر یهویی خالی نمیشن عزیز و این مورد اصن مربوط به ریسایکلر نیست، مربوط به نحوه پیاده سازی و ذخیره داده های ریسایکلر توی حافظه هست. دیتای آداپتر ریسایکلر باید حتما جایی ذخیره باشه که وقتی context اکتیویتی جاری از بین رفت بتونه موقه ریلود شدن دیتاها رو برگردونه.
  3. خطا واضحه. چیزی که میخواین بگیرین باتن نبوده.
  4. از پست اول قسمت 13 رو دانلود کنید. علاقه مندی به صورت کامل توضیح داده شده
  5. مشاهده فایل کتابخانه PersianCircleImagView( ایمیج ویو گرد) سلام خدمت همه دوستان.یه کتابخونه جالب و جذاب رو براتون آماده کردم که قطعا خیلیا دنبالش هستین تو بیسیک براتون آماده کردم برید کیفشو ببرید. این کتابخونه قبلا تو ریسایکلر ویو بود که الان به صورت یه کتابخونه مستقل آماده شده. امیدوارم مورد استفاده قرار بگیره. سورس کار با کتابخانه circle.zip ارسال کننده محمدرضا شاهپیری ارسال ۱۹/۰۴/۲۶ دسته کتابخانه ها
  6. در مورد مشکل اول اینکه مشکل ربطی به کتابخونه httputils نداره عزیز. به خاطر ssl سرورتونه. از متد withTLS در موقه اینشیالایز استفاده کنید. اما مورد دوم. ممکنه مورد از کدهاتون باشه کدها رو بزارید تا بررسی شه. هم PHP هم بیسیک.
  7. سلام خدمت شما دوست گرامی. همونجوری که میدونید کتابخونه خیلی گسترده ست عزیز. و کدها و ریسورسهای زیادی توش وجود داره. همین امر باعث میشه یه حجم ثابت که تقریبا حدود 3 مگ هست به برنامتون اضافه میشه. البته تاثیری در سرعت برنامه به هیچ وجه نداره.
  8. زیاد اصولی نیست این کار دوست عزیز. اگه قراره شخصی سازی زیاد داشته باشه اسکرول های افقی بهتره به جای اسکرول ویو از ریسایکلرویو استفاده بشه. تو آموزش نحوه لود لردن ریسایکلر توی ریسایکلر هست.
  9. Dim prjson As PersianJSONOBject prjson.initialaizJsonString(Json) Dim AdsPostsArray As PersianJSONArray=prjson.getJsonArray("AdsPosts") For i=0 To AdsPostsArray.size-1 Dim jsonobj As PersianJSONOBject=AdsPostsArray.getJsonObject(i) Dim id As String=jsonobj.getString("id") Dim Title As String=jsonobj.getString("Title") Dim Image As String=jsonobj.getString("Image") . . . Next
  10. سلام.لطفا جیسون رو بذارید. اینجوری یه خورده سخته تبدیل کردنش.
  11. آموزش اضافه اضافه شد عزیز. از پست اول قسمت دوازدهم رو دانلود کنید
  12. با سلام خدمت دوستان عزیز. یه آموزش کاملا اختصاصی و کاربردی رو براتون تدارک دیدیم. کلاس Application یکی از کلاسهای بسیار مهم و کاربردی توی اندروید هست. و کارهای زیادی رو شما میتونید با این کلاس انجام بدین. وظیفه اصلی این کلاس آماده سازی متغیرها یا در واقع متدهایی از برنامه هست که به صورت سراسری تو کل پروژه میتونید ازشون استفاده کنید. این کلاس بلافاصله بعد از اینکه برنامه لانچ بشه یعنی قبل از اینکه اکتیویتی از برنامه ساخته بشه ساخته میشه. نمونه بارزی که میشه مثال زد اینشیالایز کردن کتابخونه هایی مثه پوشه یا وان سیگنال یا اینجور کتابخونه هایی که قراره تو کل پروژه فعال باشه. اما نحوه پیاده سازی. ابتدا توی جاوا که اکثرا میدونن به شکل زیر هست. یک کلاس که از Application مشتق شده ایجاد و اونو توی منیفست اضافه میکنیم. import android.app.Application; public class MyCustomApplication extends Application { @Override public void onCreate() { super.onCreate(); } } حالا توی منیفست با خصوصیت android:name توی تگ application اونو اضافه میکنیم <application android:name=".MyCustomApplication" android:icon="@drawable/icon" android:label="@string/app_name" ...> و اما به مبحث اصلی که پیاده کردنش توی بیسیک هست میرسیم. ابتدا یک کلاس بیسیک با نام مثلا myApp میسازیم از منوی project. حالا کد زیر رو توی اون کپی میکنیم. Public Sub onCreate Log("onCreate") End Sub #If java import android.app.Application; public static class App extends Application { @Override public void onCreate() { super.onCreate(); runSub("_onCreate".toLowerCase()); } private void runSub(String sub){ try { myapp.class.getMethod(sub,null).invoke(new myapp()); } catch (Exception e) { BA.Log( e.toString()); } } } #End If تو کد بالا اومدیم و کلاس Application رو به صورت استاتیک توی کلاس بیسیک پیاده کردیم تا بتونیم ازش تو خود کلاس بیسیک استفاده کنیم. واسه اینکه بتونیم سابهای بیسیک رو از توی کدهای جاوا اجرا کنیم اومدیم و از رفلکشن استفاده کردیم که در واقع تابع runSub میشه. دقت داشته باشین میتونید هر ساب دیگه ای رو هم پیاده کنید توی این کلاس و همینطور هر متدی از این کلاس رو میتونید توی کد جاوا پیاده و بازنویسی کنید. تو این لینک توضح کامل و متدهای کلاس application هست. و اما مرحله آخر به منیفست میریم و به صورت زیر کلاس رو به برنامه معرفی میکنیم. SetApplicationAttribute(android:name, ".myapp$App") اول نقط بعد اسم کلاس بیسیک با حروف کوچیک و بعد حرف $ و بعد اسم کلاس جاوایی که تعریف کردیم. حالا کافیه برنامه رو اجرا کنید و میبینید که ساب onCreate اجرا و پیغام نمایش داده میشه. امیدوارم که از این آموزش لذت و استفاده کافی رو ببرید. موفق باشید
  13. از قسمت مدیریت خرید سورس و آموزشها رو دانلود کنید.
  14. خیر عزیز. انشالا تو نسخه بعد اضافه میکنم.
  15. مشاهده فایل کتابخانه بسیار کاربردی 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 دسته کتابخانه ها
  16. سلام خدمت شما. خیلی عجیبه که برای شما فقط این مورد هست. دوستان دیگه این مشکل رو ندارن. فاکتور براتون صادر شد عزیز.
  17. انجام شد عزیز. میتونید دریافت کنید
  18. شما به راحتی میتونید با کلاس 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
  19. دوست عزیز این موضوع اصلا ربطی به ریسایکلر نداره و وظیفه ریسایکلر نمایش اطلاعات هست نه کش کردن. برای این کار شما باید از دیتابیس آفلاین استفاده کنید. اطلاعات رو که گرفتید وارد دیتابیس آفلاین کنید و بسته به موقعیت از دیتابیس مربوطه بخونید اطلاعات رو
  20. دوست عزیز تو پیاده کردن سابها دقت کنید که eventnam رو درست بزارید. ساب زیر اشتباهه ایونت نیمی که اینشیالایز کردین رو بزارین Sub EventName_onCreateViewHolder(layoutitem As Object,viewtype As Int) As Object Return "litem" End Sub
  21. مشخصه عزیز. شما اصلا ویویی به متغیر prutil ندادین که متد setTextColorForTextview رو صدا زدین. اول باید setup رو انجام بدین به شکل زیر که اونو شما کامنت کردین تو این تصویر prutil.SetUp(layoutitem)
  22. مشکل مرتفع شد دوست عزیز. نسخه جدید رو دریافت کنید. و حتما تغییرات جدید رو هم مطالعه کنید. موفق باشید
  23. ممنون از استاد آرتای عزیز. استاد در کل چه بازیهایی رو میشه با بیسیک زد؟ و آیا به صرفه هست که روی این موضوع وقت و هزینه گذاشت با وجود موتورهای قدرتمندی مثل یونیتی؟
×
×
  • اضافه کردن...