خوش آمدید

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


seyyedamir

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

8 ارسال در این موضوع قرار دارد

سلام به دوستان عزیز

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

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

میرید داخل هاستتون و ستون های زیر رو میسازید

Screenshot_1.png.326c33f80cdd9297b24b6f1a3f066fd1.png

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 نام کاربری دیتابیستون و جای 1234 رمز دیتابیستون

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

<?php

  require("config.php"); 
  


  $st = $db->query("SELECT * FROM up");



  $a = array();
  while ($row = $st->fetch()) {
    array_push($a,array('id' => $row['id'], 'updatei' => $row['updatei'], 'ad' => $row['ad'], 'title' => $row['title'], 'body' => $row['body']));
  }
  echo json_encode($a);
  $db = null;
?>

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

تو این کد ما اومدیم توی دول دیتابیسمون که اسمش up هستش ستون هاش رو گرفتیم و اون هارو نمایش دادیم

حالا باید اینهارو توی برناممون بگیریم

توی بیسیک یه سرویس به اسم دلخواه ایجاد کنید.

کتابخونه HttpUtils رو تیک میزنیم و متغیر های زیر رو توی پراسس گلوبال تعریف میکنیم

Dim updatejob As HttpJob
	Dim MapArry As List
	Dim colroot As Map

تو قسمت سرویس کریت کدهای زیر رو قرار بدید.

	updatejob.Initialize("updateu",Me)
	updatejob.Download("http://manoamniat.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")

بعد از اینکه مقادیر رو گرفتیم میایم چک میکنیم میگیم اگه ورژن برنامه کوچک تر از مقداری که توی دیتابیس هستش بود بیاد دستور مارو اجرا کنه

اگه کوچک تر بود یعنی اینکه ورژن جدید برنامه اومده

مثلا برناممون ورژنش 1 هست و ما نسخه 2 رو دادیم بیرون

میایم توی دیتابیس جدول updatei رو مقدارش رو 2 میکنیم

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

میایم اعلان رو میسازیم و طبق کدهای بالا عنوان و متن و لینک برناممون رو بهش میدیم

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

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

موفق باشید

iman20 و moalla پسند شده است

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


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

سلام

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

البته منظورم فقط در این مورد خاص هستش

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 15 دقیقه قبل، hmdfar گفته است :

سلام

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

البته منظورم فقط در این مورد خاص هستش

سلام

شما با دیتابیس دستتون بازه

میتونید هر ستونی میخواید اضافه کنید به دیتابیس و هر اطلاعاتی که میخواید رو ارسال کنید به برنامه واسه آپدیت

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


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

سلام

اینجا الان بحث چک کردن آپدیت هستش که اونم میشه یه عدد ساده

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

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 34 دقیقه قبل، hmdfar گفته است :

سلام

اینجا الان بحث چک کردن آپدیت هستش که اونم میشه یه عدد ساده

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

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

خواهش میکنم وظیفه هستش

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در در 1396/03/15, 14:22:45، seyyedamir گفته است :

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

خواهش میکنم وظیفه هستش

سلام منتظر آموزشهای بعدی شما هستیم :chakerim:

seyyedamir پسند دیده است

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


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

با سلام

من یه مقدار تازه کار هستم

این قسمت آخرش که گفتید متغیر از نوع اینتنت می دیم

میشه این قسمت را هم کاملتر توضیح بدید

همراه با کد ها

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


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

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری