سرویسهایی که ما ارائه میدهیم شامل کلیه موارد زیر است :
طراحی انواع وب سایت و اپلیکیشن های موبایل (اندروید ،ios )
فروشگاه اینترنتی ،ربات تلگرامی ،سئو سایت ،افزایش رتبه سایت ،تبلیغات در گوگل ،بهینه سازی قالب و
مشاوره جهت ایده های شما (پیاده سازی ایده های شما به صورت وب سایت و اپلیکیشن)
قیمت های بسیار مناسب
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
شرایط پرداخت مناسب
عقد قرار داد
آموزش و پشتیبانی یک ساله
طراحی وب سایت های گردشگری ،بلیط هواپیما ،هتل داری ،فروشگاه محصولات و خدمات
انواع اپلیکیشن های فروش و جذب مشتری ،تبلیغات اینترنتی ،افزایش رتبه سایت و
تیم حرفه ای برنامه نویسی
ن رسیده است که مدیر استارتاپ خود باشید. این دوره ی آموزشی به شما کمک می کند تا تمام آن دسته از ایده های شما را که به طراحی و تولید اپلیکیشن برای سیستم عامل اندروید مربوط می شود را عملی نماید.
پیش نیازها :
این دوره هیچ پیش نیازی ندارد، از سطح پایه و با زبانی ساده تدریس شده است.
سرفصل ها :
فصل اول: مفاهیم کلی برنامه نویسی
زبان های کامپایلری
زبان های مفسری
فصل دوم: مقدمات برنامه نویسی اندروید و ابزارهای مورد نیاز آن
آشنایی با JDK, JRE
نصب JDK
نصب و راه اندازی اندروید استودیو
آشنایی با SDK اندروید
نصب و راه اندازی امولاتور (شبیه ساز گوشی)
آشنایی با محیط برنامه نویسی اندروید استودیو
فصل سوم: زبان برنامه نویسی جاوا
آشنایی با انواع داده ها
آشنایی با انواع Collection ها
آشنایی با دستورات شرطی
آشنایی با حلقه های تکرار در زبان جاوا
آشنایی با متدها و توابع در زبان جاوا
فصل چهارم: لایه بندی های مختلف رابط کاربری در اندروید
آشنایی با LinearLayout
آشنایی با FrameLayout
آشنایی با RelativeLayout
آشنایی با ConstraintLayout
فصل پنجم: مفاهیم شی گرایی
مفاهیم کلاس و آبجکت ( شی )
Constructor چیست؟
استفاده از مفهموم ارث بری در جاوا و آشنایی با کلید واژه ی extends
مفهوم Overriding در جاوا
Enum چیست و چه کاربردی دارد؟
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
Interface چیست؟
تفاوت Interface و کلاس
آشنایی با کلید واژه ی Implements
آشنایی با الگوی طراحی Factory
فصل ششم : پردازش غیرهمزمان در اندروید
Thread چیست و چه کاربردی دارد؟
آشنایی با انواع روش های پیاده سازی Worker Thread و پردازش غیر همزمان
آشنایی با runOnUiThread
آشنایی با HandlerThread
فصل هفتم: آشنایی با UI های پرکاربرد در اندروید
آشنایی با EditText در اندروید
آشنایی با CheckBox در اندروید
آشنایی با RadioButton در اندروید
آشنایی با ScrollView در اندروید
آشنایی با ImageView در اندروید
لود کردن تصویر از سرور با استفاده کتابخانه Glid و Picasso
اضافه کردن فونت به پروژه
آشنایی با کلاس TypeFace
اعمال فونت بر روی ویوهای مختلف
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
توسعه کلاس های TextView ، Button و EditText
فصل هشتم : آشنایی با Activity ها در اندروید
چگونه یک Activity جدید ایجاد کنیم؟
اضافه کردن View به اکتیویتی
Intent چیست؟
آشنایی با Implicit Intent
آشنایی با Explicit Intent
آشنایی با Intent-filter
استفاده از Intent برای رفتن به Activity دیگر
آشنایی با متد onBackPressed
ارسال داده بین دو اکتیویتی
آشنایی با putExtras
آشنایی با getExtras
آشنایی با متد startActivityForResult و دریافت نتیجه از اکتیویتی ثانیویه
آشنایی با چند نمونه از ExplicitIntent های کاربردی
فصل دهم : پیاده سازی لیست با RecyclerView در اندروید
آشنایی مفهموم Recycling
آشنایی با Adapter
آشنایی با LayoutManager
آشنایی با ViewHolder
فصل یازدهم : انواع خطاها در برنامه نویسی و نحوه ی خطایابی
خطاهای Syntax
خطاهای Runtime
خطاهای منطقی
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
آشنایی با Try ... Catch
فصل دوازدهم : آشنایی با کلاس ApplicationLoader در اندروید
فصل سیزدهم: کار با فرگمنت ها
فرگمنت چیست ؟
چگونه یک فرگمنت بسازیم ؟
افزودن فرگمنت به اکتیویتی به صورت استاتیک
افزودن فرگمنت به اکتیویتی به صورت داینامیک
آَشنایی با حذف و جایگزین کردن فرگمنت و کار با FragmentTransaction
فصل چهاردهم : ساخت Dialog در اندروید
آشنایی با کلاس ProgressDialog
آشنایی با کلاس AlertDialog
ساخت Dialog های سفارشی شده
فصل چانزدهم : ساخت BottomSheetDialog در اندروید
آشنایی با کلاس BottomSheetBehavior
فصل شانزدهم : آشنایی با Tablayout و Viewpager در اندروید
آشنایی با FragmentPagerAdapter
متصل کردن Adapter به Viewpager
متصل نمودن Viewpager به Tablayout
نمایش متن در TabLayout
آشنایی با TabItem
فصل هفدهم : مفاهیم پیشرفته رابط کاربری در اندروید
آشنایی با 9-Patch ها
ایجاد Shape با XML
ایجاد مستطیل
ایجاد مستطیل به همراه Corrner
آشنایی با تگ Selector
ایجاد بک گراند برای EditText
ایجاد بک گراند برای
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
Button
ساخت CheckBox سفارشی شده
ایجاد بک گراند به همراه افکت Ripple
فصل هجدهم : آشنایی با نحوه ی دریافت و چک کردن Permission ها در اندروید
آشنایی با Normal Permission و Dangerous Permission
چک کردن Permission
درخواست Permission از کاربر
استفاده از انیمیشن ها در اندروید
آشنایی با Alpha Anim
پیاده سازی انیمیشن های Fade In و Fade Out با کد XML
آَشنایی با Rotate Anim
ساخت انیمیشن چرخش با کد XML
آَشنایی با Scale Anim
ساخت انیمیشن های Zoom In و Zoom Out با کد XML
آشنایی با Translate Anim
پیاده سازی انیمیشن های Slide In Right و Slide In Left با کد XML
پیاده سازی انیمیشن های Slide In Bottom و Slide In Top با کد XML
پیاده سازی انیمیشن های Slide Out Right و Slide Out Left با کد XML
پیاده سازی انیمیشن های Slide Out Bottom و Slide Out Top با کد XML
آَشنایی با Alpha Anim
پیاده سازی انیمیشن های Fade In و Fade Out با کد جاوا
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
آشنایی با Rotate Anim
ساخت انیمیشن چرخش با کد جاوا
آَشنایی با Scale Anim
ساخت انیمیشن های Zoom In و Zoom Out با کد جاوا
آشنایی با Translate Anim
پیاده سازی انیمیشن های Slide In Right و Slide In Left با کد جاوا
پیاده سازی انیمیشن های Slide In Bottom و Slide In Top با کد جاوا
پیاده سازی انیمیشن های Slide Out Right و Slide Out Left با کد جاوا
پیاده سازی انیمیشن های Slide Out Bottom و Slide Out Top با کد جاوا
آشنایی با Animation List
آشنایی با مفهوم Interpolator در انیمیشن ها
آشنایی با BounceInterpolator
آشنایی با AnticipatOvershootInterpolator
ترکیب انیمیشن ها برای ایجاد انیمیشن های متفاوت تر
آشنایی با کلاس ObjectAnimator و AnimatorSet
آشنایی با تابع ofFloat
ساخت انیمیشن
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
Shake
آَشنایی با کتابخانه Yoyo برای نمایش انیمیشن ها
فصل نوزدهم : آشنایی با Transition در اندروید
استفاده از انیمیشن ها برای جا به جایی بین اکتیویتی ها
استفاده از انیمیشن ها برای اضافه کردن فرگمنت به اکتیویتی
آشنایی با متد overridePendingTransition در اکتیویتی ها
فصل بیستم : ساخت لیست کشویی با Spinner در اندروید
ساخت Adapter سفارشی برای Spinner
فصل بیست و یکم : ایجاد Toast سفارشی شده در اندروید
Toast چیست ؟
ست کردن View به Toast و سفارشی کردن آن
فصل بیست و دوم : ذخیره اطلاعات با Sharedprefernces در اندروید
ایجاد Sharedpref
ذخیره مقادیر String ، Boolean و ... در Sharepref
دریافت مقادیر از
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
Sharepref
آشنایی با دیزاین پترن Singletone
فصل بیست و سوم : آشنایی با Toolbar در اندروید
اضافه کردن PopupMenu به Toolbar
اضافه کردن Style به Toolbar
ست کردن NavigationIcon به Toolbar
ست کردن Title و SubTitle به Toolbar
اضافه کردن Navigation Drawer به Toolbar
فصل بیست و چهارم : ساخت PopupMenu در اندروید
اضافه کردن آیتم به PopupMenu در لحظه ساخت
ست کردن Style به PopupMenu
آشنایی با ویژگی Checkable برای آیتم های PopupMenu
فصل بیست و پنجم : آشنایی با فرمت Json
Json چیست ؟
ساختار Json از چه چیزی تشکیل شده است ؟
آشنایی با JsonObject
آشنایی با JsonArray
ساخت Json در زبان جاوا
Parse کردن Json و تبدیل آن به Object و آرایه در زبان جاوا
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
آشنایی با کتابخانه Gson برای کار با Json
ساخت Json به کمک Gson
تبدیل Json به Object به کمک Gson
آشنایی با حاشیه نوشت های Gson
آشنایی با Expose
آشنایی با SelializeName
آشنایی با متد setSelializeNulls
فصل بیست و ششم : ارتباط با سرور در اندروید
آشنایی با انواع متدهای HTTP
آشنایی با متد GET
آشنایی با متد POST
آشنایی با متد PUT
آشنایی با متد Delete
آشنایی اجمالی با کتابخانه های معروف برای ارتباط با سرور
آشنایی با Volley
آشنایی با OkHTTP
آشنایی با
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
Retrofit
آشنایی با Fast Android Networking
استفاده از OkHTTP برای ارتباط با سرور
ارسال درخواست POST
ارسال درخواست GET
آشنایی با کلاس AsyncTask و متدهای آن
آشنایی با doInBackground
آشنایی با preExecute
آشنایی با onPostExecute
آشنایی با onProgressUpdate
چرا Fast Android Networking
آشنایی با متدها و نحوه پیاده سازی این کتابخانه
ارسال درخواست POST
ارسال درخواست GET
فصل بیست و هفتم : آشنایی با کتابخانه Design و CardView در اندروید
آشنایی با CordinatorLayout
آشنایی با AppbarLayout
آشنایی با CollapsingToolbarLayout
آشنایی با صفت contentScrim
آشنایی با مقدار
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
exitUntilCollapsed
آشنایی با مقدار Scroll
آَنایی با صفت collapsMode و مقادیر Parallex و Pin
آشنایی با NestedScrollView
آشنایی با CardView
آشنایی با صفت elevation برای ایجاد سایه
آشنایی صفت Corrner برای گرد کردن گوشه
آشنایی با FloatingActionButton
فصل بیست و هشتم : طراحی و ساخت پروژه آب و هوا
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
مشاوره استراتژی
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
مشورت و همراهی کارشناسان ما برای توسعه استراتژی و برنامه مسیر به شما کمک می کند تا اهداف موبایلی شدن شرکت را بهتر اجرا نمایید
راهکارهای موبایلی شدن
راهکارهای وسیع موبایلی ما از نرم افزارهای از پیش ساخته شده تا راهکارهای سفارشی از طرف مشتری را شامل می شود. بنا به نیاز تکنولوژیک و عملکردی سازما شما، می توانیم از فریمورک های آماده و با قیمت کمتر یا طراحی نرم افزار از پایه را برای شما انجام دهیم.
خدمات قابل مدیریت
خدمات ما در داشبورد مدیریت مشتری برای شما کاملا تحت کنترل شماست. در هر لحظه شما مشاهده می کنید که پروژه مربوط به شما در چه مرحله ای است و چه اقداماتی روی آن در حال انجام است. ما امکاناتی در اختیار شما قرار می دهیم که شما حس کنید در تیم ما هستید و از نزدیک همه چیز را مشاهده می کنید.
نظام پیشنهادات اندروید
چرا باید اپلیکیشن موبایل داشته باشید
همیشه در دید مشتری باشید
آمارها نشان می دهد کاربران تلفن های اسمارت روزانه بیش از 2 ساعت با اپلیکیشن های موبایل خود وقت می گذرانند. پس وقتی تا این اندازه افراد سرگرم موبایل خود هستند، چرا شما در موبایل آنها جایی نداشته باشید؟
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
امروزه اغلب افراد برای کسب اطلاعات بیشتر به راحتی در بازارهای عرضه نرم افزارهای موبایل دوری می زنند و اتفاقا به راحتی صفحات زیادی را اسکرول کرده و نرم افزارهای زیادی را می بینند.
یک کانال مستقیم بازاریابی بسازید
نرم افزارهای موبایل عملکردهای زیادی دارند: این نرم افزارهای می توانند اطلاعات اولیه کاربر، قیمتها، فرمهای ثبت نام، امکانات جستجو، حسابهای کاربری، پیام رسان، سرخط خبرها و بسیاری امکانات دیگر را در خود فراهم آورند.
یکی از بزرگترین مزایای داشتن نرم افزار موبایل این است که می توانید همه اطلاعاتی را که می خواهید به مشتری بدهید دقیقا زیر انگشت او قرار داده اید. همینطور با قابلیت ارسال اعلان شما به راحتی می توانید مشتریان را از محصولات جدید و تخفیفات با خبر کنید و حتی انگیزه هایی برای بازکردن نرم افزار ایجاد کنید.
برای مشتری ارزش ایجاد کنید
برنامه های وفاداری سنتی، با کارتها تخفیف و کارتهای عضویت رونق یافت. در سالهای اخیر تبدیل کارتهای کاغذی عضویت به کارتهای مغناطیسی تحول جدیدی را به وجود آورد. ولی الان حتی کارتهای مغناطیسی و انتظار از مشتری برای همراه داشتن این کارتها در هنگام خرید، قدری دور از توقعات مشتری مدارانه است. شما می توانید با داتشن نرم افزار موبایل به دور برنامه وفاداری خود را نه به صورت یک طرفه بلکه به صورت تعاملی و دو طرفه پیاده سازی نمایید.
ایجاد شناخت و برندسازی کنید
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
نرم افزار موبایل می تواند به خوبی برای برند شما آگاهی رسانی انجام دهد. برندسازی شامل دو بخش دیدگاه است:
برند: نرم افزار موبایل برای شما کار یک بیلبورد بزرگ خالی را انجام می دهد که به روی آن هر چیزی می توانید بنویسید. روی این بیلبورد شما می توانید فاخر بودن، کاربردی بودن، ارزان بودن، تکان دهنده بودن یا هر چیزی را به مشتری منتقل کنید. هر کار می کنید نهایتا باید طراحی شما به نحوی باشد که مشتری آن را دوست داشته باشد.
شناخت: چیزی که باعث می شود شما به خاطر مشتری بمانید، رسیدن به حد موثر تکرار مشاهده است. به طور معمول گفته می شود برای اینکه مشتری در زمان خرید شما را در نظر داشته باشد تقریبا باید 20 مرتبه شما یا برندتان را دیده باشد. کاری که نرم افزار موبایل برای شما انجام می دهد، همین است.
پذیرش مشتری را بهتر کنید
فرقی ندارد شما شامپو می فروشید یا الکتروموتور صنعنی. مشتری شما نیاز دارد که شما در دسترس او باشید. همین که شما از طریق نرم افزار موبایل امکاناتی را فراهم آورید که مشتری بتواند به راحتی با شما ارتباط برقرار کند، شما یک مزیت قابل توجه برای مشتری فراهم آورده اید تا احساس کند در هر زمانی و در هر شرایطی فقط با چند ضربه انگشت می تواند با شما ارتباط برقرار کند.
از رقابت دور بایستید
در شرایطی که بازار رقابتی هر روز شدیدتر می شود، شما با داشتن یک نرم افزار موبایل می توانید از مخمصه رقابت به جایی جلوتر از رقبا بپرید. اگر در این زمینه اولین باشید یا حداقل در زمره اولین ها باشید، مشتری از فکر رو به جلو و مدرن شما متحیر می شود و این تمایز برای شما کار خواهد کرد.
وفاداری مشتری درو کنید
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
در شرایطی که مشتری با تبلیغات گوناگون در صفحات اینترنتی، بیلبوردهای خیابانی، تبلیغات تلویزیونی، کانالهای تلگرامی، ایمیلهای تبلیغاتی، آپهی های روزنامه ها و مجلات و ده ها مورد دیگر بمباران می شود، به تدریج حتی مشتریان قبلی هم شما را فراموش می کنند و اثر حس خوب قبلی را بر مشتری از دست می دهید. زمان آن فرارسیده است تا شما در موبایل مشتری خود نشسته باشید و ارتباط خود را با مشتری همچنان قوی نگه دارید تا از وفاداری مشتری خود حفاظت کنید. قرار نیست نرم افزار موبایل شرکت شما را نجات دهد ولی حداقل از برباد رفتن زحمات قبلی شما حفاظت می کند.
چرا سپهر ماهان
بیش از آنکه متقاضی نرم افزارهای موبایل وجود داشته باشد، علاقمندان به تولید و برنامه نویسی اندروید وجود دارد. و متاسفانه پیش از آنکه تحلیل گران کسب و کار و بازاریابی دست به کار شوند، علاقمندان به برنامه نویسی کار خود را شروع کرده اند و چه بسا به پایان رسانده اند.
ما به نرم افزار تحت موبایل شرک شما به چشم یک روند مد شده عجولانه برنامه نویسی نکاه نمی کنیم. شرکت شما باید با اهداف مشخص و متعالی به حوزه نرم افزار موبایل وارد شود. قبل از آنکه عجولانه دست بکار تولید شوید، باید اهداف مشخص گردد، مشتریان بررسی شوند، بازار هدف شما تعیین گردد، امکانات مورد نظر و مورد نیاز مشتریان فهرست گردد، دسترسی آنلاین مشتریان به اینترنت و محل استفاده از نرم افزار موبایل به دقت مورد توجه قرار گیرد، مکانیزم های جلب توجه و علاقه مشتری مورد همفکری واقع شود و بعد از آن تازه پروژه تولید نرم افزار شروع می شود.
اگر این مراحل را انجام ندهید خیلی زودتر نرم افزار شما نوشته شده و تحویل شما می شود ولی در زمانی کمتر از آن متوجه می شوید که اشتباه کرده اید و علاوه بر هزینه ریالی هزینه های بسیار بیشتری از نظر زمان و انرژی و انگیزه شرکت را هدر داده اید.
ما صرفا نرم افزار برای شما تولید نمی کنیم. بلکه همه مراحل ایده سازی، طراحی، تولید، مراقبت از رفتار مشتری و بهبود مستمر را به عنوان راهکار بکارگیری اپلیکیشن موبایل برای شما انجام می دهیم.
متدولوژی ما
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
ما در طراحی و تولید اپلیکیشن موبایل از متدولوژی اسکرام (SCRUM) استفاده می نماییم که یکی از از مجموعه روشهای تفکر چابک (Agile) است.
اسکرام یکی از روشهای مدرن مدیریت پروژه های نرم افزاری است که در آن علاوه بر سرعت در تولید، دقت، کاربرد و مشارکت مشتری و انعطاف پذیری نیز لحاظ شده است. تولید نرم افزار تحت چارچوب اسکرام ویژگی شفافیت و روشنی، ممیزی و وارسی و همچنین انطباق را اجرایی می نماید تا کارفرما و پیمانکار اطمینان داشته باشند نتیجه و نرم افزار تولید شده، با تفکر و برنامه از قبل تعیین شده نزدیکی کافی داشته باشند.
بیانیه نرم افزار چابک
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
صفرتاصد اندروید در خدمتتان هستیم…
دوره آموزش صفر تا صد اندروید بصورت پروژه محور ساخت اپلیکیشن دیوار و سمت سرور
بصورت مبتدی تدریس از پیش نیاز جاوا تا صفرتاصد اندروید با استفاده از محیط برنامه نویسی اندروید استودیو
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
آموزش ویدیوئی قابل فهم + سورس
تدریس توسط بهترین مدرس کشور
با هزینه بسیار مناسب
کاملا اختصاصی و مبتدی تا حرفه ای
حتی کسانیکه تا الان تجربه برنامه نویسی نداشته اند نیز میتوانند در این دوره شرکت کرده و با یادگیری این آموزش کسب درآمد نمانید.
ثبت نام کنندگان در یک گروه خصوصی تلگرام عضو میشوند و این دوره با بیش از ۶۰ ساعت فیلم آموزشی بروز برگزار خواهد شد، هر روز ۲ ساعت برای پرسش و پاسخ زمان در اختیار ثبت نام کنندگان گذاشته خواهد شد.
برنامه کلس مجازی این دوره نیز به شرح زیر میباشد :
سرفصل های این دوره آموزشی و معرفی مدرس و میزبان دوره:
آموزش صفر تا صد برنامه نویسی اندروید
به همراه آموزش جاوا
به صورت پروژه محور
عنوان پروژه انتخابی:
طراحی برنامه ثبت آگهی
(مشابه برنامه دیوار)
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
مدرس دوره:
امجد قاسمی راد
برگزارکننده:
کانال انجمن علمی کامپیوتر
سرفصل ها
آموزش جاوا
جلسه اول (نصب و شروع جاوا)
نصب jdk جاوا
معرفی و نصب برنامه netbeans
شروع برنامه نویسی در CMD
شروع برنامه نویسی در netBeans
پوشش مباحث متغیر،تابع و شرط
جلسه دوم (ادامه مقدمات جاوا)
حلقه ها، سوئیچ، break، continue، حلقه های تو در تو
Scanner, Print
تبدیل داده
کامنت
جلسه سوم (String)
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
String, String methods, Regex
جلسه چهارم (ساختمان های داده)
آرایه ها، آرایه لیست،صف، پشته
جلسه پنجم (شی گرایی در جاوا)
معرفی و مقدمات شی گرایی
مفهوم کلاس و شی
Abstract
Interface
Encapsulation
جلسه ششم (ادامه شی گرایی در جاوا)
چندریختی
ارث بری
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
Overriding
Initialization, Constructor
Finalize method
جلسه هفتم (Exception handling)
مدیریت خطا (Exception handling)
جلسه هشتم (File)
کار با فایل (ورودی و خروجی)
جلسه نهم (File)
کار با فایل (ورودی و خروجی)
جلسه دهم (Thread)
چندنخی (Multithreading)
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
جلسه یازدهم (Thread)
چندنخی (Multithreading)
جلسه دوازدهم (GUI)
مقدمه طراحی گرافیکی در جاوا
شروع طراحی (طراحی frame, Label,…)
جلسه سیزدهم (GUI)
ادامه طراحی ها
طراحی در نت بینز
طراحی یک برنامه دفترچه تلفن ساده
جلسه چهاردهم (…)
ادامه طراحی برنامه دفترچه تلفن و استفاده از آنچه تاکنون آموخته ایم
جلسه پانزدهم (جمع بندی)
جمع بندی بخش جاوا و ورود به برنامه نویسی اندروید
آموزش اندروید
بخش اول
جلسه اول (شروع برنامه نویسی اندروید)
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
نصب اندروید استودیو
معرفی و راه اندازی شبیه ساز
استفاده از دستگاه واقعی
نصب پلاگین وایرلس
برنامه سلام اندروید
ایجاد اکتیویتی جدید
معرفی ساختار کلی یک برنامه اندرویدی (شامل manifest , res , java , gradle) و زیرشاخه های آنها
جلسه دوم، سوم و چهارم (ویجت ها و رویدادهای آنها)
Button
Toggle button Checkbox Radio button
Checked textview Spinner Progress bar
Seek bar
Quick contact badge
Rating bar Switch Space
Textview
Edittext انواع آن Imagebutton Imageview
Videoview Timepicker Datepicker
Calendarview
Chronometer Textclock
webView
جلسه پنجم (Layouts)
بررسی layout های مختلف
Linear Relative Constraint Frame
Grid Coordinator Table Include
جلسه ششم (Activity & Intent)
چرخه حیات اکتیویتی
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
سایر مسائل مرتبط با اکتیویتی
Intent ها
جلسه هفتم (Fragments)
چرخه حیات
انواع فراگمنت و کار با آنها
کار با Action bar
جلسه هشتم (فونت)
کار با فونت
جلسه نهم (منوها)
Option menu
Context menu
Popup menu
جلسه دهم (ذخیره و بازیابی)
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
استفاده از Shared preference
جلسه یازدهم (ذخیره و بازیابی)
پایگاه داده SQLite
جلسه دوازدهم (ذخیره و بازیابی)
ادامه SQLite
جلسه سیزدهم (ذخیره و بازیابی)
کار با حافظه داخلی و SD Card
جلسه چهاردهم (Android telephony)
تماس
پیام کوتاه
ارسال ایمیل
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
جلسه پانزدهم (Wi-Fi , Bluetooth)
کار با شبکه وایرلس
جلسه شانزدهم (Multimedia)
ضبط صوت
موزیک پلیر
ویدئو پلیر
جلسه هفدهم (Camera)
عکاسی و فیلم برداذی با دوربین اصلی و دوربین جلویی
استفاده از Flash Light
جلسه هجدهم (انیمیشن)
کار با انیمیشن در اندروید
جلسه نوزدهم (Sensors)
اثر انگشت
شتاب سنج
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
ژیروسکوپ
نزدیکی
قطب نما
جلسه بیستم (Services)
کار در پس زمینه
جلسه بیستم و یکم (Widget)
آشنایی با ویجت ها در اندروید
جلسه بیستم و دوم (Maps)
کار با نقشه در اندروید
جلسه بیستم و سوم (Maps)
ادام09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.comه…
جلسه بیستم و چهارم (ایجاد کتابخانه دلخواه)
ایجاد کتابخانه های نمونه
جلسه بیستم و پنجم (استفاده از gitHub در پروژه)
آموزش اتصال gitHub به اندروید استودیو و استفاده از آن
جلسه بیستم و ششم (استفاده از کتابخانه ها)
استفاده از چند نمونه کتابخانه
جلسه بیست و هفتم (ارتباط با سرور)
استفاده از کتابخانه های Json و Jsoap
جلسه بیست و هشتم (Customize)
بومی کردن برنامه
چند زبانه کردن و …
جلسه بیست و نهم (جمع بندی)
جمع بندی مطالب گفته شده و آموزش بخش هایی که ممکن است در طول دوره از قلم افتاده باشند.
کار با ویبره….
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
کار با Notification Light
Splash
….
بخش دوم (طراحی و پیاده سازی بخش های مختلف برنامه)
توجه!
مباحث مربوط به بخش سروری که اطلاعات در آن ثبت و از آن دریافت می شود و به طور کلی برنامه با آن در ارتباط است در این آموزش شرح داده نخواهد شد، زیرا خارج از بحث آموزش اندروید است ولی سمت سرور میباشد.
تعداد جلسات این بخش به روند پیاده سازی پروژه بستگی دارد. (حدود 10 جلسه)
بخش سوم (جمع بندی و انتشار برنامه)
نکاتی در مورد این دوره:
از آنجایی که در این دوره برنامه نویسی اندروید با زبان جاوا آموزش داده می شود، لذا ابتدا نیم نگاهی به برنامه نویسی جاوا خواهیم داشت سپس برنامه نویسی اندروید را آغاز خواهیم کرد.
در طول دوره مطالبی که ممکن از از قلم بیفتند به مرور آموزش داده خواهند شد چرا که ممکن است برخی موارد نیاز به دانش قبلی داشته باشند.
این دوره به گونه ای طراحی شده که بیشتر بخش های برنامه های اندرویدی را فرابگیرید و بتوانید هر برنامه ای که در ذهن داشته باشید را پیاده سازی کنید.
آموزش ها از پایه ای ترین سطح آغاز شده و در پایان هر جلسه به سوالات مربوطه پاسخ داده خواهد شد.
هر یک از بخش های فوق ممکن است یک یا چند جلسه طول بکشند.
برای یادگیری بهتر پیشنهاد می شود:
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
سعی کنید برای خود پروژه ای تعیین کنید و آن را پیش ببرید. با این کار به صورت عملی درگیر یک پروژه واقعی خواهید شد و با مشکلات آن آشنا می شوید. یاد میگیرید که چگونه مشکلات را حل کنید و چگونه بهتر و بهینه تر کدنویسی کنید.
فیلمهای آموزشی مخصوص سال 2018 میباشد که توسط مدرس ضبط میشود برای ثبت نام کنندگان، برای اطلاعات بیشتر درباره این دوره با ما در اکانت تلگرام زیر نیز میتوانید ارتباط داشته باشید :
قسمت اول و دموی دوره صفرتاصد اندروید جهت نظارت بر کیفیت و اطلاعات بیشتر از میزبان و مدرس دوره :
نمایشگر ویدیو
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
ایمپورت (import) کردن پروژه در اندروید استودیو
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
در این مبحث به نحوهی ایمپورت پروژههای اندروید (اکلیپس و اندروید استودیو) در اندروید استودیو و انواع روشهای آن پرداخته شده است.
به نام خدا. برای ما به عنوان برنامه نویس و توسعه دهنده اندروید، استفاده از سورسها و پروژههایی که سایر افراد نوشته و منتشر کردهاند اجتناب ناپذیر است. یا ممکن است پروژهی اندرویدی که خودمان مدتها قبل نوشتیم را باید مجدد ویرایش کرده و نسخه جدید اپلیکیشن را به کاربران عرضه کنیم. برای استفاده مجدد از یک سورس در محیط اندروید استودیو ابتدا باید پروژه را ایمپورت (وارد) کنیم.
اندروید استودیو را اجرا میکنم:
صفحهی نخست اندروید استودیو
۳ گزینه از گزینههای صفحه ورودی اندروید استودیو مربوط به import کردن سورس است:
Open an existing Android Studio project: از این گزینه برای ایمپورت کردن پروژههایی استفاده میشود که قبلا توسط همین محیط توسعه یعنی اندروید استودیو ساخته شده اند.
Import project (Gradle, Eclipse ADT): پروژههایی که در محیطی غیر از اندروید استودیو (مانند اکلیپس) ساخته شدهاند از طریق این قسمت باید ایمپورت شوند.
Import an Android code sample: از این گزینه برای وارد کردن نمونه کدهای اندروید استفاده میشود.
تفاوت پروژهی ساخته شده در محیط اکلیپس و اندروید استودیو
احتمالا اولین سوالی که به ذهنتان رسید این است که تفاوت یک پروژه ساخته شده در محیط توسعه Eclipse با پروژهای که توسط Android Studio ایجاد شده در چیست و چطور باید تشخیص بدهیم پروژهای که از یک وب سایت دانلود کردهایم در کدام محیط توسعه ساخته شده؟
تشخیص بسیار ساده است. کافی است به ساختار پروژه نگاه بیندازید. به دو تصویر زیر دقت کنید:
پروژهی اندرویدی اکلیپس ADT
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
پروژهی اندروید استودیو
تصویر نخست مربوط به یک پروژه اکلیپس است در حالی که تصویر دوم یک پروژه ساخته شده در اندروید استودیو را نشان میدهد. واضحترین تفاوت این دو، وجود فولدر و فایلهایی است که در نامگذاری آنها کلمه gradle بکار رفته. با بیلد سیستم گریدل در مباحث ابتدایی آشنا شدیم و میدانیم این بیلد سیستم در اندروید استودیو بکار رفته بنابراین پروژهای که حاوی فایلهای مرتبط با gradle باشد در محیط اندروید استودیو ساخته شده و در غیر اینصورت مربوط به اکلیپس است.
import کردن پروژهی اندروید استودیو
قصد دارم یک پروژه که قبلا در محیط اندروید استودیو ساخته شده را ایمپورت کنم. برای اینکار از سورس پروژه مبحث SharedPreferences که حدودا یک سال قبل از تهیه این مبحث آموزشی ساخته شده استفاده میکنم.
روی Open an existing Android Studio project کلیک کرده و فولدر Preference را انتخاب میکنم:
import کردن پروژهی اندروید استودیو
مشاهده میکنید آیکون اندروید استودیو در کنار نام فولدر مربوط به پروژه نمایش داده میشود یعنی ساختار این پروژه مربوط به اندروید استودیو است. در حالی که آیکون پروژه ExpandableListView یک فولدر معمولی ست.
با انتخاب پروژه و تایید آن، محیط اندروید استودیو باز میشود و پروژه در حال بیلد شدن است. در قسمت Build جزئیات مربوط به بیلد شدن پروژه لیست میشود.
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
دانلود شدن gradle-3.3-all.zip
در اولین مرحله اندروید استودیو در حال دانلود gradle-3.3-all.zip است که حجمی حدود ۸۰ مگابایت دارد. در صورتی که گریدل قبلا روی اندروید استودیوی من نصب شده و چندین پروژه ساختهام. علت در قدیمی بودن سورس پروژه است. از زمانی که این پروژه ساخته شده حدودا یک سال میگذرد و در طی این مدت چند نسخه جدیدتر از گریدل معرفی و در حال حاضر آخرین نسخه از آن روی سیستم من نصب شده.
اینجا دو انتخاب دارم. یا پروژه را ایمپورت کنم و اجازه دهم دانلود نسخه قدیمی گریدل به اتمام برسد و پروژه بر اساس همان نسخه بیلد شود یا قبل از ایمپورت کردن پروژه، ورژن گریدل را مطابق نسخه نصب شده در اندروید استودیو تغییر دهم.
به دو دلیل انتخاب منطقی گزینه دوم است. اول از این جهت که نسخه گریدل را به نسخه نهایی تغییر میدهم و عمل بیلد توسط جدیدترین نسخه انجام میشود و نه یک نسخه قدیمی. دوم اینکه نیاز به دانلود یک فایل چند ده مگابایتی را مرتفع میکند.
بنابراین فعلا پروژه را میبندم (close project) و فولدر پروژه را باز میکنم:
ساختار پروژهی اندروید استودیو
تذکر: این تغییرات را بعد از ایمپورت کردن پروژه و در محیط اندروید استودیو هم میتوان انجام داد اما من ترجیح میدهم قبل از اینکه سراغ اندروید استودیو بروم، ابتدا پروژه را اصلاح کنم تا بعد از ایمپورت نیاز به کنسل کردن دانلود گریدل و اصلاح پروژه نشوم. این کاملا به سلیقه فرد بستگی دارد.
فایل build.gradle را با یک ادیتور ساده مانند ++Notepad باز میکنم:
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
21
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
در خط ۶ پلاگین گریدل نسخه ۲٫۳٫۳ تعریف شده که نسخه قدیمی است. برای پیدا کردن نسخهای که در حال حاضر روی سیستم نصب شده، ساده ترین راه، باز کردن build.gradle پروژهای است که اخیرا ساختهایم:
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
در این پروژه گریدل نسخه ۳٫۲٫۱ تعریف شده بنابراین این عدد را کپی کرده و در build.gradle پروژه هدف جایگزین عدد ۲٫۳٫۳ میکنم.
همچنین در نسخه جدید اندروید استودیو در بلاک repositories در buildscript و allprojects یک ریپازیتوری (مخزن) جدید به نام google() اضافه شده. بنابراین این دو مورد را نیز اضافه میکنم تا هنگام ایمپورت شدن پروژه اروری به دلیل عدم دسترسی به مخزن گوگل بوجود نیاید.
در واقع من فایل build.gradle پروژه جدید را جایگزین build.gradle پروژه قدیمی کردم.
سپس فایل gradle-wrapper.properties در مسیر gradle>wrapper دو پروژه را مقایسه میکنم:
فایل gradle-wrapper.properties در پروژهی اندرویدی
فایل gradle-wrapper.properties در پروژهی اندرویدی
ورژن گریدل در پروژه جدید ۴٫۶ و در پروژه قدیمی ۳٫۳ است. پس این ورژن را اصلاح میکنم (به عبارتی نام فایل zip باید همنام با فایل موجود در پروژه فعلی باشد).
در مرحله بعد باید فایل build.gradle درون فولدر app پروژه را اصلاح کنم.
این همان build.gradle (Module:app) است. فایل را باز میکنم:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "26.0.0"
defaultConfig {
applicationId "ir.android_studio.preference"
minSdkVersion 10
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
}
جزئیات مربوط به این فایل را قبلا در مبحث ساخت فایل APK توضیح دادهام. مانند مرحله قبل، فایل build.gradle فولدر app پروژهای که جدیدا ساختهام را باز میکنم:
28
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.mahdi.testproject"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
در بلاک android پارامترهای compileSdkVersion و targetSdkVersion در دو فایل متفاوت هستند. اگر بخواهم پروژهای که قصد ایمپورت آن را دارم با آخرین API کامپایل شود و نسخه هدف (target) نیز جدیدترین API باشد، عدد هردو پارامتر را مطابق پروژه جدید اصلاح میکنم. همچنین پارامتر buildToolsVersion در نسخه ۳ اندروید استودیو حذف شده بنابراین آنرا هم از build.gradle حذف میکنم (حذف کردن یا نکردن این مورد مهم نیست و خود اندروید استودیو تغییرات را مدیریت میکند اما من ترجیح میدهم قبلا از ایمپورت، پروژه بیشترین هماهنگی را با ساختار جدید و مدنظرم داشته باشد).
minSdkVersion هم نیاز به توضیح ندارد.
در بلاک dependencies نیز تفاوتهایی بین دو پروژه به چشم میخورد. نسخهی کتابخانههای زیرمجموعه com.android.support مانند appcompat-v7 باید مطابق نسخهی compileSdkVersion باشد. من این پارامتر را از ۲۵ به ۲۸ تغییر دادم بنابراین نسخهی کتابخانههای support نیز باید اصلاح شود.
همچنین نسخه کتابخانه constraint-layout را اصلاح میکنم.
حتما با مشکلات تحریم آیپی ایران در اندروید استودیو دست و پنجه نرم کردهاید. برای رفع این محدودیت مطلب دور زدن تحریمهای نرم افزاری را مطالعه کنید. با وجود امکان رفع محدودیت در دانلود کتابخانهها، من ترجیح میدهم کتابخانههای اضافی که مطمئن هستم در پروژه نقشی ندارند و یا وجودشان برای من لازم نیست را حذف کنم. مانند junit و espresso-core.
آخرین تفاوت مربوط به کلمه compile است. در نسخه جدید اندروید استودیو کتابخانهها به جای compile شدن، implementation میشوند. البته عملکرد هردو یکی است فقط در جزئیات تفاوت دارد.
در نهایت فایل build.gradle (فولدر app) پروژه به اینصورت اصلاح شد:
25
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "ir.android_studio.preference"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
}
هردو فایل build.gradle و همچنین gradle-wrapper.properties پروژه را اصلاح کردم.
حالا توسط گزینه Open an existing Android Studio project پروژه را ایمپورت میکنم:
ایمپورت کردن پروژهی اندروید در اندروید استودیو
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
پروژه بدون کوچکترین اخطار و بدون اینکه نیاز به دانلود نسخهای از گریدل یا کتابخانهها باشد ایمپورت شد.
البته نباید انتظار داشت در پروژههای سنگین هم همین نتیجه را گرفت. در پروژههای واقعی و غیر آموزشی که عموما از کتابخانههای مختلف استفاده شده به احتمال زیاد نیاز به دانلود چند کتابخانه هست. با اینحال بخشی از ارورها رفع میشود.
باز هم تاکید میکنم اینکه قبل از ایمپورت پروژه را اصلاح کنیم یا نه کاملا به سلیقه و میل شخص توسعه دهنده بستگی دارد. میتوان پروژه را مستقیما ایمپورت کرد و تغییرات را در همان محیط انجام داد. ولی من ترجیح میدهم تغییرات را در محیطی خارج از محیط توسعه انجام دهم و بعد از ایمپورت کمتر با ارورها مواجه شوم.
نکته: همیشه نیازی به ایمپورت کردن پروژهها نیست. برخی سورسها (از جمله سورس پروژههای آموزشی موجود در سایت ما) معمولا صرفا یک یا دو اکتیویتی دارند که بجای ایمپورت آن میتوان یک پروژه جدید ساخت و محتوای اکتیویتیها و همچنین کتابخانههای بکار رفته را با محتوای پیش فرض پروژه (فایلهای xml و java) جایگذاری کرد.
نکته: ممکن است هیچگاه گذرتان به پروژههای اکلیپسی نخورد. با اینحال توصیه میکنم چند دقیقه وقت را به مطالعه قسمت بعد اختصاص دهید تا دلیل اصلاحاتی که قبل از ایمپورت پروژه انجام دادم برایتان ملموستر شود.
import کردن پروژهی اکلیپس (ADT) در اندروید استودیو
در اوایل سال ۲۰۱۹ که من این آموزش را تهیه میکنم کمتر پروژهای میتوان در اینترنت پیدا کرد که مربوط به اکلیپس باشد. با اینحال وظیفه خودم دانستم برای آن چند درصد باقیمانده هم وقت بگذارم. برای این قسمت من از یک پروژه تحت اکلیپس که چند سال قبل از یک وب سایت آموزشی انگلیسی زبان دانلود کرده بودم استفاده میکنم.
میخواهم یک پروژه که در محیط توسعه اکلیپس یا همان ADT ساخته شده را ایمپورت کنم:
ایمپورت کردن پروژهی اندروید اکلیپس ADT در اندروید استودیو
روی Import project کلیک کرده، فولدر مربوط به پروژه اکلیپس را انتخاب میکنم:
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
ایمپورت پروژهی اکلیپس
ایمپورت پروژهی اکلیپس
بر خلاف قسمت قبل، اندروید استودیو برای ایمپورت پروژههای اکلیپس یک مسیر جدید ایجاد میکند و پوشهی اصلی پروژه بدون تغییر باقی میماند. اندروید استودیو در حین ایمپورت، تغییرات لازم برای سازگاری پروژه قدیمی با محیط توسعه جدید را بطور خودکار انجام میدهد. مانند اضافه کردن فایلهای مربوط به بیلد سیستم گریدل و… .
آپشنهای import کردن پروژهی اکلیپس در اندروید استودیو
در این مرحله چند آپشن وجود دارد که همگی تیک خورده و ایده آل هم همین است. به عنوان مثال گزینه اول فایل محلی کتابخانهها را با نسخه آنلاین جایگزین میکند.
با شروع بیلد شدن پروژه یک ارور گرفتم:
ارور ریپازیتوری Google Maven
علت ارور این است که در پروژه فقط ریپازیتوری jcenter() تعریف شده. در ادامه گفته برای رفع مشکل باید Google Maven Repository() را به پروژه اضافه کرده و مجدد سینک کنید. با کلیک روی خط
Add Google Maven… این کار انجام میشود. یعنی مخزن google() به build.gradle اضافه میشود. دقیقا همان کاری که در قسمت قبل به طور دستی و قبل از ایمپورت پروژه در محیط Notepad++ انجام دادم!
گزینه Add را زدم و این ارور رفع شد. بلافاصله یک ارور دیگر ظاهر میشود:
ارور Failed to find target with hash string android 17
این ارور میگوید API 17 در SDK من موجود نیست. همینطور هم هست! من از آخرین API یعنی نسخه ۲۸ استفاده میکنم و نیازی به نسخه ۱۷ ندارم.
حالا دو انتخاب دارم. یا API 17 را نصب کنم یا عدد ۱۷ را به ۲۸ تغییر دهم. راه منطقی باز هم گزینه دوم است زیرا در حال حاضر توجیهی ندارد بخواهم پروژه را با یک API مربوط به چند سال گذشته بیلد کنم. بنابراین build.gradle فولدر app را باز میکنم:
تغییر compileSdkVersion و targetSdkVersion و minSdkVersion
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
compileSdkVersion و targetSdkVersion (و اگر نیاز بود minSdkVersion) را اصلاح و سپس Sync میکنم:
تغییر compileSdkVersion و targetSdkVersion و minSdkVersion
و اما ارور بعد!
ارور جایگزینی compile با implementation
ارور اول مربوط به جایگزینی compile با implementation است که در قسمت گذشته، قبل از ایمپورت انجام دادم.
در این پروژه کتابخانه support-v4 استفاده شده:
1
2
3
dependencies {
compile 'com.android.support:support-v4:18.0.0'
}
به اینصورت اصلاح و سینک میکنم:
1
2
3
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
dependencies {
implementation 'com.android.support:support-v4:18.0.0'
}
در ارور دوم این نکته بیان شده که targetSdk نباید در AndroidManifest.xml تعریف شود.
AndroidManifest.xml:
28
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="info.androidhive.expandablelistview"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="info.androidhive.expandablelistview.MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.Light.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
در گذشته این اطلاعات در مانیفست تعریف میشد که اکنون به build.gradle منتقل شده. بنابراین تگ زیر را از مانیفست حذف میکنم:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
بهتر است versionCode، versionName و package را هم از مانیفست حذف کنم. همه این موارد به گریدل منتقل شده.
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
فایل نهایی مانیفست:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="info.androidhive.expandablelistview.MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.Light.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
حالا با سینک کردن پروژه خطای بیلد نمیگیرم. تغییراتی که در طی پروسه تبدیل پروژه به یک پروژه سازگار با محیط توسعه جدید لحاظ شده در فایل import-summary.txt لیست شده است.
دانلود فایل این آموزش با فرمت PDF
تعداد صفحات : ۲۱
حجم : ۱٫۴ مگابایت
قیمت : رایگان
آموزش رایگان, آموزش های کاربردی
۲۴ دی ۱۳۹۷
مطلب قبلی « وب سرویس : بخش سوم : ساخت وب سرویس با PHP و MyQSL و ارتباط آن با Retrofit
مطلب بعدی کار با GridLayout در اندروید »
مطالب پیشنهادی برای شما
متریال دیزاین : بخش اول : آشنایی با مفهوم متریال دیزاین در اندروید
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
متریال دیزاین : بخش اول : آشنایی با مفهوم متریال دیزاین در اندروید
آموزش کار با ListView در اندروید
آموزش کار با ListView در اندروید
صفحه بندی TableLayout
صفحه بندی TableLayout
متریال دیزاین : بخش دهم : کار با Bottom Sheet
متریال دیزاین : بخش دهم : کار با Bottom Sheet
اجرا و دیباگ پروژه اندروید بر روی دیوایس واقعی
اجرا و دیباگ پروژه اندروید بر روی دیوایس واقعی
متریال دیزاین : بخش یازدهم : کار با Bottom Navigation
متریال دیزاین : بخش یازدهم : کار با Bottom Navigation
نمایش اعداد فارسی در View های اندروید
نمایش اعداد فارسی در View های اندروید
متریال دیزاین : بخش دوم : استایل (Style) و تم (Theme) در اندروید
متریال دیزاین : بخش دوم : استایل (Style) و تم (Theme) در اندروید
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com