آموزش ها

نمایش عکس و متن آنلاین در برنامه

نوشته شده توسط حامد باقری

سلام دوستان !

در این قسمت میخواهیم به این موضوع بپردازیم که چگونه متن یا تصویر خاصی را در برنامه دانلود و نمایش دهیم ! برای مثال میخواهیم یک فایل متنی را در هاست شخصی خودمان آپلود کنیم و متن آن را در برنامه نمایش دهیم به طوری که اگر متن فایل را تغییر دادیم در برنامه نیز آن متن تغییر کند !

برای شروع ابتدا کتابخانه HttpUtils2 را در پروژه مورد نظرتان فعال کنید و متغیر مربوط به آن را تعریف کنید :

Dim ht As HttpJob

این متغیر را Initialize کنید و یک Event Name برای آن انتخاب کنید که ما همان ht را انتخاب میکنیم :

ht.Initialize("ht",Me)

سپس در قسمتی که میخواهید دانلود فایل ( تصویر یا فایل متنی ) آغاز شود با استفاده از گزینه Download لینک فایلتان را وارد کنید و برای زیبایی کار میتوانید یک Progress Dialog قرار دهید تا در هنگام دانلود نمایش داده شود و بعد از پایان دانلود مخفی شود :

ProgressDialogShow2("در حال دریافت ...",False)
ht.Download("https://basicapp.ir/file.txt")

حالا اگر برنامه را اجرا کنید فایل فقط دانلود میشود و هیچ کار خاص دیگری انجام نمیشود و برای اینکه بفهمیم دانلود با موفقیت انجام شده یا نه و محتوای فایل دانلود شده را در برنامه نمایش دهیم باید از رویداد JobDone استفاده کنیم :

Sub JobDone(job As HttpJob)
 ProgressDialogHide
 If job.Success = True Then
  label1.Text = job.GetString ' نمایش متن دانلود شده در لیبل
 Else
  ToastMessageShow("خطا در برقراری ارتباط !",False)
 End If
End Sub

حالا محتوای فایل متنی بعد از دانلود در لیبل ( label1 ) نمایش داده میشود .

در صورتی که میخواهید تصویر دانلود کنید و در برنامه نمایش دهید کافیست یک ImageView ایجاد کنید و تصویر مورد نظرتان را آپلود کنید و آدرس آن را به جای آدرس فایل متنی قرار دهید و در بخش JobDone تصویر دانلود شده را روی ImageView تنظیم کنید :

ImageView1.Bitmap = job.GetBitmap

حالا ممکن است بخواهید چندین فایل را همزمان با هم دانلود کنید و در برنامه نمایش دهید , برای مثال در کد زیر میخواهیم تصویر و متن را همزمان با هم دانلود کنیم و در برنامه نمایش دهیم !

برای این کار کافیست برای هر فایل یک متغیر جداگانه از نوع HttpJob تعریف کنید و بعد از Initialize برای هر کدام از آن ها یک Event Name جداگانه تعریف کنید و در بخش JobDone با استفاده از همان Event Name تشخیص دهید که کدام فایل دانلود شده است :

Sub Activity_Create(FirstTime As Boolean)
 Dim ht1 As HttpJob
 ht1.Initialize("txt",Me)
 ht1.Download("https://basicapp.ir/file.txt")
 
 Dim ht2 As HttpJob
 ht2.Initialize("img",Me)
 ht2.Download("https://basicapp.ir/file.jpg")
End Sub
Sub JobDone(job As HttpJob) 
 If job.Success = True Then
  If job.JobName = "txt" Then
   Label1.Text = job.GetString
  End If
 
  If job.JobName = "img" Then
   ImageView1.Bitmap = job.GetBitmap
  End If
 Else
  ToastMessageShow("خطا در برقراری ارتباط !",False)
 End If
End Sub

امیدواریم که خوبی متوجه شده باشید روش کار به چه شکله و سورس این آموزش را از لینک زیر میتوانید دانلود کنید :

دانلود سورس

موفق باشید !

 


شما هم به کانال تلگرامی سایت ما بپیوندید !
همین حالا کلیک کنید !

درباره نویسنده

نظر بدهید