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

پیاده سازی Sync اطلاعات برای آپدیت اطلاعات کاربر

Reza AF  12 سال پیش  12 سال پیش
+1 0

سلام استاد
خسته نباشید
من یک دیتابیس روی سرور دارم که بطور روزانه 3-4 تا رکورد بهش اضافه میشه، کاربران هم میتونن هر وقت خواستن به سورو وصل بشن و اطلاعات جدید رو دریافت کنن.مشکل من اینجاست که من از کجا بفهمم کدوم کاربر تا کجا اطلاعات رو گرفته تا از ادامه دریافت کنه و رکورد تکراری دانلود نشه.شما فرمودین تاریخ کاربر رو دریافت و ارسال کنه و با تاریخ مقایسه کنه. راستش حس میکنم اینجوری چندتا مشکل میتونه پیش بیاد، تاریخ گوشی درست نباشه، یا تاریخ سرور صحیح نباشه.
من یه راه دیگه به ذهنم رسید، من از id سرور بعنوان کلید استفاده میکنم، یعنی id آخرین رکورد رو ذخیره میکنم و دوباره دفعه بعد همین رو به سرور ارسال میکنم و میگم ازین id به بعد رو ارسال کنه، ولی اینجوری مثلا یه کاربر که بعد از یکسال به سرور وصل بشه باید کلی اطلاعات بگیری که واسه اونم یه فکری کردم! حالا بنظر شما کلیات کار اینجوری درسته؟
و یه سوال دیگه هم داشتم
اونم اینکه تاریخ توی اندروید چجوریه؟ یعنی من تاریخ رو بصورت text از سرور میگیرم و میخام بصورت تاریخ توی دیتابیس لوکال ذخیره بشه، هرکاری میکنم نمیشه. از simpledateformat هم استفاده میکنم، ولی بازم نمیشه. من تاریخ رو درست دریافت میکنما اما وقتی توی دیتابیس میریزمش همه تاریخا میشه 1981 !
ممنون میشم راهنمایی کنید

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
uncocoder  12 سال پیش
0 0

توی preferences ذخیره کن که آخرین Timestamp ـی که این وب سرویس درخواست شده ( و پاسخ گرفته ) کی بوده. این Timestamp رو از وب سرویس در همون دیتاهای برگشتی به اندروید بده و در Preference ذخیره کن. وقتی تایم از طریق سرور ارسال بشه، پس اگر گوشی هم تنظیم اشتباهی داشته باشه، مشکلی پیش نمیاد. تاریخ سرور هم همیشه صحیح هست مگر اینکه سرور آشغالی داشته باشید :)

به این ترتیب دفعه بعد این Timestamp رو می خونی و به سرور میدی و سرور از اونجا به بعد رو بهت میده ( با Query که می نویسی و می گی timestamp>$timestamp )

همیشه برای استفاده از تاریخ از UNIX Timestamp استفاده کنید که معیار دقیقی باشه و همه کلاسهای تاریخ می تونن چه در PHP چه در جاوا ، چه در هر زبان دیگری از اون بدرستی و دقت استفاده کنند.

سئوالات رو در قسمت نظرات مطرح کن.

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