Persian Software Engineers – Telegram
Persian Software Engineers
1.9K subscribers
353 photos
14 videos
84 files
303 links
تجربیات شخصی یک مهندس نرم افزار در آلمان‌.
کانال یوتیوب:
https://www.youtube.com/@Dev_Germany
ادمین کانال :
@mohamad_germany
Download Telegram
قسمت پایین همانجا هم هست: Terget device
این یعنی اینکه چطوری اصلا برنامتونو خروجیش را ببینید. وقتی برنامه وب یا ویندوزی مینویسید خب خروجی را در خوده کامپیوتر میبینید. اما اینجا دارید برای سیستم عامل دیگری برنامه مینویسید. برای اجرا شدن یا باید داخل خود گوشی ببینید خروجی را یا از یک شبیه ساز موبایل استفاده کنید. شبیه سازهای زیادی هست اما خودintellij شبیه ساز داره و فعلا از همون استفاده میکنیم. پس فعلا فقط بزنید Emulator.
حالا next را بزنید و برید برای ساخت پروژه. کمی طول می کشد. صبر کنید.
حال سراغ کلیات یک پروژه اندروید خواهیم رفت، سمت چپ را نگاه کنید. در بالا اسم پروژتان و یک منوی کشویی هست. آن را باز کنید. دوتا پوشه ی مهم اینجا هست. اولیش هست res. فایلهای مربوط به صفحات نمایش نرم افزار در اینجا قرار میگیره. آن را باز کنید. داخل پوشه layout برید. و main.xml را باز کنید. این اولین صفحه نرم افزار شما هست که اتوماتیک ساخته شده برای شما.
خب حالا داخل این صفحه پایین رو ببینید دوتا انتخاب دارید:
text & design
شما میتوانید برنامه های اندرویدتان را هم با کد، ظاهرشان را بسازید هم با دیزاینه خوده این محیط برنامه نویسی که صد درصد کد بهتر و دقیق تر است که در آینده متوجه می شوید.
2)اکتیویتی ها
میرسیم به بحث Activity ها.
از منوی سمت چپ پوشه ی src رو باز کنید و MyActivity رو از داخل com.example.. ببینید. بازش کنید.
میبینید که کلاسی برای شما باز میشود به نام MyActivity که از کلاس دیگری به نام Activity ارث برده.
فقط توجه کنید در این جلسه میخواهیم فقط با مفاهیم آشنایی کلی پیدا کنیم وگرنه بر روی هرکدام ازین مفاهیم بحث های زیادی خواهیم داشت و این مفاهیم را دقیق تر بهش میپردازم اما تا الان درین حد بدونید که extend در جاوا به معنای ارث بردن است
یک متد داخل کلاس هست به نام oncreate که ورودی دارد به نام bundle.
فعلا تا اینجا این را بدانید که هر صفحه ای که در نرم افزارتان استفاده میکنید باید یک چنین کلاسی برایش ساخته بشه.
حالا یه سوال پیش میاد. اصلا bundle چی هست؟!
خب ببینید به هر دلیلی ممکن هست که نرم افزار شما توسط سیستم اندروید kill شده و دوباره ساخته شود.
حتی مثلا فرض کنید شما در حالی که دارید از یک نرم افزار استفاده میکنید صفحه گوشی را بچرخوانید. در همین کار هم، صفحه ای از برنامه که جلوی شما باز هست restart میشود تا دوباره با oriantation جدید برایتان باز شود.
خب درحالت عادی واضح هست که هر اطلاعاتی که وارد کرده باشید از بین میرود وقتی صفحه ریست شود. اما bundle این کمک رو میکنه به شما که اطلاعات رو نگه دارید. وقتی که اولین بار یک کلاس باز میشود (توجه کنید کلاس مرتبط با صفحه ای از برنامتان هست) مقدار bundle برابر تهی یا null هست. اما وقتی صفحه برنامتان به هر دلیلی مثل چرخاندن گوشی، خارج شد، مقادیر و تغییراتی که دادید داخل bundle میرود و ذخیره میشود. حال دوباره که صفحه باز شود مقادیر از bundle خوانده شده و برای شما جایگزین میشود.
حالا بریم داخل تابع oncreate. این متد موقع ساخت کلاس صدا زده میشود. متدهای مشابهی هم برای کلاس ها هست که در آینده خواهیم پرداخت.
داخل متد را نگاه کنید.
super.onCreate(savedInstanceState);
این دقیقا همان توضیحی هست که بالا به شما در مورد bundle دادم.
همانطوری که گفتم هر صفحه برنامه اندروید یک کلاس دارد. الان این کلاسی که میبینید باید مشخص کنیم که به کدام صفحه متصل است. اینکار هم با این انجام شده:
setContentView(R.layout.main);

با کلاس R که یک کلاس مهم و پایه ای در اندروید هست آشنا میشید. تا اینجا بدانید که R فعلا برای ما برای صدا زدن صفحات و یا ابزارهایی که داخل صفحه گذاشتید کاربرد داره.
3)کار با Layout ها
حالا برمیگردیم به پوشه res و بعد ازآن layout و سپس main.xml.
وقتی بازش کنید یک صفحه گوشی به شما نشان داده میشود.
از بالا میتوانید سایز گوشی و جهت چرخش آن را انتخاب کنید.
یک چیزی که در دیزاین نرم افزارهای اندرویدی خیلی مهم است این هست که صفحه برنامتان responsive باشد! این اصطلاح رو در وب زیاد شنیدید اما برای گوشی هم مهم هست. یعنی چی؟ شما ممکن هست گوشی تان 2 و نیم اینچ باشد. مال من 4 اینچ یا یکی تبلت 10 اینچی داشته باشد. کنترل کردن اینکه مثلا ابزارهایی که در صفحه برنامه میذاریم در هرنوع گوشی درست نشان داده بشود خیلی مهم هست. همانطور که در عکس میبینید میتوانید دیزاینتان را برای صفحات مختلف تست کنید.
در کنار این ممکن هست کاربر صفحه را گوشی را بچرخاند. اگه شما این را در نظر نگرفته باشید دیزاینتان در گردش گوشی خراب میشود که حتما تجربه اش را داشته اید که برنامه ای موقع استفاده و چرخاندن صفحه گوشی بهم بریزد. آیکون چرخاندن گوشی را بزنید از بالا و تست کنید.
حال از منوی سمت چپ یک Button یا دکمه بیندازید روی صفحه. این همان دکمه ای هست که توی برنامه ها تا به حال استفاده کردید و دیدید.
حال از قسمت پایین که گفتم اگر text رو برنید میبینید چنین کدی نوشته شده:


<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button”/>
اینها تگ هستند. ساختار صفحات نرم افزار بعنوان xml هستند. برای اینکه با کد بتوانید صفحه بسازید باید با این تگ ها اشنا بشید. اگر با طراحی وب سایت و html اشنایی دارید خیلی کارتان راحت تر هم میشود. حالا تگ چطور هست و چی هست؟
همانطور که میبینید یک تگ داخل علامت </> قرار میگیرد. ابتدای تگ اسمش را میگید مثلا اینجا هست Button.
<Button/>
سخت نیست امتحان
سخت نیست امتحان کنید و خودتان بنویسید و یک دکمه بسازید. حالا بعد از اسمش باید صفت هایش را بگوییم. عرضش چقدر هست طولش چقدر هست و.....
برای اینها هم لازم نیست کامل بنویسید android:layout_width! خود اینتلیجی برای شما کامل میکند.
مثلا کافی هست بنویسید layout و یک لیست برای شما میاد که میتوانید layoutwidth را انتخاب کنید. به این امکان میگوییم:
auto complete
که به برنامه نویس کمک بزرگی میکند.
حالا تست کنید. با زدن width و height مقدار هاشو بصورت زیر بدید:
android:layout_width="140px"
android:layout_height="140px"
android:text="ok"
توجه کنید که مقدارها برای سایز ابزار در اندروید با واحد پیکسل هست که با px نشان میدهیم که البته با واحدهای دیگر آشنا خواهید شد در آینده.
حالا باید چنین چیزی رو ببینید:
برای این جلسه کافی هست. از جلسات بعد از برنامه هایمان خروجی هم خواهیم گرفت و کم کم با تمام موارد بیان شده در این جلسه خیلی اصولی تر کار خواهیم کرد.

خسته نباشید دوستان🌸