طراحی رابط کاربری اندروید (UI)

برنامه نویس و توسعه دهنده اندروید لازم است پس از آشنایی اولیه با محیط اندروید استودیو، با رابط کاربری اندروید و نحوه طراحی آن آشنا شود. UI یا همان رابط کاربری واسط بین کاربر و برنامه می‌باشد. واضح است که اولین و مهمترین آیتم در جذب مخاطب و گرفتن نتیجه مناسب از انتشار اپلیکیشن، ساخت رابط کاربری اصولی، استاندارد و مدرن برای صفحات مختلف برنامه است. در این جلسه با کلیت رابط کاربری و انواع Layout ها، ویجت‌ها، واحدهای تعیین اندازه و… آشنا خواهیم شد.

آنچه در این آموزش می‌خوانید:

  • معرفی کلی رابط کاربری (User Interface)
  • معرفی Activity در اندروید
  • معرفی زبان نشانه گذاری XML
  • شناخت Layout ها (ViewGroup) و معرفی LinearLayout و RelativeLayout
  • معرفی Widget (ویجت) ها مانند Button ، ImageView، TextView و سایر عناصر (View)
  • آشنایی با ویژگی (Property) های مختلف مانند padding ، margin ، width ، height ، match_parent ، wrap_content و …
  • معرفی واحدهای تعیین اندازه (dp ، sp ، px)
  • تعریف ویژگی ها توسط id برای هر عنصر
  • تعیین آیکون (icon) اپلیکیشن
  • معرفی ویژگی orientation در چینش layout ها و آشنایی با دو نوع چینش horizontal (افقی) و vertical (عمودی)

 

این جلسه در قالب PDF و در ۵۱ صفحه تهیه شده که در ادامه چند صفحه‌ ابتدایی را مشاهده می‌کنید:

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

طراحی رابط کاربری اندروید

چیزی که کاربر مشاهده می کند یک صفحه نمایش اعداد و چند دکمه شامل اعداد ۱ تا ۹ و دکمه های عملگر مانند جمع و تفریق و ضرب و … می باشد. اما پشت صحنه مربوط به بخش عملکردی برنامه است که ورودی های کاربر (شامل اعداد و عملگرهای ریاضی) را دریافت کرده، پردازش موردنظر روی ورودی اعمال شده و در نهایت جواب بر روی صفحه نمایش ماشین حساب در کسری از ثانیه ظاهر می گردد.
توجه داشته باشید در اندروید، هر صفحه قابل نمایش برای کاربر یک Activity نامیده می شود.به عنوان مثال اگر بخواهیم یک اپلیکیشن بسازیم که شامل سه صفحه “صفحه اصلی” ، “صفحه آشنایی با شرکت” و “صفحه ارسال پیام به پشتیبانی شرکت” باشد، راه ساده و ابتدایی این است که سه اکتیویتی مجزا ایجاد شود که هر اکتیویتی نیز شامل دو فایل می شود. یک فایل با پسوند xml برای تعامل با کاربر (نمایش متن و تصویر و دکمه ها و …) و یک فایل با پسوند java برای کدهای عملکردی مربوط به آن صفحه که به زبان جاوا نوشته می شود.وقتی در اندروید استودیو یک پروژه جدید تعریف می کنید، به صورت پیش فرض یک اکتیویتی نیز ساخته می شود که مربوط به صفحه اصلی اپلیکیشن شماست و از دو فایل activity_main.xml (در مسیر res/layout) و MainActivity.java (در مسیر java/YourPackageName) تشکیل شده است.
در این فصل به آموزش بخش اول یعنی رابط کاربری می پردازیم.

نکته: یک ViewGroup جدید با نام ConstraintLayout از طرف گوگل معرفی شده که به دلیل انعطاف بالای آن و سادگی ساخت رابط های کاربری به نسبت ViewGroup های قبلی مانند LinearLayout و RelativeLayout لازم است حتما بعد از مطالعه جلسه فعلی، جلسه آموزش طراحی صفحات با ConstraintLayout را نیز مطالعه فرمایید.

