آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال : کد برای شمارش معکوس تعداد روز های سال

Mseif  11 سال پیش  8 سال پیش
+2 0

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

+2 0
به نظر من تنها راه اینه که شما تاریخ دقیق رو هر روز یا چندوقت یک بار به صورت آنلاین دریافت کنید برنامه شما نیز قادره به صورت مخفی نمایش پیدا کنه مثل برنامه هایی از نوع بادصبا.حالا با این روش شما با مشکل روبرو میشید چون ممکنه کاربر خیلی کم اینترنتش فعال باشه یا اصلا فعال نباشه تا شما تاریخو بتونین دریافت کنید.اگر هم بخواهین از رو تاریخ گوشی شمارندتونو فعال کنین ممکنه شخص تاریخشو تغیر بده یا اگر بخواهید تاریختونو هر روز توسز کد خودتون آپدیت کنین ممکنه شخص چند روز گوشیش خاموش باشه و تاریخ شما ثابت میمونه.پس این کار به صورت منطقی نشدنیه.البته ممکنه راهیم باشه که من بلد نباشم.موفق باشید. (11 سال پیش)
+1 0
بازم ممنون از راهنمایی تون منتظر می مونیم تا دوستان هم ایده های خودشونو بدن (11 سال پیش)
0 0
دوستان نظری ندارن در این باره ؟ (11 سال پیش)
0 0
دوستان نظری ندارن در این باره ؟ (11 سال پیش)
0 0
دوستان نظری ندارن در این باره ؟ (11 سال پیش)
+1 0
دوست من یه نگاه به اینجا بنداز لینک ایده های خوبی دستت میاد. برای کار شما هم می توانی از آلارم منیجر استفاده کنی و اینکه هر روز بیاد و خود به خود یکی از مقدار عددی مورد نظر کم کنه. ولی حواست باشه که با دوباره نصب کردن برنامه این مقدار ریست می شه و باید فکری به حالش بکنی. اون لینک گویای بسیاری از مسائل هست. (11 سال پیش)
0 0
سلام دوسته عزیز .روشی پیدا نکردی برای شمارش معکوس؟ (8 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
Criss  11 سال پیش
+1 0

من پیشنهاد میکنم شما ماه و روز رو از یک سروسر که دقیق باشه و یا از ساعت خود دیوایس بگرید

اگر ماه برابر با هر عددی بین 1 تا 12 بود رو برابر با یک عدد بزارید و تعداد روز رو به اون اضاف کنید و از 365 کم کنید

مثلا : (سال کبیسه هم که باید 357 روز باشه <)

> 03 اردیبهشت<

31 = اردیبهشت 3 = 03 31 + 3 = 34 356 - 34 = 322

 

+1 0
criss جان حرف شما متین.اما دقت کنید ممکنه شخص به اینترنت اتصال نداشته باشه یا پس از مدتی اینترنتشو قطع کنه حالا به هر دلیلی.اگرم از ساعت یا تاریخ دیوایس استفاده کنه ممکنه کاربر تنظیمات تاریخو ساعتو به دلایلی در فواصل مختلف تغییر بده. (11 سال پیش)
+1 0
خب یه چیز بسیار جالب که همین الان به ذهنم رسید _ چاره اینه که از کدهای USSD رو فعال کنی ونتیجه رو هم بتونی بخونی یه کد *140*1# رو میزنی تاریخ رو میگیری :D _ ولی میشه برای اولین بار که برنامه نصب میشه اطلاعات رو ذخیره کنه و اگر بعد از چند روز دوباره فعال شد تعداد روز های سپری شده رو محاسبه کنه و به تنظیمات قبلی اضاف کنه (11 سال پیش)
0 0
یه سوال اگر این دستورو ارسال کنه جواب به صورت مخفی برمیگرده یا به صورت نماشی که کاربر هم مطلع میشه؟ (11 سال پیش)
0 0
کاربر مطلع میشه ! و بستگی به گوشی هم داره بعضی گوشیها صدای اس ام اس هم میدن برای اجرای USSD (11 سال پیش)
+1 0
خب اگر این اتفاق بیافته کاربر شک نمیکه که چرا هراز گاهی این پیغام ها چیه که میاد و ممکنه برنامرو سریع حذف کنه.ولی تنها راهش به نظر من اینه که شرط اجرای برنامرو وصل بودن به اینترنت قرار بده و برای اینکه برای کاربر شک برانگیز نباشه که چرا چنین برنامه ای باید به اینترنت وصل باشه میتونه دلیلشو دریافت اطلاعات از بانک سرور بییان کنه ولی در اینجا هم ممکنه شخص این کار براش خسته کننده باشه و دوست نداشته باشه به اینترنت وصل بشه و برنامرو پاک کنه.در کل این روش نشدنیه چون احتمال به درستی اجرا نشدن بیشتر از اجرا شدنه.باید به فکر یه روش دیگه باشه. (11 سال پیش)
پاسخ به سوال 
AhmadVB  11 سال پیش
+2 0

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

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

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

  • 1- همیشه آخرین باری که وارد نرم افزار شده اید را نگه داری کنید و اگر تاریخ جدید قبل از آخرین ورود کاربر بود یعنی کاربر ساعت سیستم را عقب آورده پس برنامه تازمانی که به اینترنت وصل نشود غیر فعال می ماند.
  • 2- در تعداد دفعات باز شدن برنامه بین فواصل یکماهه هم محدودیت بگذارید. فرض کنید برنامه شما به صورت میانگین باید روزی 3 مرتبه باز شود. یعنی در هر ماه 90 مرتبه. پس اگر حتی زود تر از یکماه مثلا 100 مرتبه برنامه باز و بسته شده بود باز درخواست اینترنت کنید.
  • 3- برای جلوگیری از نصب مجدد نرم افزار در اولین استفاده حتما اینترنت درخواست کنید.
  • 4- خودتان هم زمان هایی که کاربر به انترنت وصل می شود قفل تان را کنترل کنید.
  • 5- برای ارتباط با سرور از دیتای رمز نگاری شده استفاده کنید.(لزوما رمز نگاری خیلی چیز پیچیده ای نیست. می توانید هر داده ای را که فقط خودتان از آن سر در می اورید باشد که کسی توانایی جعل آن را نداشته باشد.)
  • و ...

(پیشنهاد می کنم موضوع تاپیک را به قفل نرم افزاری دارای محدودیت زمان تغییر دهید. )

+2 0
ahmadvb جان نظر شما هم ماننده بقیه دوستان درسته ولی آیا چک کردن اینکه 30 روز شده(حالا بستگی به زمان معین شده دارد؟) که من اتصال به اینترنتو چک کنم و تاریخو دریافت کنم نیاز به ذخیره همین فاصله نیست؟که اگر اینگونه باشد که حتما هست احتمال پاک شدنه دیتابیس یا حتی اگر در priferenses هم باشد خیلی خیلی وجود دارد.نمیشه این این هارو انکار کرد و مسعله بعدی ممکنه روزی که قرار است اتصال به اینترنت چک شود اون روز اینترنت فعال نباشد و برنامه فردای اون روز به کار خود به درستی ادامه میدهد.و خیلی اما و اگرهای دیگر که برای یک قفل این چنینی اون رو ضعیف جلوه میدهد و توصیه نمیشود. (11 سال پیش)
+2 0
خوب دیگه این چیز ها رو همداره ! شما وقتی که دارید قفل را با سرور اصلاحا sync می کنید که همینطوری تایید نمی دهید. باید یک سری مواردی را هم کنترل کنید. مثلا هر بار که از سرور قفل چک می شود ؛ سرور یک عدد رندوم به نرم افزار می دهد که دفعه بعد نرم افزار اگر این عدد را نداشته باشد دیگر به او پاسخ درست نمی دهد. ! این طوری اگر دیتابیس پاک شود ، یا هر بلایی سر نرم افزار بیاید اگر نرم افزار این عدد را پس ندهد جواب سرور مبنی بر صحت قفل منفی خواهد بود. (11 سال پیش)
+1 0
بله راه زیاده ولی قصد ما جلب رضایت کاربر هم هست.اگر پول بدهد و بعد یک ماه به همون دلایل و دلیلی که در بالا گفتین برنامه دیگر اجرا نشود هم پول شخص هدر رفته هم ممکنه برنامه قابلیت هایی داده باشد که اظلاعاتشونو درون نرم افزار وارد کنن اینجوری اطلاعات شخصم از بین میره. (11 سال پیش)
+2 0
ضمنا شما که غیر قانونی نمی خواهید قفل تان را کنترل کنید ! یک برنامه نوشته اید و به کاربر اطلاع می دهید که مجاز است تحت این شرایط از آن استفاده کند. در این شرایط هیچ گاه کاربر از اینکه ماهیانه باید دستگاهش را به اینترنت وصل کند ناراحت نخواهد شد. ضمنا شما به صورت خودکار در شرایطی که اینترنت وجود داشت نیز می توانید قفل تان را بررسی کنید و بعد از هر بار بررسی نمایش پیغام جدید را از آن روز یکماه به تاخیر بیاندازید . اگر به یکماه رسید و کاربر هیج گاه به اینترنت وصل نشد آن گاه پیغام دهید. (11 سال پیش)
+1 0
در کل این روش درده سرهاییم به دنبال داره و اگر طبق خواسته شما پیش برود روش خوب و کاربردیه.ولی خیلی روش های بهتر و آسون تریم هست که امنیتش بالا باشد این جوری اگر شخص از روش قفل مطلع بشه ممکنه هوس کنه که کرک برنامرو بسازه و باز هم درده سر یا حتی ممکنه apk برنامرو به دست بیاره و قبل از رسیدن به یک سال توسط کامپایل برنامه روش های قفل رو شناسایی کنه و بعد کار دلخواه خودشو انجام بده البته این ها همش حدسه و ممکنه هیچ وقت این مشکلات پیش نیاد و قفل به درستی کارشو انجام بده.منظور کلی من اینه که قبل از استفاده از این روش باید روش های خراب کاری رو حدس زده و روش جلوگیری از اون رو پیاده سازی کرد تا توسعه دهنده ضرر نکنه. (11 سال پیش)
+1 0
این پاسخ سوالی بود که پرسیده شده. وگر نه روش که خیلی هست مطمئن تر. یکی اش با پیامک. دیگه از برنامه بانک امنیت لازم تر سراغ دارید ؟ (11 سال پیش)
+1 0
ما هم برای راهنمایی این دوستمون این راه هارو گفتیم تا طبق سلیقه و نیازش یک روش انتخاب کنه.حالا دوست دارن همین روشو پیش بگیرن یا یک روش دیگر.از نظر شما هم ممنونم من که به شخصه استفاده کردم.موفق باشین. (11 سال پیش)
0 0
ممنون و سپاس از نظرات یک به یک دوستان (11 سال پیش)
پاسخ به سوال 
مجتبی یگانه  11 سال پیش
+3 0

اول از همه یک درخواست برای شروع بکار برنامه به سرور بفرستید ، بعد یک expire Time برای برنامه در سرور تولید کنید ، این مقدار برای یک شناسه ی واحد که قبلا در مورد ساخت اش زیاد بحث شده ، ساخته میشه

این مقدار رو به برنامه ی اندروید منتقل کنید ، با روش هایی که دوستمون گفت مطمئن بشید که کاربر نمیخود شما رو دور بزنه !

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

کاربر هفته ای یک بار باید با سرور ارتباط برقرار کند و تائید هویت بشه ! ، در غیر اینصورت اجازه ی استفاده از برنامه رو نداره ، اینکه کی سرور رو برسی کنیم هم میشه یک preferene و یک مقدار long ، حالا فرض کنیم کاربر برنامه رو ریست کنه ، دیتا رو پاک کنه و.. 

برای حل این مشکل هم در اولین اجرا با سرور ارتباط برقرار کنید :)

 (در برنامه ی من این موضوع زمانی پیش میومد که مدیر کاربر رو بن میکرد ، کاربر کلا بدون اینترنت وارد برنامه می شد و سعی به دور زدن برنامه میکرد ، پس نهایتا بعد از یک هفته ، استفاده ی غیر مجاز مچش رو میگیرم D: )

