آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

به روزرسانی (update) یک برنامه اندروید، از طریق اینترنت (سرور اینترنتی)

به منظور ایجاد امکان به روزرسانی (update) برنامه اندروید، می توان پنل برای به روزرسانی داشت، اما همچنین می توان که این به روزرسانی را به صورت خودکار نیز اجرا کرد (برای پنل نیز مشابه می باشد). من روند خودکار را شرح می دهم.

به روزرسانی (update) برنامه اندروید، می تواند به دو صورت کلی زیر صورت گیرد :

الف - دانلود نسخه جدید برنامه (دانلود فایل apk) :

در این حالت، فایل جدید برنامه اندروید، از سرور اینترنتی، دانلود شده و صفحه نصب آن به کاربر نمایش داده می شود.

ب- به روزرسانی (update) اطلاعات برنامه اندروید (بدون نیاز به نصب نسخه جدید برنامه اندروید)

در این حالت، تنها جدیدترین اطلاعات مربوط به برنامه اندروید، از سرور اینترنتی دانلود می شود و از این به بعد، این اطلاعات در برنامه نمایش داده خواهد شد (این مورد با برنامه های اندروید برای نمایش اطلاعات اینترنتی آنلاین، متفاوت است، زیرا اطلاعات درون خود برنامه اندروید قرار دارد و تنها اگر نسخه جدیدتری از اطلاعات وجود داشته باشد، آنها را دانلود کرده و جایگزین اطلاعات قبلی می کنیم. برای آشنایی با برنامه های اندروید با اطلاعات آنلاین، آموزش شماره 2546 را بخوانید).

نکات مشترکی بین دو حالتی که گفتیم وجود دارد، بنابراین ما حالت دوم را شرح می دهیم و تنها توجه داشته باشید که برای حالت اول (دانلود فایل apk)، باید عملیات چک کردن نسخه فعلی و آخرین نسخه و در صورت لزوم، دانلود نسخه جدید و نمایش صفحه نصب به کاربر را در نظر بگیریم.

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

1- آنها را به چه شکلی در برنامه اندروید ذخیره کنیم ؟

مثلا می توانیم اطلاعات را به یکی از شکل های زیر ذخیره کنیم :

الف- در پایگاه داده (database)

ب- در فایل متنی (به صورت متن ساده یا متن به شکل xml یا متن به شکل json یا ...)

ج- ذخیره توسط SharedPreferences

و ...

که البته استفاده از پایگاه داده (database)، منطقی تر است (مخصوصا زمانی که حجم اطلاعات، خیلی زیاد بوده و مدیریت آنها سخت است). اما موارد بالا برای اطلاعات از جنس متن است و برای مواردی مثل عکس، باید فایل، دانلود شده و در یک پوشه در حافظه خارجی برنامه اندروید ذخیره شود (البته ذخیره در پایگاه داده نیز امکان پذیر است، اما عده ای می گویند که کمی در سرعت برنامه تاثیرگذار است، یعنی بازیابی اطلاعات عکسها از پایگاه داده، برنامه را کمی کند می کند).

2- هر از چند مدت قرار است که اطلاعات برنامه به روز شود ؟

برای تعیین اینکه چه زمانی به روزرسانی (update) صورت گیرد، می توانیم حالت های زیر را در نظر بگیریم :

الف- ابتدا یک تاریخ در برنامه اندروید ذخیره می گردد (مثلا با استفاده از SharedPreferences). این تاریخ، آخرین تاریخ بروزرسانی شدن برنامه است. سپس بر اساس آن تاریخ، اگر مثلا بیش از یک هفته از بروزرسانی گذشته باشد، عملیات به روزرسانی اطلاعات انجام می شود.

ب- متغیری را در یک صفحه اینترنتی قرار می دهیم که شماره آخرین اطلاعات را نمایش می دهد و یک مقدار را هم در خود برنامه اندروید، به عنوان آخرین نسخه از اطلاعات که در برنامه اندروید قرار گرفته (به روزرسانی شده) را به ما نشان می دهد. پس تنها باید از آن صفحه، شماره آخرین اطلاعات را دریافت کرده و با شماره اطلاعات موجود در برنامه اندروید، مقایسه کنیم. اگر یک شماره جدید از اطلاعات در سرور اینترنتی موجود باشد، عملیات به روز رسانی آغاز می گردد. (دقت کنید که برای زمانی که خود فایل apk برنامه اندروید را می خواهیم دانلود کنیم تا کاربر، نسخه جدید برنامه را نصب کند، نیازی به تعریف متغیر نیست و خود versionCode برنامه اندروید، معیاری برای مقایسه جدید یا قدیمی بودن برنامه اندروید می باشد. یادآوری می کنم که شماره مربوط به versionCode ، در فایل AndroidManifest.xml از پروژه اندروید تعریف می شود)

دریافت اطلاعات متنی، معمولا با روش json انجام می شود (یعنی متن را به صورت json دریافت می کنیم).

خوب حالا فرض می کنیم که مثلا یک برنامه پیامکی دارید. همچنین فرض کنیم که قصد دارید اطلاعات آن را در یک پایگاه داده (database) ذخیره کنید و اطلاعات را هم با شماره اطلاعات در سرور اینترنتی چک می کنید. مراحل به صورت زیر است :

1- ابتدا یک تابع (یا method - روش) باید داشته باشید که با ورود کاربر به برنامه شما، چک کند که اصلا به اینترنت متصل است یا نه. در این زمینه، دو کلید زیر را بخوانید :


آموزش شماره 2408

آموزش شماره 287

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

2- در صورت متصل بودن به اینترنت، شماره آخرین اطلاعات موجود در سرور را از یک صفحه اینترنتی دریافت می کنید (چون تنها یک شماره است، می توانید به صورت متن ساده آن را بگیرید و یا اگر برایتان فرقی ندارد، از روش json استفاده کنید). سپس شماره را با شماره اطلاعات موجود در خود برنامه اندروید مقایسه می کنید. چنانچه شماره اطلاعات برنامه اندروید، همان آخرین شماره اطلاعات موجود در سرور باشد، ادامه این عملیات متوقف شده و همان روند معمولی نمایش اطلاعات برنامه اندروید به کاربر، اجرا می گردد.در غیر این صورت، مرحله بعد اجرا می شود.

3- اگر اطلاعات برنامه اندروید، قدیمی باشد، با روش json ، اطلاعات جدید را از سرور دریافت کرده و به پایگاه داده اضافه می کنیم (یا به جای همان اطلاعات قبلی قرار می دهیم).

4- روند عادی نمایش اطلاعات برنامه اندروید به کاربر، اجرا می شود.

نویسنده علیرضا گلمکانی
شماره کلید 2634
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 3 2 1
،رنگ
۱۳۹۵/۰۳/۲۵
۰۸:۳۴

سلام
لطفا آموزش نوع اول رو بذارید
من کلی نت رو زیرو رو کردم چیز خاصی پیدا نکردم

عادل_رفیعی
۱۳۹۵/۱۱/۲۵
۱۱:۰۵

سلام

مرسی از توضیحات

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

تششکر

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)