آموزش کار با Ftp (دانلود همراه با نمایش میزان دانلود , آپدیت برنامه )

سلام خدمت دوستان عزیز این اولین اموزش من هست امیدوارم بتونم خوب توضیح بدم

میخواستم آموزش کار با اف تی پی + دانلود به همراه نمایش میزان دانلود را آموزش بدم تا کسانی که قصد آپدیت برنامه را دارند را راحتی بتوانند برنامه خودشان را آپدیت و نصب کنند

بریم سراغ آموزش

 

قدم اول :

کتابخانه net را فعال کنید

 

قدم دوم :

ایجاد اکانت اف تی پی در هاست

 

آموزش ایجاد اکانت اف تی پی در هاست (سی پنل )

 

توی صفحه اصلی کنترل پنل در قسمت فایل روی ftp accountsکلیک کنید

wqec5jg8bou3oeygij6n.png

بعد در صفحه باز شده از شما یه نام کاربری برای اتصال + رمز میخواد که به دلخواه هر رمزی که خواستید بزنید

 

itbenlbliuw8lx3moelg.png

برای فهمیدن مشخصات اتصال به اف تی پی

l35ncf1lcafvsfex3fu6.png

 

حالا بریم توی بیسیک برای اتصال به اف تی پی

 

قدم سوم :

تعریف متغییر از نوع اف تی پی

Dim checkupdate,updatefile As FTP

دوتا متغییر تعریف کردم چون باید دوتا فایل دانلود بشه یکی فایل آپدیت که یه فای تکست هست یکی هم فایل apk

 

قدم چهارم:

مقدار دهی اولیه یا اتصال به اف تی پی

If checkupdate.IsInitialized=False Then>
checkupdate.Initialize(“ft1″,”ftp server”,21,”username”,”password”)
checkupdate.PassiveMode=True

End If

If updatefile.IsInitialized=False Then

updatefile.Initialize(“ftpdownload”,”ftp server”,21,”username”,”password”)
updatefile.PassiveMode=True

End If

 

مشخصه اولی eventمشخصه دومی آدرس سرور اف تی پی که توی عکس در بالا هست مشخصه سومی پورت که باید 21 قرار بدید مشخصه چهارم و پنجم یوزرنیم و پسورد اف تی پی

 

خب بعد از مقدار دهی اولیه باید ورژن برنامه را توی یه لیست یا یه فایل تکست ذخیره کنیم چون در ادامه بهش احتیاج پیدا میکنیم

If File.Exists(File.DirRootExternal&”/arianaupdate/update/”,”milyarder1.txt”)=False Then
Dim VersionCode As Int
VersionCode=1
myupdate.Initialize
myupdate.Add(VersionCode)
File.WriteList(File.DirRootExternal&”/arianaupdate/update/”,”milyarder1.txt”,myupdate)
End If

myupdate= یک لیست که در بالا تعریف کردم

milyarder1.txt = اسم فایل تکست هست که ورژن کد برنامه را توی این فایل ذخیره کردم

نکته :.ورژن کد حتما باید با ورژن کد برنامه در برنامه برابر باشه تا مشکلی پیش نیاد

#Region Project Attributes
#ApplicationLabel: B4A Example
#VersionCode: 1
#VersionName:

خب حالا باید یه دکمه تعریف کنیم که وقتی روش کلیک شد به سرور وصل بشه و فایل آپدیت را دانلودکنه

Sub btndownload_Click
‘اول فایل آپدیت را دانلود میکند
checkupdate.downloadfile(“/update.txt”,False,File.DirRootExternal&”/arianaupdate/update/”,”update.txt”)
ProgressDialogShow(“در حال اتصال به سرور …..”)
End Sub

update.txt = یه فایل تکسته که توی این فایل یه عدد که باید از ورژن کد برنامه بالاتر باشه را ذخیره کردم مثلا 2

 

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

Sub ft1_DownloadCompleted (ServerPath As String, Success As Boolean)

‘******************محاسبه حجم فایل مورد نظر برای دانلود و آپلود************************


If Success=True Then
checkupdate.List(“/instagram.apk”)
Else
ProgressDialogHide
ToastMessageShow(“دانلود انجام نشد !”,False)
End If

End Sub

checkupdate.List =این دستور برای فهمیدن حجم فایل اپدیت (در کمی جلوتر ) استفاده میشود

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

خب وقتی برنامه را درون لیست قرار داد با استفاده از تابع زیر حجم نهایی را به دست میاریم و در صورت بودن ورزن جدید برنامه را آپدیت میکنیم

 

**********************

 

امیدوارم تا اینجا خسته نشده باشید ببخشید خیلی دارم با جزئیات توضیح میدم میخوام حتی مبتدی ترین افراد عین خودمبفهمند چی کار کردم

 

**********************

 

تابع دانلود

Sub ft1_ListCompleted (ServerPath As String, Success As Boolean, Folders() As FTPEntry, files() As FTPEntry)

‘****************** محاسبه حجم فایل ************************

If Success=True Then

For i=0 To files.Length-1

Dim f1 As FTPEntry
f1=files(i)
sizee=f1.Size
Next

******************خواندن فایل آپدیت دانلود شده + فایل ورژن برنامه ************************

Dim downloadupdate As List
Dim readupdate As List
Dim readint,downloadint As Int

downloadupdate.Initialize
downloadupdate=File.readlist(File.DirRootExternal&”/arianaupdate/update/”,”update.txt”)
downloadint=downloadupdate.Get(0)

readupdate.Initialize
readupdate=File.readlist(File.DirRootExternal&”/arianaupdate/update/”,”milyarder1.txt”)
readint=readupdate.Get(0)
‘*****************************************************

******************چک کردن برابری ورژن دانلود شده با ورژن برنامه ************************

If (readint=downloadint)OR(readint>downloadint) Then

ProgressDialogHide
ToastMessageShow(“شما در حال استفاده از اخرین ورژن برنامه هستید ؟!”,False)

Else If readint

ProgressDialogHide
updatefile.downloadfile(“/instagram.apk”,False,File.DirRootExternal&”/arianaupdate/update/”,”instagram.apk”)

Dim VersionCode As Int
VersionCode=downloadint
myupdate.Initialize
myupdate.Clear
myupdate.Add(VersionCode)
File.WriteList(File.DirRootExternal&”/arianaupdate/update/”,”milyarder1.txt”,myupdate)

End If
‘******************************************

End If
End Sub

در قسمت محاسبه حجم فایل یه حلقه تعریف کردم که لیست را پیماییش میکنه و برای محاسبه حجم فایل apkیه متغییر تعریف کردم از نوع Intبه نام sizeکه با استفاده از لیست و با استفاده از خاصیت sizeحجمفایل را به دست میارم و درون متغییر sizeقرار میدم

 

خب حالا میام دو تا متغییر از نوع لیست + دوتا متغییر از نوع Intتعریف میکنم

 

بعد دوتا فایلی که قبلا ایجاد و دانلود کردم با استفاده از این دو لیست میخوانم و درون متغییر قرار میدم

 

readint= حاوی ورژن کد برنامه است

downloadint=حاوی ورژن (عددی ) که توی فایل تکست هست (این عدد فقط باید بزرگتر از ورژن کد برنامه باشه تا شرط برقرار بشه )

 

بقیه کد ها هم که فهمش آسونه

(اومدم شرط گذاشتم که اگر ورژن کدی که از اینترنت دانلود کردم از ورژن کد برنامه بزرگتر بود فایل apk را دانلود کنه و عدد جدید را توی فایلی که در ابتدا ورژن کد برنامه را ذخیره کردم قراربده )

فکر کنم با این بیانی که من دارم هر کس تا اینجا دنبال کرده باشه به این وضعیت رسیده باشه :wacko3: :wacko2: :wacko1:

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

 

با استفاده از این تابع میتوانیم با یک progressbar میزان دانلود را بفهمیم

و با یک لیبل میتوانیم درصد دانلود شده را توی لیبل نشان دهیم

این هم پایان کار که وقتی برنامه دانلود شد ؟(فایل apk ) برنامه را نصب کنه

uri= محلی است که من فایل apkکه دانلود کردم را ذخیره کردم

امیدوارم این آموزشبه دردتون بخورده

ببخشید اگر جایی را بد توضیح دادم

 

آموزش دهنده :arianagroup

منبع : تالار سایت کویک لرن

جولای 3, 2016

0 responses on "آموزش کار با Ftp (دانلود همراه با نمایش میزان دانلود , آپدیت برنامه )"

Leave a Message

نشانی ایمیل شما منتشر نخواهد شد.

کویک لرن

کویک لرن یه سایت با سابقه در زمینه آموزش سریع و آسان است که عمده هدفش رسوندن مخاطبین به درآمد زایی است. بیشتر آموزشها مربوط به یادگیری بیسیک فور اندروید است.در تمام آموزشها سعی شده سطح بیان ساده و قابل فهم باشه و به علاقه مندان، لذت یادگیری رو ارایه بده. تا الان تاکید بیشتر مباحث روی برنامه نویسی وب و برنامه نویسی اندروید خصوصا نرم افزار بیسیک فور اندروید بوده است. امیدوارم از حاصل تلاش ما و همکارانمان راضی باشید. هر گونه نقطه نظری را از کادر آبی رنگ ارسال پیام، با ما درمیان بگذارید. با تشکر

top