رفتن به مطلب

تاپیک پشتیبانی کتابخانه PersianRetrofit


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

با سلام خدمت عزیزان برنامه نویس:hi:

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

برسیم سراغ کتابخونه :gamer2:

Retrofit یک کتابخانه‌ی فوقلاده قوی اندرویدی برای کار با وب سرویس هستش. به خاطر استفاده از annotation و interface خیلی سریع راه اندازی میشه و امکانات خیلی زیادی بهتون میده. خب دیگه چونه بسسه بریم سراغ آموزش.:music:

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

 

تمام:yes:

Have fun:drinks:

 

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

نسخه جدید اضافه شد و آموزش تصویری به پست اول اضافه شد

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

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

 

اول اینکه این کتابخانه قابلیتی داره که که چک کند به اینترنت متصل هست یا خیر  اگر متصل هست اینترنت کاربر دارد یا خیر 

اگر هست لطفا مثالش رو بزنید ممنون میشم .

 

دوم اینکه توی آموزش هاتون از php هایی استفاده کردید اون ها هم پیوست هستش آیا ؟

 

متشکرم 

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

بنده با اجازتون خریداری کردم لطفا اگر امکان هست اون php ها رو پیوست کنید ممنون میشم .

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

۲۱ دقیقه قبل، سید رضا گفته است:

بنده با اجازتون خریداری کردم لطفا اگر امکان هست اون php ها رو پیوست کنید ممنون میشم .

سلام و درود. api هایی که تو آموزش استفاده شده با پایتون-جنگو نوشته شده که تو پنل قرار گرفت.

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

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

14 دقیقه قبل، محمدرضا شاهپیری گفته است:

سلام و درود. api هایی که تو آموزش استفاده شده با پایتون-جنگو نوشته شده که تو پنل قرار گرفت.

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

ممنون هاست ما معمولی هست پایتون نداره

لطفا اگر میشه یه php ساده برای آپلود و خواندن اطلاعات بوسیله کتابخانه بزارید ممنون 

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

سلام استاد ای کاش آموزش ها رو با php  و دیتابیس بزارید چون که ما هاست پایتون و جنگو نداریم اکثرا اشتراکی هستیم ممنون

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

۲۸ دقیقه قبل، سید رضا گفته است:

سلام استاد ای کاش آموزش ها رو با php  و دیتابیس بزارید چون که ما هاست پایتون و جنگو نداریم اکثرا اشتراکی هستیم ممنون

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

اگه خودتون بلد نیستید حتما به یه api نویس و وب کار بدین بنویسه

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

استاد با هزینه یه آموزش نصب و راه اندازی اینی که گفتید رو میتونید انجام بدید به ضورت شخصی یا بزراید فروشگاه ممنون

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

لطفا یه سورس  ساده از سورس یعنی خوندن از دیتابیس و آپلود بوسیله php پیوست کنید نمونه ساده چون ما هاستمون پایتون ساپورت نمیکنه ممنون میشم استاد

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

5 ساعت قبل، سید رضا گفته است:

لطفا یه سورس  ساده از سورس یعنی خوندن از دیتابیس و آپلود بوسیله php پیوست کنید نمونه ساده چون ما هاستمون پایتون ساپورت نمیکنه ممنون میشم استاد

من فعلا وقت نمیکنم دوست عزیز تا آخر ماه شاید سرم خلوت شه. تو نت سرچ کنید آموزش زیاد هست. 

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

تو نت هست شما لطفا سورس رو سمپلش رو اصلاح کنید برای php باوشه کی دوست عزیزم الان بودجه هاست پایتون داره ممنون

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

لطفا پس یه توضیح دمورد سورس retrofit_source_v1_publicApi بدید من نتونستم باهاش از سایتش که توکن گرفتم کار کنم

 

 

<?php
$database = [
    'host' => 'localhost',
    'dbname' => '######',
    'user' => '#######',
    'pass' => ',LWgDD1Td_!@'
];

try {
    $db = new PDO(
        "mysql:host={$database['host']};dbname={$database['dbname']}",
        $database['user'],
        $database['pass']
    );
} catch (PDOException $e) {
    die("An error happend, Error: " . $e->getMessage());
}