XML

اگر خاطرتان باشد قبلا هم اشاره کردیم که پیاده سازی رابط کاربری در اندروید به عهده XML می باشد. XML مخفف عبارت eXtensible Markup Language به معنای زبان نشانه گذاری قابل گسترش می باشد.این زبان تا حدودی شبیه به زبان HTML بوده که از تعدادی برچسب (tag) از پیش تعریف شده تشکیل شده است، با این تفاوت که در XML برچسب ها به دلخواه برنامه نویس نامگذاری شده و محدودیتی وجود ندارد. اگر قبلا در حوزه طراحی وب (HTML و CSS) مقداری کار کرده و یا حتی یک آشنایی مقدماتی نسبت به این موارد داشته باشید، این مبحث را خیلی سریع تر به پایان خواهید رساند.
در توسعه اپلیکیشن های اندروید از XML برای تعریف و پیاده سازی عناصر رابط کاربری (دکمه ها، تصاویر، فیلدهای متنی، چک باکس ها، نحوه چینش عناصر و …) استفاده می شود.
تگ <name>Seyed Mehdi</name> را می توان ساده ترین مثال از زبان XML نامید.ما تگ دلخواه با عنوان name تعریف کردیم و نام یک شخص را داخل آن قرار داده ایم.باز هم تاکید می کنیم که قاعده و قانونی برای عنوان تگ ها وجود ندارد. به عنوان مثال برای مورد بالا می توانستیم به صورت <esm>Seyed Mehdi</esm> نیز تگ را تعریف کنیم.
البته در اندروید تگ هایی مانند Button (برای دکمه ها) و یا ImageView (برای نمایش تصاویر) مشخص و به صورت استاندارد از سوی گوگل معرفی شده است.
هر تگ به صورت باز و بسته تعریف می شود. در مثال قبل، تگ نمایش نام شخص با <name> باز و با </name> بسته شده است. تفاوت تگ بسته با تگ باز در / می باشد. ضمن اینکه رعایت حروف کوچک و بزرگ در بخش های ابتدا و انتهای تگ الزامی است، به اینصورت که <name>Seyed Mehdi</name> با <Name>Seyed Mehdi</Name> متفاوت خواهد بود و <name>Seyed Mehdi</Name> اشتباه است.

Layout

Layout به معنی طرح و به عنوان لایه ای برای نمایش عناصر و View ها (شامل ویجت (Widget) ، فیلدهای متنی و …) به کار می رود.ماشین حسابی که در ابتدای فصل مثال زدیم، یک Layout می باشد که اجزاء موردنیاز جهت پیاده سازی ماشین حساب (دکمه ها، صفحه نمایش خروجی و …) داخل آن قرار گرفته اند.
برای مشاهده انواع Layout های اندروید، یک پروژه جدید ایجاد می کنیم.از آنجایی که Layout مربوط به بخش نمایشی اپلیکیشن مربوط می شود، در فولدر res به دنبال فولدر layout می گردیم.

activity_main.xml

همانطور که در تصویر مشاهده می کنید در پوشه layout فایل activity_main.xml به صورت پیش فرض ایجاد شده که مربوط به صفحه اصلی اپلیکیشن ما می باشد.فایل را باز می کنیم.

فولدر layout

مشاهده می کنید که در خط شماره ۱ ، xml و اِنکدینگ آن تعریف شده است.این خط برای همه اکتیویتی ها ثابت است و تغییری نمی کند. انکدینگ utf-8 برای پشتیبانی از کاراکترهای غیر ASCII مانند زبان فارسی می باشد.به صورت پیش فرض یک Layout از نوع RelativeLayout و یک ویجت TextView برای نمایش متن Hello World! استفاده شده. از خط ۲ تا ۱۰ نیز به صورت پیش فرض در هنگام ایجاد layout جدید اضافه می شود. خطوط ۴ و ۵ عرض و ارتفاع layout را تعیین می کند که هر دو مقدار match_parent دارند به این معنی که نسبت به والد خود فاصله ای ندارند (به عبارتی از هر چهار طرف به ابتدای صفحه نمایش چسبیده هستند و تمام فضای موجود را دربر گرفته).
اگر مقداری با طراحی وب آشنا باشید، می دانید که از ویژگی (property) های width (عرض) ، height (ارتفاع) ، padding (فاصله از درون) و margin (فاصله از بیرون) به تعداد زیاد استفاده می شود.
خطوط ۶ تا ۹ برای تعیین فاصله از درون صفحه به صورت پیش فرض نوشته شده اند.به خاطر سپردن کارایی هر ویژگی ساده است زیرا با ترجمه لغوی هر کدام می توانید به کاربر آن پی ببرید. به عنوان مثال PaddingBottom به معنی فاصله از پایین و PaddingRight به معنای فاصله از سمت راست می باشد. وقتی ما برای layout تعریف کرده ایم که padding از هر سمت ۱۶dp باشد به این معنی است که عناصر و view هایی که داخل layout قرار بگیرند (عناصر فرزند)، از چهار طرف آن به اندازه ۱۶dp فاصله خواهند داشت (به عبارتی همه عناصر حداقل ۱۶dp از حاشیه صفحه نمایش فاصله خواهند داشت). در ادامه با ویژگی ها به صورت مفصل آشنا خواهیم شد.

جهت مطالعه ادامه آموزش، فایل PDF را دانلود نمائید

با توجه به اینکه آموزش‌های پایه با قیمت پایین در اختیار کاربر قرار گرفته و درآمد حاصل صرف تامین هزینه‌های وب سایت و تهیه آموزش‌های آتی می‌شود، به اشتراک گذاری این فایل با دیگران خلاف اخلاق است.

دانلود نسخه کامل این آموزش
تعداد صفحات : ۵۱
حجم : ۳ مگابایت
قیمت : ۹ هزار تومان
توجه: صرفا در صورتی از درگاه پشتیبان استفاده کنید که قادر به پرداخت از طریق سبد دانلود نباشید.
افزودن به سبد دانلود درگاه پشتیبان
برچسب ها :
این مطلب چقدر برایتان مفید بود؟ لطفا امتیاز دهید
دوره آموزش برنامه نویسی اندروید
دوره آموزش برنامه نویسی اندروید

آموزش‌ها در دو دسته «پایه» و «تکمیلی» منتشر می‌شوند.
آموزش‌های پایه شامل مباحث اصلی و آموزش‌های تکمیلی مطالبی است که می‌بایست در کنار مطالب اصلی از آنها استفاده کنیم.
شما با دریافت این دوره به تمامی آموزش‌های غیر رایگان و رایگان موجود در وب سایت دسترسی دارید که تخفیفی برای آموزش‌های غیر رایگان نیز درنظر گرفته شده. این پکیج به دو صورت دانلودی و ارسال پستی ارائه می‌گردد.
با خرید این دوره، به تمامی آموزش‌های غیر رایگانی که در آینده منتشر می‌شود نیز به صورت رایگان دسترسی خواهید داشت!

یک دیدگاه بنویسید

پرسش‌های زیر تایید و پاسخ داده نـــخواهند شد:
۱: جزء موارد مطرح شده در صفحات مشکلات و پرسش‌های رایج و بروزرسانی‌های محتوای آموزشی باشد
۲: سوال قبلا توسط کاربران در دیدگاه‌ها مطرح و پاسخ داده شده باشد
۳: پرسش خارج از مبحث آموزشی موجود در این صفحه باشد

  • فرزاد عسکری گفت:

    سلام/نمی دونم چرا وقتی یه پروژه جدید باز می کنم در قسمت (کد) (شماره ۲) ینی بعد از کد که ثابت هست واسه من نوشته <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    در حالی که برای شما نوشته <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" چرا ایجوریه برا من و غیر از این در قسمت component Tree واسه من نوشته dynamic و در زیر مجموعه نوشته ListView در حالی برا شما اول نوشته RelativeLayout و در زیر مجموعه نوشته ListView و رو به روی همین داینامیک و لیست ویو علامت تعجب هست به نشانه اخطار، و متن اخطار داینامیک ایجوریه AdapterView cannot have children in XML لطفا کمکم کنید. مشکل کجاست.

    • سیدمهدی مطهری گفت:

      زمانی که این آموزش تهیه شده بود ویو گروپ RelativeLayout پیش فرض اندروید استودیو بود و اخیرا ConstraintLayout شده.
      بخش سوم فصل پنجم مربوط به همین مورد هست. لطفا مطالعه بفرمایید:
      https://android-studio.ir/ui
      ضمن اینکه مهم نیست ویو گروپ پیش فرض چی باشه. برای یادگیری میتونید ConstraintLayout رو به RelativeLayout تغییر بدید و آموزش رو دنبال کنید.
      اگر هم در مورد تبدیل سوال دارید در اینجا توضیح داده شده:
      https://android-studio.ir/problems-and-questions

  • فرزاد گفت:

    سلام مهندس, در بخش اول فصل ۵ , چند صفحه آخر در مورد component tree سوال داشتم که properties رو پبدا نمی کنم که بخام background انتخاب کنم موضوع دادن id.لطفا راهنمایی کنید. و در مورد بروز رسانی های مطالب خواسته ای داشتم که وقتی یه فصل جدید به ۱۴ فصل موجود در حال حاضر اضافه میشه شما میاد فصل جدید رو در فایل زیپ فصل های قبل میزارید که این کار باعث میشه ما کل پروژه رو از اول دانلود کنید حتی اون فصل های قبلی که قبلا دانلود کردیم,لطفا یه طرحی بدید که بشه جدا گونه دانلود کرد. ممنون میشم اگه به سوالم در مورد id پاسخ بدید.

    • سیدمهدی مطهری گفت:

      در مورد سوال اول: وقتی روی یک view در component tree کلیک می کنید ویژگی‌هاش در سمت راست اندروید استودیو نمایش داده میشه. اگر براتون فعال نیست روی گزینه Attributes که به صورت عمودی نوشته شده کلیک کنید تا لیستش باز بشه.
      در مورد بروزرسانی ها هم فعلا ایده بهتری به ذهنم نمیرسه. اگه بخوام آموزشهای دوره رو یکی یکی بذارم برای دانلود خب باز برای کسی که بخواد همه مطالب رو دانلود کنه اذیت کنندس و باید ۷۰ فایل رو یکی یکی دانلود کنه

  • باقر گفت:

    سلام و عرض ادب خدمت شما
    چگونه از افغانستان خرید کنیم؟

  • امین قاضی مرادی گفت:

    سلام استاد
    آموزش constraint layout کی قرار داده میشه ؟

  • amin گفت:

    سلام
    پکیج آموزشی اندروید شما با چه ورژن اندروید استودیو ضبط شده؟
    میخام بدونم به درد الان میخوره یا نه چون اندروید استودیو ورژن ۴٫۱ اومده کلی تغییرات داره من از سایت های دیگه اموزش خریدم ولی متاسفانه همشون قدیمی و برای ۳ سال پیش بودن و مفید نبودن

    • سیدمهدی مطهری گفت:

      آموزشها به مرور زمان تهیه میشن و تا حد امکان مواردی که نیاز به بروزرسانی هست، آموزش بروز میشه یا بطور کامل از نو و بر اساس آخرین نسخه اندروید استودیو بازنویسی میشه. برای مثال مبحث نصب و راه اندازی اندروید استودیو (فصل دوم) در طول این ۵ سال چند بار از نو نوشته شده که آخرین بروزرسانیش مربوط به ۲ هفته گذشته و بر اساس اندروید استودیو ۴٫۱٫۱ هست.

  • مهران گفت:

    استاد اگه امکانش هست راجع بهconstraint layout هم آموزش بزارید چون رو نسخه جدید اندروید استودیو حالت دیفالتش رو این لایوت هست و میگن نسبت به linear و relative کارایی بیشتری داره ولی خب تو آموزشا نبودش.
    تشکر بابت سایت و پکیج خوبتون

  • مهران کریمی تبار گفت:

    سلام استاد وقتتون بخیر
    میبخشید من طبق آموزشا بعد از توضیح RelativeLayout وقتی میرین سراغ LinearLaylout و یه فایل xml توی پوشه Layout ایجاد میشه و خب کدای این layout جدید میاد همه چی اوکیه ولی زیر تگ بسته شدن linearlaylot یه خط قرمز میزاره و وقتی میرم روش مینویسه top level element is not complete و اینکه هرچی مثلا textview و imageview میخوام اضافه کنم مثل قبل کدارو اضافه نمیکنه تو این layout جدید.

    • سیدمهدی مطهری گفت:

      قبل اینکه اینجا یا جای دیگه ای منتظر جواب بمونید کافیه ارور رو گوگل کنید. مثلا:
      android studio layout top level element is not complete error
      اولین لینک این هست که احتمال زیاد جواب شماست:
      https://stackoverflow.com/q/26099856

  • محمد گفت:

    با سلام
    من خریدم آموزش و ولی دانلود نمیشه؟؟؟
    نه از لینکی که بعد خرید بم داد نه از ایمیل چیکار کنم ؟

  • دهقانی گفت:

    سلام
    برای هر ویجتی که می گذارم کلی اخطار میده. مثلا برای هر اسم فارسی باتن ها می گه بهتره از @string استفاده کنید و..
    نیازی هست بهشون اعتنا کنیم و تغییرات رو اعمال کنیم؟

  • pile گفت:

    سلام استاد عزیز
    الحمدالله نصب شد، برنامه اول رو طبق آموزش شما ساختم و جواب داد.
    اما در برنامه دوم( listview ساده) جواب نمیده و این Error رو روی دستگاه میده. چندین بار امتحان کردم. اما نشد!!!

    http://s6.picofile.com/file/8390326142/1.png

  • علی حسامی گفت:

    باسلام
    ببخشید ولی تمام بخش های داخل pdf توضیح دادید من وارد برنامه میکنم هیچ اتفاقی نمیافته و حتی الان صفحه اندروید استودیو پر از ارور شده کلا مشکله همه جا مشکله

    • سیدمهدی مطهری گفت:

      خب ارور ها رو ترجمه بکنید ببینید ایراد کار چیه. اگه متوجه نشدید ارور رو اینجا بذارید کمک کنم

      • علی حسامی گفت:

        نه منظور من اینه که کدی که داخل pdf نوشته من عین همونو وارد میکنم به عنوان مثال کدandroid:layout_marginTop=”50dp”
        داخل pdf وارد شده و فاصله هم داده اما من که وارد میکنم هیچ تغییری نمیکنه و میگه باید تثبیت شه وگرنه به نقطه (۰،۰)میپره وا گوشه تکون نمیخورده وقتی هم که از قسمت گرافیکی جا به جا میکنمش یه کد هایی میزنه که با پیشوند tool شروع میشه و یه x y براش تعریف میکنه

        • سیدمهدی مطهری گفت:

          https://codeshare.io/new
          سورس layout رو اینجا کپی کنید و لینکش رو بدید بررسی کنم

          • علی حسامی گفت:

            خب من بعد از ساختن پروژه با این کد رو به رو ام https://codeshare.io/GkRPEO
            که با کد شما داخل pdf فرق داره من به قسمت بالایی دست نزدم چون هیچ چیزی در بارهی این زبان نمیدوونم و طبق اموزش شما پیش رفتم و به این رسیدم https://codeshare.io/5wRA7p
            که باعث ایجاد ارور روی تگ textView یا هر تگ دیگه از که میساختم میشد
            ارور : http://s6.picofile.com/file/8390122692/Untitled.png
            و حتی داخل بخش پری ویو هم عبارت جابه جا نشد بعد از همه اینا از بخش دیزاین عبارتو جابه جا کردم و کدی که خود اندروید استودیو ساخت اینگونه بود https://codeshare.io/5DyzAl
            http://s7.picofile.com/file/8390122734/Untitled1.png
            در ظمن سیستمم خیلی قووی نیست و کلی طول کشید تا فقط همینارو کپی کردم همینجوری خیلی اعصاب خوردی داره لطفا اینو یه کاریش کنین راه بیوفته دیگه مرسی.

          • سیدمهدی مطهری گفت:

            بزرگوار layout شما از جنس ConstraintLayout هست در صورتی که در آموزش متفاوته. لطفا دقت کنید

          • علی حسامی گفت:

            خوب نمیشه این constrant layout رو توضیح بدین الان این چی هست اون reality layout چیه کلرشون چیه و ……

          • سیدمهدی مطهری گفت:

            ان شا الله به زودی آموزش ConstraintLayout آماده میشه

  • طاها مجیدی گفت:

    سلام
    در مورد constraint layout توضیح نمی‌دید؟
    چون دیگه الان constraint layout لایوت پیشفرض اندروید استودیو هست و فکر کنم استاندارد تره.

  • امیر اوصانلوداستانی گفت:

    http://s3.picofile.com/file/8370872868/Untitled.png
    چرا algin یا margin کار نمیکنه

  • الهام گفت:

    من این آموزش رو خریدم و فوق العاده عالی بود. لازم دونستم بیام تشکر کنم.
    یه مشکل با اندروید استودیو دارم اونم اینکه لیست پیشنهادات دستوریش درست و کامل نمیاد. مثلا وقتی بعد از android: میزنم la هیچی از layout ها برام نمیاره. اگه راهکار بدین ممنون میشم.

  • fateme گفت:

    سلام وقت بخیر
    اگر مدت ها پیش این اموزش رو خریداری کرده باشم
    آیا امکان دانلود دوباره اش هست؟
    چون به لینکی که برای ایمیلم فرستاده شده رفتم نوشته منقضی شده

  • سلیم خدادادی گفت:

    واقعا ممنون مثل همیشه عالی

  • محمد گفت:

    سلام دوست عزیز،
    من خارج از کشور هستم نمیتونم پرداخت اینترنتی به ایران داشته باشم. چه جوری میتونم به لینک ها دسترسی پیدا کنم؟
    ممنون

  • navid sh گفت:

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

  • sajjad safabakhsh گفت:

    عزیز دلم خواهش میکنم کمکم کن حدود ۲ هفتست که درگیرم تو قسمت preview گیر کردم میشه به این شماره من پیام بدید لطفا خواهش میکنم کمکم کنین مشکلم حل شه

    ۰۹۱۶۵۸۴۴۵۲۶

  • sajjad safabakhsh گفت:

    سلام خسته نباشید
    ببینید من اندروید استدیو رو همونطور که گفتین نصب کردم
    تو قسمت این پروژه هلو ورلد
    من مد هارو مینویسم اما قسمت preview
    هیچی نمیاد بالا من نمیدونم واقعا گیر افتادم میشه کمکم کنین و دقیق راهنماییم کنین
    چون یه دوستی پرسیده بود اما گفته بودین apl رو عوض کن من کجا باید عوض کنم

  • ابراهیم گفت:

    سلام . چرا من وقتی componenet ها drop می کنم تو صفحهndesigنمایشه داده نمی شوند ؟

  • فری گفت:

    سلام ببخشید من یه سوال دارم چرا وقتی پروژه رو میسازم میگه cannot resolve symbol Rیعنی اوابل ک پروژه میساختم این جوری نبودا
    الان این جوریه

    • سید مهدی مطهری (مدیر) گفت:

      پروژتون بیلد نشده. ببینید علتش چیه و چه اروری گرفتید. گاهی اوقات هم دلیل خاصی نداره و ممکنه چند لحظه بعد بیلد شدن این پیغام هم حذف بشه یا یه Rebuild کنید حل بشه

  • سعید گفت:

    سلام وقت بخیر
    عذر میخوام بخش نمایش گرافیکی (ویژوال) هم در حالت text و هم در حالت design غیر فعاله و فقط یک صفحه سفید هست و اصلا تغییرات رو نشون نمیده و برای دیدن تغییرات مجبورم هر بار پروژه رو با جنی موشن ران کنم که خیلی طول میکشه
    http://s9.picofile.com/file/8334046100/Capture.PNG
    اگر جوابتون اینه که یک virtual(شبیه ساز اندروید استودیو) بسازم برام ارور فعال نبودن vt-x or SVM میده در صورتی که سی پی یو من AMDهست و قابلیت SVM رو ساپورت میکنه و فعال هست هم از منو بایوس چک کردم و هم از طریق نرم افزار
    ممنونم

  • سجاد نصیری گفت:

    آموزشتون عالیه ممنونم

  • sajjad safabakhsh گفت:

    اقا من خریدم اما فایل برام ناشناختس چیکار کنم لطفا بگین

    • سید مهدی مطهری (مدیر) گفت:

      احتمالا فایل ناقص دانلود شده. لطفا مجدد دانلود کنید (آرشیو دانلودها در حساب کاربری)
      پسوند فایل zip هست. بازم مشکلی بود از صفحه تماس با ما اطلاع بدید

  • hossein hugo گفت:

    من هیچ چیز از اندروید سر در نمیارم

    ولی مراحل قبلی نصب رو طبق اموزش خوب سایتتون رفتم

    برای شروع بایداز این اموزش شروع کنم ؟
    طراحی رابط کاربری رو به صورت گرافیکی بلدم
    آیا این پست به درد بنده میخوره یا اصلا میتونم اندروید رو دست و پا شکسته یاد بگیرم ؟

  • mansour emami گفت:

    سلام . خرید کردم . ولی لینک دانلود نداد … ۵تومنم رفت؟؟ 🙂

    • سید مهدی مطهری (مدیر) گفت:

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

  • محمد خلج گفت:

    سلام
    من بعد از طراحی پروژه هایی این بخش نمیتونم اجراشون کنم.
    بعد از بیلد رو گوشی پیغام میاد unfortunately, myapp has stopped.
    از جنی موشن استفاده میکنم و روی اندروید ۵ و ۶ هم همینطوره
    پروژه های این بخش قابلیت run کردن دارن؟

    • سید مهدی مطهری (مدیر) گفت:

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

  • محمد رضا گفت:

    نحوه آموزش تون عالیه. سپاسگزارم.

  • ali mirsalehi گفت:

    ادمین عزیز من کد
    android:layout_alignparentbottom=”true”
    کردم خطا داد که این چیزه وجود نداره و اشتباهه 😐
    ورژن برنامم ۲٫۳٫۳
    ورژن jdk ام ۹
    تموم جزوه هاتونو دانلود کردم ولی یه سری تفاوتا هست بینشون متاسفانه
    http://s9.picofile.com/file/8307688376/Capture.PNG

  • محمدحسین گفت:

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

  • amirmasoud گفت:

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

  • علی گفت:

    وقتی که موبایل زبان فارسی باشد همه view ها در برنامه به سمت راست میره! برای اینکه در موبایل هایی که زبان فارسی هستند این مشکل پیش نیاد و مث حالتی باشه که موبایل زبان انگلیسی هست چه کدی باید بزنیم؟