0 0
ممنون از پاسخ شما ولی اگر کاربر به هیچ عنوان به اینترنت وصل نشه چی ؟؟ و یه سوال در آموزش Count Down Timer Project که استاد ثانیه و دقیقه رو درست کردن آیا روشی هست که روز هم محاسبه بشه و یه قابلیت داشته باشه که در صورت بسته بودن نرم افزار اون شمارنده کار کنه ؟ شدنیه ؟ (11 سال پیش)
0 0
آموزش آلارم منیجر خواسته ی شماست ! / اگر کاربر به هیچ عنوان به اینترنت وصل نشه - 1 برنامه برای اولین اجرا اجازه ی ادامه ی کار نمیده چون باید خودش رو در سرور ثبت کنه ، برای دفعات بعد هم نهاتا بعد از یک هفته باید ارتباط با سرور تمدید بشه :) (11 سال پیش)
0 0
خب اینطوری کاربر از برنامه زده میشه و یه جورایی امتیاز منفی محسوب میشه که کاربر رو به دلیلی غیر از بروز رسانی برنامه اجبار کنیم به اینترنت وصل بشه ... ... اما واقعا کار کردن شمارنده وقتی برنامه در حال اجرا نیست شدنیه ؟ (11 سال پیش)
+1 0
بستگی به برنامه داره ! ، در پروژه ی فعلی من در هر بار اجرا اگه به نت وصل باشه سعی میکنه sync بشه ، ولی time out مناسب واسش در نظر گرفتم / پ ن پ شدن نیست D: (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .