با سلام و سپاس
درود به کاربران عزیز سایت یاهو ۹۸ YAHOO
امروز براتون آموزش اجباری کردن آپدیت برنامه ها توی بیسیک فور اندروید رو مهیا کردیم .
البته این به سلیقه خودم به این صورته و خودتون میتونید با خلاقیتتون جور دیگه هم در بیارید
البته شما واسه اینکار نیاز به یه هاست دارید که بتونید از دیتابیسش برای اینکار استفاده کنید.
میرید داخل هاستتون و ستون های زیر رو میسازید
id : این خوب معلومه چیه نیاز به توضیح نداره
updatei : شما تو این قسمت جدیدترین ورژن برنامتون رو میزارید
ad : اینجا باید لینک برنامه جدیدتون رو بزارید
title و body : ما برای بروز رسانی میخوایم اعلان بزاریم و متنش رو از اینجا تنظیم میکنیم
حالا میریم سراغ فایل های php برای ارسال این اطلاعات به برناممون
اول توی هاستتون یه فایل config.php درست میکنید و کدهای زیر رو داخلش میزارید و اطلاعات دیتابیستون رو واردش میکنید
<?php ini_set( 'error_reporting', E_ALL | E_STRICT ); ini_set( 'display_errors', 1 ); $db = new PDO ('mysql:host=localhost;dbname=test;charset=utf8','root','1234'); ?>
جای dbname اسم دیتابیستون
جای root نام کاربری دیتابیستون و جای ۱۲۳۴ رمز دیتابیستون
حالا یه فایل درست میکنید به اسم up.php و کدهای زیر رو داخلش قرار میدید
این دو تا فایل باید کنار هم باشن
تو این کد ما اومدیم توی دول دیتابیسمون که اسمش up هستش ستون هاش رو گرفتیم و اون هارو نمایش دادیم
حالا باید اینهارو توی برناممون بگیریم
توی بیسیک یه سرویس به اسم دلخواه ایجاد کنید.
کتابخونه HttpUtils رو تیک میزنیم و متغیر های زیر رو توی پراسس گلوبال تعریف میکنیم
Dim updatejob As HttpJob Dim MapArry As List Dim colroot As Map
تو قسمت سرویس کریت کدهای زیر رو قرار بدید.
updatejob.Initialize("updateu",Me) updatejob.Download("http://******.ir/my/up.php") MapArry.Initialize colroot.Initialize
خط اول: ما جاب خودمون رو فعال سازی کردیم
دوم: اینجا اومدیم فایل up.php و که توی هاستمون اپلود کرده بودیم دانلودش میکنیم.
سوم و چهارم: اینجا لیست و مپمون رو فعالسازی میکنیم.
حالا باید ساب زیر رو ایجاد کنیم که نتیجه دانلودمون رو ببینیم.
Sub JobDone (Job As HttpJob) If Job.Success Then If Job.JobName = "updateu" Then Dim parser As JSONParser parser.Initialize(Job.GetString) Dim root As List = parser.NextArray For Each colroot As Map In root MapArry.Add(colroot) Next If Application.VersionCode < colroot.Get("updatei") Then ' Private i As Intent i.Initialize(i.ACTION_VIEW, colroot.Get("ad")) Dim n As Notification n.Initialize n.AutoCancel = True n.Icon = "icon" n.Light = True n.SetInfo(colroot.Get("title"),colroot.Get("body"),i) n.Sound = True n.Vibrate = False n.Notify(1) ExitApplication End If End If End If End Sub
خوب بطور خلاصه اگه ببخوام بگم ما میایم میگیم اگه دانلود موفقیت آمیز بود بیاد از طریق جیسون اطلاعات رو دریافت کنه و اونخارو به صورت لیست بریزه توی مپ ارای
ما اینجا تمام مقدارهای دیتابیسمون رو با کد زیر میگیریم (مثلا برای گرفتن ورژن برنامه از کد زیر استفاده میکنیم)
colroot.Get("updatei")
بعد از اینکه مقادیر رو گرفتیم میایم چک میکنیم میگیم اگه ورژن برنامه کوچک تر از مقداری که توی دیتابیس هستش بود بیاد دستور مارو اجرا کنه
اگه کوچک تر بود یعنی اینکه ورژن جدید برنامه اومده
مثلا برناممون ورژنش ۱ هست و ما نسخه ۲ رو دادیم بیرون
میایم توی دیتابیس جدول updatei رو مقدارش رو ۲ میکنیم
بعد میایم یه متغیر از نوع اینتنت تعریف میکنیم که بتونیم لینک برنامه رو با کلیک روی اعلان باز کنیم
میایم اعلان رو میسازیم و طبق کدهای بالا عنوان و متن و لینک برناممون رو بهش میدیم
و در آخر میایم کد بسته شدن برنامه رو میدیم
در نتیجه هروقت کاربر وارد بشه و نسخه جدید برنامه وجود داشته باشه برای کاربر اعلان فرستاده میشه وبرنامه هم بسته میشه تا مجبور به دانلود بشه
موفق باشید