-
تعداد ارسال ها
4,205 -
تاریخ عضویت
-
آخرین بازدید
-
روز های برد
872
نوع محتوا
نمایه ها
فروشگاه
تالارهای گفتگو
بخش دریافت
تمامی مطالب نوشته شده توسط محمدرضا شاهپیری
-
تاپیک پشتیبانی کتابخانه PersianRetrofit
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : مرتبط با فروشگاه
وارد سایت زیر بشید و لاگین کنید. https://gorest.co.in/consumer/login مطابق صفحه زیر توکن رو بگیرید توکن رو طبق شکل زیر جایگزین کنید توی کلاس PrRetrofit و متد retrofit_intercept دقت کنید توکن باید همراه Bearer و یه فاصله باشه دقیقا مطابق سورس. دیگه نباید مشکلی باشه- 20 پاسخ
-
- Retrofit
- Retrofit B4a
-
(و 3 مورد دیگر)
برچسب زده شده با :
-
تاپیک پشتیبانی کتابخانه PersianRetrofit
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : مرتبط با فروشگاه
من فعلا وقت نمیکنم دوست عزیز تا آخر ماه شاید سرم خلوت شه. تو نت سرچ کنید آموزش زیاد هست.- 20 پاسخ
-
- Retrofit
- Retrofit B4a
-
(و 3 مورد دیگر)
برچسب زده شده با :
-
تاپیک پشتیبانی کتابخانه PersianRetrofit
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : مرتبط با فروشگاه
من php کار نکردم دوست عزیز فقط در حد مقدماتی. برای وب سرویس نوشتن پایتون گزینه فوقلاده ای هست و خیلی راحت و سریع میتونید بک اند اپ رو پیاده کنید. اگه خودتون بلد نیستید حتما به یه api نویس و وب کار بدین بنویسه- 20 پاسخ
-
- 1
-
-
- Retrofit
- Retrofit B4a
-
(و 3 مورد دیگر)
برچسب زده شده با :
-
تاپیک پشتیبانی کتابخانه PersianRetrofit
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : مرتبط با فروشگاه
سلام و درود. api هایی که تو آموزش استفاده شده با پایتون-جنگو نوشته شده که تو پنل قرار گرفت. درمورد اتصال به اینترنت هم تو انجمن تاپیک زیاد هست در موردش جستجو کنید پیدا میکنید- 20 پاسخ
-
- 1
-
-
- Retrofit
- Retrofit B4a
-
(و 3 مورد دیگر)
برچسب زده شده با :
-
دریافتPoolakey
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : کتابخانه ها (Libraries)
بله دوست عزیز. کرش میکنه. این کلاسها نیاز هست برای کتابخونه- 102 پاسخ
-
- 1
-
-
- poolakey
- درون پرداخت
-
(و 1 مورد دیگر)
برچسب زده شده با :
-
سلام و درود. امیدوارم حالتون خوب باشه از بین چهار کامپوننت اصلی اندروید رسیورها یکی از مهمترینهاش هست. از اونها برای اسال رویداد بین برنامه ها و یا بین خود کامپوننتها استفاده میشه. همینطور برای دریافت اعلانهای سیستمی مثل اس ام اس یا تماس ازشون استفاده میشه. این قابلیت جدیدا به صورت نیتیو به b4a اضافه شده هر چند کامل این کار رو نکرده. بریم که ببینیم به چه شکل باید استفاده کنیم. اول از منوی Project->Add New Module->Receiver Module یه رسیور مثلا به نام TestReceiver ایجاد میکنیم. Sub Process_Globals End Sub Private Sub Receiver_Receive (FirstTime As Boolean, StartingIntent As Intent) Log(StartingIntent.Action) End Sub به طور کلی به دو صورت میتونیم رسیورها رو توی اندروید ثبت کنیم. 1- از طریق منیفست یا استاتیک: یکی از روشهای ثبت رسیور از طریق منیفست هست. البته این روش برای اکثر اعلانها تو نسخه های جدید اندروید غیر فعال شده. مثلا میخوایم بوت شدن دستگاه رو بفهمیم. به منیفست کدهای زیر رو اضافه میکنیم. AddPermission(android.permission.RECEIVE_BOOT_COMPLETED) AddReceiverText(TestReceiver, <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter>) 2-از طریق کدنویسی یا داینامیک: اینجا رو دیگه ارل یادش رفته و براش راه حلی نزاشته. ولی ما که نمیزاریم چیزی لنگ بمونه این روش روش پیشنهادی و استاندارد گوگل هست. کدهای زیر رو به اکتیوتی یا سرویس اضافه کنید اضافه کنید. #If java import android.content.BroadcastReceiver; import android.content.Context; import android.content.IntentFilter; import android.os.Build; import java.lang.reflect.Constructor; public void registerReceiver(Object receiverClass, String[] actions) throws Exception{ IntentFilter intentFilter=new IntentFilter(); for (String action:actions) { intentFilter.addAction(action); } String className=receiverClass.toString().replace("class ",""); Class<?> clazz = Class.forName(className); Constructor<?> cons = clazz.getConstructor(); cons.setAccessible(true); final BroadcastReceiver receiver =(BroadcastReceiver) cons.newInstance(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { registerReceiver(receiver,intentFilter,Context.RECEIVER_EXPORTED); }else { registerReceiver(receiver,intentFilter); } } public void unregisterReceiver(Object receiverClass) throws Exception{ String className=receiverClass.toString().replace("class ",""); Class<?> clazz = Class.forName(className); Constructor<?> cons = clazz.getConstructor(); cons.setAccessible(true); BroadcastReceiver receiver =(BroadcastReceiver) cons.newInstance(); unregisterReceiver(receiver); } #End If و به صورت زیر رسیور رو ثبت کنید. مثلا میخوایم هر وقت دقیقه گوشی عوض شد متوجه بشیم. Dim jo As JavaObject jo.InitializeContext.RunMethod("registerReceiver",Array(TestReceiver,Array As String("android.intent.action.TIME_TICK"))) این مواردی که تا الان عرض شد برای اعلانهای سیستمی هست، اما یکی از مهمترین قابلیتهای رسیور اینه که ما میتونیم رسیور دلخواه خودمونو هم ثبت کنیم که خب خیلی کاربردی هست. مثلا میخوایم یه اعلان با اکشن com.action.TEST ثبت کنیم. به صورت زیر ثبتش میکنیم Dim jo As JavaObject jo.InitializeContext.RunMethod("registerReceiver",Array(TestReceiver,Array As String("com.action.TEST"))) و حالا برای صدا زدن اعلان به شکل زیر عمل میکنیم. اول کتابخونه phone رو تیک میزنیم. Dim phone As Phone Dim i As Intent i.Initialize("com.action.TEST","") i.PutExtra("key","value") phone.SendBroadcastIntent(i) حتما توجه داشته باشین که بعد از استفاده اونو unregister کنید.به شکل زیر Dim jo As JavaObject jo.InitializeContext.RunMethod("unregisterReceiver",Array(TestReceiver,Null)) سورس هم پیوست شد receiver.zip مانا باشید
- 4 پاسخ
-
- 5
-
-
تاپیک پشتیبانی کتابخانه PersianRetrofit
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : مرتبط با فروشگاه
نسخه جدید اضافه شد و آموزش تصویری به پست اول اضافه شد- 20 پاسخ
-
- 1
-
-
- Retrofit
- Retrofit B4a
-
(و 3 مورد دیگر)
برچسب زده شده با :
-
دریافتPoolakey
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : کتابخانه ها (Libraries)
عزیز من تست کردم هیچ مشکلی نداره. موارد زیر رو دانلود کنید و کلا یه پوشه sdk جدید بسازید و داخلش بریزید فایها رو.b4a هم نسخه آخر باشه. سورس هم نسخه آخر. نباید مشکلی باشه https://dl.google.com/android/repository/commandlinetools-win-9123335_latest.zip https://www.b4x.com/android/files/resources_11_22.zip- 102 پاسخ
-
- 1
-
-
- poolakey
- درون پرداخت
-
(و 1 مورد دیگر)
برچسب زده شده با :
-
تاپیک پشتیبانی کتابخانه PersianRetrofit
محمدرضا شاهپیری پاسخی ارسال کرد برای یک موضوع در مرتبط با فروشگاه
با سلام خدمت عزیزان برنامه نویس پروژه ای که مدت خیلی طولانی هست درگیرش بودیم خدا رو شکر به نتیجه رسید و به نسخه پایدار رسید. بارها مکانیزم پروژه عوض شد تا راحت ترین و ساده ترین تجربه کاربری برای دوستان به وجود بیاد و دیگه درگیر پیچیدگی های جاوا و کدهای پس زمینه نشید. برسیم سراغ کتابخونه Retrofit یک کتابخانهی فوقلاده قوی اندرویدی برای کار با وب سرویس هستش. به خاطر استفاده از annotation و interface خیلی سریع راه اندازی میشه و امکانات خیلی زیادی بهتون میده. خب دیگه چونه بسسه بریم سراغ آموزش. 1: راه اندازی Dim pRetrofit As PersianRetrofit pRetrofit.Initialize("retrofit").baseUrl("http://192.168.129.115:8000/").addConverterFactory _ .addInterceptor.addAuthenticator.build متد addConverterFactory برای تبدیل کلاس جاوا به جیسون هست. به راحتی میتونید کلاس بفرستید به سرور متد addInterceptor برای اینه که بخواین به صورت اتوماتیک به همه ریکوئستها یه کانفیگ رو ست کنید. مثلا میخواین تو همه ریکوئستها هدر Authorization بفرستید. به شکل زیر میشه Private Sub retrofit_intercept(request As Request) request.addHeader("Authorization","Bearer "&accessToken) End Sub متد addAuthenticator برای احراز هویت هست و به طور کلی برای رفرش کردن توکن هست. زمانی که ارور 401 (Unauthorized) متد زیر اجرا میشه و شما باید توکن جدید بگیرید و به ریکوئست پاس بدید Private Sub retrofit_authenticate As Map Dim token As String= getAccessToken(uc.RefreshToken) Dim map As Map map.Initialize map.Put("Authorization","Bearer "&token) Return map End Sub 2: استفاده از متدها به طور کلی برای ارسال درخواست یک کلاس از نوع RequestBuilder باید ساخته بشه و به شکل زیر راه اندازی بشه GET Dim queries As Map:queries.Initialize queries.Put("key1","value1") Dim requestBuilder As RequestBuilder requestBuilder.setMethod(requestBuilder.GET) _ .setEndpoint("public/v2/users").setQueries(queries) POST Dim user As User user.Initialize user.username=username user.password=password Dim requestBuilder As RequestBuilder requestBuilder.setMethod(requestBuilder.POST).setBody(user).setEndpoint("api/token/") MULTIPART Dim imbl As List imbl.Initialize imbl.Add(MultipartUtils.createPartBody("file","image.png",image)) Dim bm As Map bm.Initialize bm.Put("content",MultipartUtils.creteStringBody("image from persian retrofit")) Dim requestBuilder As RequestBuilder requestBuilder.setMethod(requestBuilder.MULTIPART).setEndpoint("api/upload_image/") _ .setMultipartParts(imbl).setMultipartParams(bm) 3: اجرای درخواست برای ارسال و اجرای درخواست به دوصورت میتونیم عمل کنیم 1: Async (اجرا در نخ جداگانه) pRetrofit.enqueue(requestBuilder,"login") Wait For retrofit_onResponse(response As Response) If response.isSuccessful Then Dim body As String=response.body Dim JSON As JSONParser JSON.Initialize(body) Dim resp As Map= JSON.NextObject Log(resp.Get("access")) Else Log(response.error) End If 2: Sync (اجرا در نخ اصلی یا همون main ) Dim response As Response=pRetrofit.execute(requestBuilder) If response.isSuccessful Then Dim body As String=response.body Dim JSON As JSONParser JSON.Initialize(body) Dim resp As Map= JSON.NextObject Log(resp.Get("access")) Else Log(response.error) End If آموزش تصویری 1:آموزش کتابخانه PersianRetrofit قسمت ۱ (مقدماتی) https://www.youtube.com/watch?v=t7VrsePFSmU -------------------------------------------------------------------------------------------------------- 2:آموزش کتابخانه PersianRetrofit قسمت ۲ (مقدماتی) https://www.youtube.com/watch?v=6_i4myiSM1s -------------------------------------------------------------------------------------------------------- 3:آموزش کتابخانه PersianRetrofit قسمت ۳(احراز هویت خودکار) https://www.youtube.com/watch?v=YxqCFRS0e1o -------------------------------------------------------------------------------------------------------- 4:آموزش کتابخانه PersianRetrofit قسمت ۴(دانلود) https://www.youtube.com/watch?v=gUfPSHSRDO0 -------------------------------------------------------------------------------------------------------- 5:آموزش کتابخانه PersianRetrofit قسمت ۵(آپلود) https://www.youtube.com/watch?v=W5W6WZikDHs تمام Have fun- 20 پاسخ
-
- 9
-
-
-
- Retrofit
- Retrofit B4a
-
(و 3 مورد دیگر)
برچسب زده شده با :
-
دریافتMyketInapp کتابخانه درون پرداخت مایکت
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : کتابخانه ها (Libraries)
خطا مربوط به کتابخونه نیست. میگه محصولات اشتراکی قابل مصرف نیستن. -
دریافتMyketInapp کتابخانه درون پرداخت مایکت
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : کتابخانه ها (Libraries)
یه متد جداگونه بنویسید واسه مصرف کردن خرید بعد توی onIabPurchaseFinished با دستور calsubdelayed اونو صدا بزنید ببینید اکی میشه یا نه نتیجه رو اعلام کنید لطفا -
دریافتMyketInapp کتابخانه درون پرداخت مایکت
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : کتابخانه ها (Libraries)
نسخه قبل مشکل داشت و اینکه روی نسخه ۱.۴ مایکت بود. نسخه فعلی مشکلات رفع شده و به نسخه ۱.۶ که نسخه آخر مایکت هست به روز شده. حتما به نسخه جدید آپدیت کنید -
دریافتMyketInapp کتابخانه درون پرداخت مایکت
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : کتابخانه ها (Libraries)
سلام و درود. کتابخانه به روز شد نسخه جدید رو دریافت کنید -
ویژه: کتابخانه جامع PersianFastNetwork
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : مرتبط با فروشگاه
سلام و درود. این موارد توی آموزشها هست Dim post As PostRequest post=prfn.BuildPostQuery("url","tag") post.addParametrs("ke1","value1") post.addParametrs("ke2","value2") post.addParametrs("ke3","value3") -
دریافتPoolakey
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : کتابخانه ها (Libraries)
نسخه بیسیک رو حتما به روز کنید. همینطور sdk و فایلهای extra رو از سایت مرجع بگیرید و سمپلی که گذاشتم رو تست کنید- 102 پاسخ
-
- 1
-
-
- poolakey
- درون پرداخت
-
(و 1 مورد دیگر)
برچسب زده شده با :
-
دریافتPoolakey
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : کتابخانه ها (Libraries)
سلام. نسخه 3 رو دانلود کنید و همچنین نسخه b4a و sdk هم نسخه آخر باشه فک کنم دیگه نیازی به تغییر sdk نیست- 102 پاسخ
-
- 1
-
-
- poolakey
- درون پرداخت
-
(و 1 مورد دیگر)
برچسب زده شده با :
-
کتابخانه بسیار کاربردی PersianAlarmManager (**ویژه**)
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : مرتبط با فروشگاه
از منوی بالای انجمن قسمت فروشگاه و مدیریت خرید دانلود کنید- 79 پاسخ
-
- PersianAlarmManager
- alarm
-
(و 2 مورد دیگر)
برچسب زده شده با :
-
ویژه: کتابخانه جامع PersianFastNetwork
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : مرتبط با فروشگاه
این کتابخونه به زودی با کتابخوته retrofit جایگزین میشه که به مراتب قدرتمندتره و امکاناتش بیشتره. -
ویژه: کتابخانه جامع PersianFastNetwork
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : مرتبط با فروشگاه
سلام و درود. از wait For استفاده نکنید. متدهای success و error رو به صورت ایونت پیاده کنید. تایم اوت رو هم بالا بزارید یک دیقه معمولا میزارن -
کتابخانه AriaToast برای B4A (توست حرفه ای و متریال همراه با انیمیشن)
محمدرضا شاهپیری پاسخی برای امین شاهدی ارسال کرد در موضوع : مرتبط با فروشگاه
به جای کد زیر toast.requestDrawPermission از روش زیر استفاده کنید. اول متد زیر رو به اکتیویتی اضافه کنید #if java import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Build; import android.provider.Settings; public void requestDrawPermission() { Context context = BA.applicationContext; if (Build.VERSION.SDK_INT > 23 && !Settings.canDrawOverlays(context)) { Intent intent = new Intent( Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + context.getPackageName()) ); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); } } #end if حالا کتابخونه javaobject رو تیک بزنید و به شکل زیر متد رو صدا بزنید Dim jo As JavaObject jo.InitializeContext.RunMethod("requestDrawPermission",Null)- 45 پاسخ
-
- 2
-
-
-
کتابخانه AriaToast برای B4A (توست حرفه ای و متریال همراه با انیمیشن)
محمدرضا شاهپیری پاسخی برای امین شاهدی ارسال کرد در موضوع : مرتبط با فروشگاه
شما متد Build رو صدا نزدین. قبل از نمایش باید این متد رو صدا بزنید که ویوها ساخته بشه. کدتون به شکل زیر باید باشه toast.Initialize("toast").Title("test").Icon(LoadBitmap(File.DirAssets,"caution1.png")).Build.Show قبل از همه چیز هم باید متد زیر رو صدا بزنید و دسترسی ترسیم رو بگیرید toast.requestDrawPermission- 45 پاسخ
-
- 1
-
-
کتابخانه AriaToast برای B4A (توست حرفه ای و متریال همراه با انیمیشن)
محمدرضا شاهپیری پاسخی برای امین شاهدی ارسال کرد در موضوع : مرتبط با فروشگاه
سلام. چه خطایی دریافت میکنید؟ -
کتابخانه PersianRecyclerView ***(نسخه جدید)***
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : مرتبط با فروشگاه
آخرین نسخه موجود 5.11 هست از پنل دانلود و جایگزین کنید- 616 پاسخ
-
- 1
-
-
کتابخانه PersianRecyclerView ***(نسخه جدید)***
محمدرضا شاهپیری پاسخی برای محمدرضا شاهپیری ارسال کرد در موضوع : مرتبط با فروشگاه
سلام و درود. از اونجایی که DsTabLayout از نسخه ساپورت استفاده میکنه و کتابخونه قدیمی و منسوخ شده هست و ریسایکلر ویو نسخه androidX هست احتمال اینکه تداخل داشته باشن خیلی زیاده. من که اصلا نتونستم از DsTabLayout استفاده کنم چون خطا میده و کامپایل نمیشه. اما اگه تداخل نداشته باشن به نظرم میتونید با هم استفاده کنید. به دوتا متد زیر توجه کنید Private Sub prrecycler_onScrollStateChanged(newState As Int) If newState==prRecycler.SCROLL_STATE_IDLE Then If prRecycler.AdapterPosition<>-1 Then dsTabLayout.SelectTab(prRecycler.AdapterPosition) End If End If End Sub Private Sub dstab_TabSelected(Index As Int, SelectedTab As String, Tag As Object) prRecycler.scrollToPosition(Index) End Sub درمورد سوال دوم هم که عرض شد. متد رو باید مستقیم از خود ریسایکلر صدا بزنید prRecycler.disableItemChangeAnimation- 616 پاسخ
-
- 1
-
-
عدم دریافت کتابخانه alarmmanager بیسیک فور اندروید
محمدرضا شاهپیری پاسخی برای Hosein z ارسال کرد در موضوع : مرتبط با فروشگاه
سلام ودرود. از منوی بالای انجمن قسمت فروشگاه مدیریت خرید رو انتخاب کنید