شرح چارچوب برنامه های اندروید با قابلیت تعامل با سرور اینترنتی (مثل برنامه های فروشگاه های اندروید، بازی های گروهی اینترنتی و ...) و توضیحاتی در مورد جزئیات ساخت یک فروشگاه اندروید
حتما تاکنون برنامه های اندروید گوناگونی را دیده اید که بر اساس اطلاعات موجود در سرور اینترنتی عمل می کنند و همچنین یک طرفه هم نیستند و یک تعامل دو طرفه میان کاربران برنامه اندروید و سرور اینترنتی برقرار است (مثل برنامه های فروشگاه های اندروید، بازی های گروهی اینترنتی و ...). با توجه به درخواست تعدادی از کاربران، در این مبحث قصد داریم که چارچوب کلی اینگونه برنامه ها را شرح بدهیم. دقت کنید که هیچ کدی در این مبحث ارائه نخواهد شد، بلکه تنها راهنمایی می کنیم که اگر شخصی قصد ساخت برنامه ای مشابه این برنامه ها را دارد، باید به دنبال یادگیری چه مباحثی برود.
پیش نیاز ها (دامنه اینترنتی و هاست) :
برای اینکه برنامه اندروید شما، یک برنامه اینترنتی باشد، مسلما قبل از هر چیز، باید یک دامنه اینترنتی بخرید. منظور از دامنه اینترنتی، نام سایت ها است که در مرورگر اینترنت وارد می کنیم، مثلا :
بنده مقداری پول پرداخت کرده ام تا دامنه فوق، تا مدت مشخصی، متعلق به اینجانب باشد. اما علاوه بر این، شما باید یک کامپیوتر داشته باشید که فایل های مربوط به سایت خود را بر روی آن قرار بدهید و آن کامپیوتر هم باید به صورت شبانه روزی به اینترنت متصل باشد، مسلما قرار نیست خود ما چنین کامپیوتری داشته باشیم، بلکه شرکت هایی هستند که بخشی از امکانات سرورهای اینترنتی (کامپیوترهای بهینه شده برای اتصال به شبکه اینترنت) را در اختیار ما قرار می دهند و در ازای آن، مبلغی پول دریافت می کنند (که به آن، خرید هاست (host) می گوییم).
چگونگی خرید دامنه و هاست از شرکت های اینترنتی در صفحه زیر از سایت کلیدستان شرح داده شده است (خود شرکت ها شما را راهنمایی خواهند کرد و این، تنها یک مثال است) :
آموزش شماره 509
ساختار کلی :
ابتدا بگذارید برای شما بگویم که ساختار اینگونه برنامه ها بر چه اساس است. به شکل زیر دقت کنید :
مثلا اگر بخواهیم برنامه هایی در سه سیستم عامل اندروید (Android) و ios و windows phone ارائه کنیم، ساختار کلی به صورت زیر می باشد :
پایگاه داده (database) :
بر اساس شکل بالا، باید بگویم که مغز اینگونه برنامه ها، همان پایگاه داده (database) آنها می باشد. اطلاعات برنامه، در پایگاه داده ذخیره می شود. زمانی که یک برنامه نویس، برنامه خود را به طور کامل می سازد، دیگر تغییری در کدها به وجود نمی آورد، بلکه بر اساس نوع تعامل کاربران با برنامه، اطلاعات پایگاه داده تغییر داده می شود.
انواع مختلفی از پایگاه داده داریم که یک برنامه نویس می تواند آنها را انتخاب کند، مثلا من، پایگاه داده MySQL را انتخاب می کنم، زیرا هم کار کردن با آن ساده است و هم تعداد افراد استفاده کننده از آن زیاد می باشد (بنابراین، اگر به مشکلی در رابطه با آن برخورد کنید، در اینترنت، منابع زیادی برای یادگیری و یا راهنمایی خواستن از دیگران وجود دارد). در همین سایت کلیدستان، آموزش هایی را در زمینه پایگاه داده MySQL نوشته ام :
آموزش MySQL
انواع سیستم عامل های نرم افزاری دلخواه (مثل اندروید (Android) و ios و windows phone و ...) :
منظور از سیستم عامل های نرم افزاری، نرم افزارهایی می باشد که شرکت های مختلف، برای تعامل کاربران با سخت افزارها می سازند. مثل اندروید (Android) و ios و windows phone و ... . ما در این مبحث قصد داریم که در مورد سیستم عامل نرم افزاری اندروید صحبت کنیم، اما دقت داشته باشید که خیلی از برنامه ها، برای چندین سیستم عامل نرم افزاری ارائه می شوند. یعنی واقعیت این است که ساخت پایگاه داده و همچنین طراحی زبان واسط، برای همه آن سیستم عامل ها یکسان است و برنامه نویس تنها باید خود برنامه سیستم عامل را برای کار با آنها طراحی کند، بنابراین خیلی از گروه های برنامه نویسی، برنامه خود را در چندین سیستم عامل نرم افزاری عرضه می کنند.
زبان برنامه نویسی واسط بین پایگاه داده (database) و برنامه ها در سیستم عامل های مختلف :
ما باید یک زبان برنامه نویسی را به عنوان واسط بین پایگاه داده و برنامه ها در سیستم عامل های مختلف مورد نظرمان انتخاب کنیم. این زبان، هم باید قابلیت کار با پایگاه داده را داشته باشد و هم توسط برنامه ها در سیستم عامل های مختلف، بتوانیم با آن تبادل اطلاعات داشته باشیم. به عنوان یک زبان واسط، می توان زبان برنامه نویسی PHP را نام برد (من آن را انتخاب می کنم). آموزش های سایت کلیدستان در مورد زبان برنامه نویسی PHP را می توانید در لینک زیر مشاهده کنید :
آموزش PHP
انتخاب های ما برای ساختار کلی برنامه اندروید :
بنابراین پایگاه داده را برابر MySQL و زبان برنامه نویسی واسط را برابر زبان PHP انتخاب کردیم و سیستم عامل مورد نظرمان هم که همان اندروید (Android) می باشد، اکنون شکل مورد نظر، به صورت زیر در می آید :
دقت شود که مثلا اگر قصد دارید که برنامه خود را برای سیستم عامل هایی مثل ios و windows phone نیز طراحی کنید، ساختار به صورت زیر می باشد (تنها تفاوت این است ک برای دو سیستم عامل دیگر نیز باید برنامه هایی برای کار با زبان واسط، یعنی PHP ، بنویسید) :
خوب اکنون فرض می کنیم که برنامه اندرویدی که می خواهیم بسازیم، یک فروشگاه اندروید است. بنابراین جزئیات این مورد را در ادامه شرح می دهیم.
ساخت جدول ها (tables) در پایگاه داده MySQL :
اطلاعات مختلف، باید در جدول های (tables) جداگانه ای قرار بگیرند. مثلا جدول های مختلفی باید به صورت زیر ساخته شود :
1- اطلاعات مربوط به کاربران ثبت نام کرده در سایت
2- اطلاعات مربوط به توسعه دهندگان
3- اطلاعات مربوط به برنامه های آپلود شده برای بررسی
4- اطلاعات مربوط به برنامه های تایید شده و به فروش گذاشته شده
5- اطلاعات مربوط به فاکتورهای فروش
6- اطلاعات مربوط به نظرات کاربران در مورد برنامه های اندروید
و ...
ساخت این جدول ها می تواند با کد انجام شود و یا اینکه با واسط های گرافیکی مثل phpMyAdmin این کار را انجام بدهیم. انتخاب من، معمولا واسط های گرافیکی است زیرا همان لحظه می توانیم جدول ساخته شده را ببینیم.
کدنویسی PHP تعدادی صفحه php برای اتصال به پایگاه داده :
تعدادی صفحات php (فایل های با پسوند php) می سازیم که هر کدام برای منظورهای مختلفی به کار می روند. صفحات PHP با دو روش می توانند اطلاعات را دریافت کنند (البته اگر لازم باشد که اطلاعاتی را دریافت کنند) :
1- روش get ( آموزش شماره 439 )
2- روش post ( آموزش شماره 399 )
صفحات PHP توسط برنامه اندروید فراخوانی می شوند.
تعدادی از صفحات PHP لازم برای برنامه :
1- صفحه PHP برای نمایش لیست آخرین برنامه ها (دریافت اطلاعات آخرین برنامه ها از پایگاه داده MySQL و نمایش اطلاعات به صورت روش json)
2- صفحه PHP برای نمایش اطلاعات یک برنامه اندروید (دریافت id یک برنامه و سپس دریافت اطلاعات آن برنامه از پایگاه داده MySQL و نمایش اطلاعات به صورت روش json)
3- صفحه PHP برای login یا logout کردن کاربران
4- صفحه PHP برای انجام عملیات خرید برنامه
5- صفحه PHP برای ثبت نظر کاربر در مورد برنامه اندروید
و ...
استفاده از روش json برای دریافت اطلاعات توسط برنامه اندروید از صفحات PHP :
هنگامی که شما توسط برنامه اندروید، از یک صفحه اینترنتی، اطلاعاتی را دریافت می کنید، این اطلاعات می تواند به شکل های زیر باشد :
1- متن ساده
2- به شکل xml
3- به شکل json
و ...
روشی که برای این مورد توصیه می شود، روش json است. این روش، به دلیل نوع علامت گذاری هایی که دارد، حجم اطلاعات را به حداقل می رساند و بنابراین در پهنای باند استفاده شده توسط سرور اینترنتی سایت، صرفه جویی می شود.
عالی بود مرسی
لطفا نمونه ای از کدهای رو هم بذارید مرسی
سلام.
کلیدهای آموزشی موجود در دسته کلید زیر را ببینید :