خوش آمدید

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


امیرحسین آقاجری

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

    2
  • تاریخ عضویت

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

  1. رفع مشکلات و سوالات متداول Amir_Retrofit ورژن لیب : ۲.۴۸ | خرید کتابخانه ــــــــــــــــــــــــــــــــــــــــ خب سوال اولی که برای همه ممکنه پیش بیاد این است که BaseUrl چیست و چه باید کرد ؟ برای مثال اگر ما BaseUrl رو آدرس سایت زیر قرار دهیم : و هنگام ارسال ریکوئست تنها لینک زیر را قرار دهیم : نتیجه درخواست ، لینک زیر خواهد بود : شما همچنان برای لینک ریکوئست میتوانید آدرس یک لینک کامل را بدهید نتیجه میشه خود لینکی که دادید ــــــــــــــــــــــــــــــــــــــــ چگونه کش و کوکی را در رتروفیت غییر فعال کنیم ؟ Dim Builder As Amir_RetrofitBuilder Builder.Initialize.BaseUrl("BaseUrl") Builder.addCache(False) Builder.addCookie(False) Dim Retrofit As Amir_Retrofit Retrofit.Initialize(Builder) در کد بالا متد addCache که پارامتر ورودی برای فعال یا غییر فعال کردن کش میباشد و متد addCookie مثل کش برای غییر فعال کردن کوکی میباشد. ــــــــــــــــــــــــــــــــــــــــ چگونه TimeOut را تنظیم کنیم ؟ Dim TimeOut As Int = 2000 Builder.connectTimeout(TimeOut) Builder.writeTimeout(TimeOut) Builder.readTimeout(TimeOut) در کد بالا کافیست برای تنظیم TimeOut عدد متغییر را تنظیم کنید! ــــــــــــــــــــــــــــــــــــــــ چگونه هدر اضافه کنیم ؟ Dim Header As Map Header.Initialize Header.Put("HeaderName","Value") Header.Put("HeaderName","Value") Builder.addHeader(Header) متد addHeader برای اضافه کردن هدر میباشد که پارامتر دریافتی آن از نوع Map هست و میتونید هدر های خودتون رو به مپ اضافه کنید و به رتروفیت بدید. ــــــــــــــــــــــــــــــــــــــــ با خطای SSL یا ارور Network Error (Code : 100) مواجه شدید ؟ این خطا یکی از دلایل اصلی که دارد به دلیل وصل شدن به یک سایت که گواهی معتبری ندارد میباشد و باید بررسی ssl را غییر فعال کنیم. شما میتوانی این کار را با سه روش مختلف حل کنید : 1 - غییر فعال کردن بررسی ssl Builder.skipSSLSocketFactory(True) 2 - تنظیم ssl پیشفرض توسط رتروفیت Builder.addSSLSocketFactory2 3 - استفاده از حالت unsafe که باعث میشود تمام ssl ها را قبول کند و به سایت های خطرناک وصل شود Builder.UnsafeMode(True) ــــــــــــــــــــــــــــــــــــــــ چگونه یک ریکوئست را کنسل کنیم ؟ بعد از اجرا هر ریکوئست به شما یک Object را بر میگرداند که از طریق آن میتوانید ریکوئست را کنسل کنید.. برای کنسل کردن ریکوئست از متد Unsubscribe استفاده میشود. نمونه کد : Dim Request As Object Request = Retrofit.Download(... Retrofit.Unsubscribe(Request) نکته : اگر پارامتر ورودی متد Unsubscribe را Null بدهید آخرین ریکوئست شما متوقف خواهد شد . ــــــــــــــــــــــــــــــــــــــــ چگونه از Sender به عنوان تگ استفاده کنیم ؟ شما باید قبل از اجرای ریکوئست از Sender استفاده کنید تا آن را در رویداد خود دریافت کنید. نمونه کد : Retrofit.Sender="Download1" Retrofit.Download("Amir","Link1") Retrofit.Sender="Download2" Retrofit.Download("Amir","Link2") Sub Amir_onSucess (key as String,path as String,Name as String,FileSize as long) Log(Sender) ' Get Tag ' End Sub ــــــــــــــــــــــــــــــــــــــــ ارسال داده به فایر بیس : Public Sub SendFCMMessage(EventName As String,Topic As String,API_KEY As String, Data As Map) As Object Dim Retrofit As Amir_Retrofit Dim Builder as amir_Retrofitbuilder Builder.initialize.baseurl("https://fcm.googleapis.com") Builder.addHeader(CreateMap("Authorization","key=" & API_KEY)) Retrofit.Initialize(Builder) Dim m As Map = CreateMap("to": $"/topics/${Topic}"$) m.Put("data", Data) Return Retrofit.json(EventName,"/fcm/send", Retrofit.toJson(m)) End Sub ــــــــــــــــــــــــــــــــــــــــ آپلود عکس و فایل با استفاده از vb.net کد سمت وب : <WebMethod()> Public Function UploadFiles() As String Try Dim length As Integer = Convert.ToInt32(Context.Request.InputStream.Length) If length = 0 Then Return "file size = 0" End If Dim filename As String = HttpContext.Current.Request.Headers("filename") If filename = "" Then Return "header needed not set" End If Dim postFile As HttpPostedFile = Context.Request.Files(Server.HtmlEncode(Context.Request.Files.AllKeys(0))) Dim inStream As System.IO.Stream = postFile.InputStream Dim fileData(postFile.ContentLength - 1) As Byte inStream.Read(fileData, 0, postFile.ContentLength) postFile.SaveAs(Server.MapPath("~\files\") & postFile.FileName) Return "http://www.yourdomain/files/" & postFile.FileName Catch ex As Exception return ex.Message End Try End Function کد B4A : Public Sub Upload (EventName As String,BaseUrl As String,Dir As String,FileName As String) As Object Dim Retrofit As Amir_Retrofit Dim Builder As Amir_RetrofitBuilder Builder.Initialize.baseUrl(BaseUrl) Builder.addCache(False) Builder.addHeader(CreateMap("filename" : FileName)) Retrofit.Initialize(Builder) Return _ Retrofit.UploadFileWithPartMap(EventName,"UploadFiles", CreateMap() , _ Retrofit.RB.WithPartFormData2("PartName",FileName, _ Retrofit.RB.WithProgressRequestBodyObservable(EventName,"image/*",Dir,FileName,2048))) End Sub ــــــــــــــــــــــــــــــــــــــــ این پست به مرور آپدیت خواهد شد... سوالات خود را در کامنت ارسال کنید ..
  2. Sub showNonRepeated(ints() as int) as int Dim Javab as int Dim Tekrari As Int=-1 Dim L As List L.initialize For i = 0 To ints.Lentgh-1 Dim M As int = ints(i) For i2 = 0 To L.Size-1 Dim B as int =L.Get(i2) If M=B Then Tekrari=M Else L.Add(M) Next If L.Size=0 And Tekrari=-1 then L.Add(M) Next For i3 = 0 to L.Size-1 If L.Get(i3)<>Tekrari then Javab=L.Get(i3) Next Return Javab End Sub سلام. این کد فقط برای زمانی که شما دو نوع عدد توی ارسالی ها داشته باشید درسته مثل مثال خودتون یا 3 3 3 4 3 اینجوری اگرم منظورتون چیز دیگه ای هست بگید . امیر حسین آقاجری