رفتن به مطلب
  • 0

بیرون پریدن از یک صفحه در برنامه


mahfelsoft

سوال

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

نمیدونید مشکل چی هست ؟ هیچ اروری هم نداره

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

10 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در 22 ساعت قبل، محمدرضا شاهپیری گفته است :

بعد از دانلود چک کنید که اکتیویتی تو حالت pause 

ببخشید متوجه نشدم

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

در 51 دقیقه قبل، mahfelsoft گفته است :

ببخشید متوجه نشدم

بعد از دانلود چک کنید که اکتیویتی تو حالت pause  نباشه

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

در در 31 شهریور 1399 در 23:13، mohammadjavadmajidi گفته است :

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

اول اینکه دستور دانلود فایل txt رو از داخل یک سرویس فعال بدید تا با بسته شدن اکتیویتی فعالیت jubdone با مشکل روبرو نشه (دانلود با موفقیت انجام میشه اما ساب jubdone با مشکل روبرو میشه چون اکتیویتی بسته شده وبرای همین برای انجام ساب برمیگرده به اکتیویتی سابق ، و با برگشت به اکتیویتی سابق عملیات دانلود رو مجددا انجام میده)

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



Sub Activity_KeyPress (KeyCode As Int) As Boolean
	If KeyCode = KeyCodes.KEYCODE_BACK Then
		اگر فایل دانلود نشده بود تو همین صفحه بمان در غیر اینصورت اکتیویتی دیگه رو نمایش بده
	End If
End Sub

من روش دوم رو پیشنهاد میکنم

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

 

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

حتما لازمه یک فایل تکست دان بشه؟ی ادرس بزار ک توش عدد ورژنت باشه و ب عنوان جواب بگیرش.ی ثانیه هم طول نمیکشه و چکش کن با ورژن برنامت

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

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

در در 29 شهریور 1399 در 20:02، mahfelsoft گفته است :

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

من توی صفحه خانه توی اکتیویتی کرییت یه کد دانلود فایل تکست گذاشتم برای بروزرسانی برنامه . که فایل تکست رو دانلود میکنه و با نسخه برنامه چک میکنه و ....

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

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

اول اینکه دستور دانلود فایل txt رو از داخل یک سرویس فعال بدید تا با بسته شدن اکتیویتی فعالیت jubdone با مشکل روبرو نشه (دانلود با موفقیت انجام میشه اما ساب jubdone با مشکل روبرو میشه چون اکتیویتی بسته شده وبرای همین برای انجام ساب برمیگرده به اکتیویتی سابق ، و با برگشت به اکتیویتی سابق عملیات دانلود رو مجددا انجام میده)

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


Sub Activity_KeyPress (KeyCode As Int) As Boolean
	If KeyCode = KeyCodes.KEYCODE_BACK Then
		اگر فایل دانلود نشده بود تو همین صفحه بمان در غیر اینصورت اکتیویتی دیگه رو نمایش بده
	End If
End Sub

من روش دوم رو پیشنهاد میکنم

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

@ mahfelsoft  

درود 

اونطور که متوجه شدم برای نشان دادن یه پیغام به کاربرای نسخه قدیمی و اعلام بهشون برای آپدیت به نسخه جدید به مشکل برخوردید

اگر برنامه شما ، برنامه ای هستش که هنگام بسته شدن هم به فعالیت خودش ادامه میده ، یعنی کارایی برنامه اینطوریه که هنگام بسته شدن هم باید توسط یک سرویس کار خاصی رو برایی کاربر انجام بده

بنظرم بهترین راه تو این مورد استفاده از برادکست سرویس آقای نیکروان هستش

 

اما اگر برنامه شما هنگام بسته بودن کاری رو برای کاربر انجام نمیده

بنظرم معقولانه ترین راه برای اعلام آپدیت موقعی هستش که کاربر وارد برنامه میشه و هنگامی که Activity create اجرا میشه باید قبل از اجرای هر کدی یک بار درخواست به سرورتون بفرستید تا ورژن آخرین نسخه برنامه رو دریافت کنه

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

Application.VersionCode

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

در در 3 مهر 1399 در 09:12، mahfelsoft گفته است :

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

 

برای استفاده از برنامه باید کاربر حتما به اینترنت متصل باشه ؟

چون اگه برنامه آفلاین باشه دیگه اصلا کلا به مرحله چک کردن نمیرسیم ...

.

اما اگه برنامه آنلاین هست ، بنظرم از دستور post استفاده کنید و برای فایل php  درخواست پست کنید و متن اکوی فایل php رو بگیرید ،اینجوری کمتر از 1 ثانیه بررسی میکنه ،

مثلا اگر اکوی فایل php برابر شد با 20 و اونموقع ورژن برنامه من 19 بود ، یه پیام بده که بروزرسانی کنید

متن داخل php :

<?php
echo "20";
?>

دستور چک کردن :

 


Sub Globals
Dim version As HttpJob
end sub

Sub Activity_Create(FirstTime As Boolean)
version.Initialize("job",Me)
end sub

sub check_click()
version.PostString("http://آدرس هاست/check.php","")
end sub

Sub jobdone (job As HttpJob)
If job.Success = True Then
msgbox(job.GetString,"آخرین ورژن برنامه")
end if
end sub

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

موفق باشی

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

در 4 ساعت قبل، mahfelsoft گفته است :

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

نمیدونید مشکل چی هست ؟ هیچ اروری هم نداره

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

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

در 2 دقیقه قبل، محمدرضا شاهپیری گفته است :

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

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

من توی صفحه خانه توی اکتیویتی کرییت یه کد دانلود فایل تکست گذاشتم برای بروزرسانی برنامه . که فایل تکست رو دانلود میکنه و با نسخه برنامه چک میکنه و ....

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

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

در 52 دقیقه قبل، mahfelsoft گفته است :

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

من توی صفحه خانه توی اکتیویتی کرییت یه کد دانلود فایل تکست گذاشتم برای بروزرسانی برنامه . که فایل تکست رو دانلود میکنه و با نسخه برنامه چک میکنه و ....

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

بعد از دانلود چک کنید که اکتیویتی تو حالت pause 

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

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...