$stmt = $db->query('SELECT * FROM infomation1');
while ($row = $stmt->fetch()) {
    echo $row['name'] . "\n";echo '<br>';
     echo $row['family'] . "\n";echo '<br>';
      echo $row['serial'] . "\n";echo '<br>';
       echo $row['timee'] . "\n";echo '<br>';
       echo $row['Datee'] . "\n";echo '<br>';
}

?>

من الان php اینه میشه سورس رو تغییر بدید فقط اینا رو از هاست بخونه فقط لاگ کنه ممنون

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

۱ ساعت قبل، سید رضا گفته است:

لطفا پس یه توضیح دمورد سورس retrofit_source_v1_publicApi بدید من نتونستم باهاش از سایتش که توکن گرفتم کار کنم

وارد سایت زیر بشید و لاگین کنید.

https://gorest.co.in/consumer/login

مطابق صفحه زیر توکن رو بگیرید

Screenshot 2023-10-23 231021.png

توکن رو طبق شکل زیر جایگزین کنید توی کلاس PrRetrofit و متد retrofit_intercept دقت کنید توکن باید همراه Bearer و یه فاصله باشه دقیقا مطابق سورس.

Screenshot 2023-10-23 231349.png

دیگه نباید مشکلی باشه

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

دقیقن من همین کار رو کردم یوزرها رو هم رفتم دیدم کدوم اکتیو زده کدوم نزده حتی اون مونث و مذکر ولی هر چی میزنم تو فیلد ها ارور میزنه

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

اینم گیج کنندس چون آموزش ویدیویی مرتبط به این رو نگذاشتید لطفا اگر میشه برای php بالا یه سمپل بزارید برای شما 10 دقیقه هم زمان نمیبره ممنون میشم که ما هم بتونیم استفاده کنیم لطف میکنید

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

۶ ساعت قبل، سید رضا گفته است:

دقیقن من همین کار رو کردم یوزرها رو هم رفتم دیدم کدوم اکتیو زده کدوم نزده حتی اون مونث و مذکر ولی هر چی میزنم تو فیلد ها ارور میزنه

چه خطایی میده متن خطا یا اسکرین بزارید

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

7 ساعت قبل، سید رضا گفته است:

اینم گیج کنندس چون آموزش ویدیویی مرتبط به این رو نگذاشتید لطفا اگر میشه برای php بالا یه سمپل بزارید برای شما 10 دقیقه هم زمان نمیبره ممنون میشم که ما هم بتونیم استفاده کنیم لطف میکنید

اگه نیاز بود توضیح میدادیم. تو سورس توکن هست و کار میکنه و سورس رو ران کنید میتونید استفاده کنید. صرفا اگه بخواید با توکن شخصی کار کنید نیازه مراحل بالا رو طی کنید. آموزشهای لازم برای کتابخونه چه متنی و چه تصویری موجوده.  شما اگه php داشتین که با کتاخونه های دیگه کار میکرده با این هم کار میکنه. لطفا ادامه سوالات در مورد مشکلات و مسائل مربوط به کتابخونه باشه نه آموزش php یا موارد دیگه. موفق باشید.

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

spacer.png

۸ ساعت قبل، محمدرضا شاهپیری گفته است:

چه خطایی میده متن خطا یا اسکرین بزارید

spacer.pngspacer.png

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

4 ساعت قبل، سید رضا گفته است:

 

کتابخونه داره درست کار میکنه عزیز چون اون خطا از سرور داره میاد یعنی اینکه ارتباط با سرور برقرار شده.منم دوباره تست کردم و موردی نبود. حالا باید ببینید چرا این پیغام رو میده شاید مقادیر رو دارین اشتباه میفرستین.

سورس رو بدون هیچ تغییری رو یه گوشی دیگه هم تست کنید و ایمیل معتبر وارد وارد کنید ببینید چی میشه. در صورت امکان فایل apk رو بزارید که من تست کنم

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

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

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

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

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

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

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

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

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

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

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