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
اندفعه میخواهیم بیشتر با اینجا آشنا بشیوم. بطور اتوماتیک یک TextView روی صفحه موبایل ساخته و داخلش نوشته .Hello World
پس فهمیدیم ابزاری که در آن متن مینویسیم اسمش هست TextView
حالا چطوره توی گوشیم تست کنیم. برای اینکار از نوار بالا سمت راست یک علامت Run شبیه آیکون Play هست. سبز رنگ. اون رو بزنید.
صبر کنید تا صفحه زیر ظاهر بشود...
وقتی این نوار پایین آمد و مدل گوشیتان سمت چپش نوشته شده یعنی برنامه روی گوشیتان ران شده... اتوماتیک میاد روی گوشی بالا. اگر نیامد وارد منوتان بشوید و دنبالش بگردید. احتمالا اخر منو پیداش کنید :)
حالا میتوانید داخل گوشیتان همین main.xml را ببینید.
اولین اجرای نرم افزار اندرویدی... تبریک میگم
بیایم یکم برنامه را عوض کنیم.
این بخش android ddms که زیر صفحه کد باز شد را ببندید. برای اینکار از سمت راسته راسته یه ایکون فلش رو به پایین هست. آن را بزنید تا بسته شود و بریم سراغ صفحه دیزاین.
کاری که میخواهم بکنم این هست که میخوایم یاد بگیریم چطوری یک پیام به کاربر نشان بدهیم.
حتما پیامهایی که گوشیتان میدهد را گاها دیدید. یک کادر طوسی رنگ دورش هست.. مثلا در فایل منیجر یک فایلی را کپی کنید میزند copy successfully
به این پیام¬ها میگوییم Toast. اما قبل از ادامه کار باید با چندتا مفهوم اصلی آشنا بشویم.
اول از همه بپردازیم به یک مفهوم مهم.
جاوا یک زبان شی گرا است. اما شی گرایی چیست؟ قبل از پاسخ دادن به این باید یک مفهوم اساسی تر را بدونیم.
کلاس چیست؟!
کلاس ویژگی اصلی برنامه نویسی شی گرا هست و میشه گفت یک چارچوبی هست برای "شی".
مثلا یک مثال خوب انسان هست. انسان یک کلاس هست. یعنی یک مفهوم کلی. میتواند صفت داشته باشد، رنگ پوست رنگ مو و....
اما درست هست که بگوییم رنگ موی انسان مشکی است؟ خب مسلما این جمله غلط هست. باید بگویید مثلا آقای X که یک نمونه از انسان هست موهایش مشکی هست :)
این کاری که الان کردم را میگویند نمونه گرفتن از کلاس. و آقای x را میگوییم شی.
پس تا اینجا فهمیدیم شی یک نمونه ی مقدار دهی شده از کلاس است و زبانی که این قدرت را دارد میگوییم زبان شی گرا.
حالا برای این شی ما (آقای x ) ممکن است یک اتفاقی بیفتد. مثلا مریض شدن، آمدن، رفتن. به این کارهایی که ممکن هست بارها ازشون استفاده شود یک رویداد یا متد میگوییم.
یک مثال دیگر برای متد (یا گاها میشود گفت تابع) این هست که فکر کنید یک عمل ریاضی را قرار هست بارها انجام بدهیم در برنامه. مثلا برای محاسبه سینوس یک سری فرمول نوشتیم. و قرار هست در کدمان بارها از این سینوس استفاده کنیم اما برای زاویه های مختلف... سینوس30.... سینوس60
به این تکه کدی که نوشتیم (یعنی همان فرمول) میگویم متد(تابع) و به زاویه ای که بهش میدهیم میگویم ورودی تابع. در نهایت حاصل سینوس مثلا 30 که به ما برگردانده میشود را میگویم خروجی تابع
حالا برگردیم به اندروید....
Activity
اکتیویتی چیست؟؟؟
اکتیویتی یک کلاس هست. کلاسی که بنیاد همه برنامه ماست. همانطور که در جلسه قبل گفتم برای هر صفحه ای از نرم افزار ما یک activity وجود دارد. که داخلش شامل متدهای مختلف میتواند باشه و ما صفحاتمان را با این Activity ها کنترل میکنیم.
حالا Layout چیست؟
ظاهر برنامه های اندروید یا دیزاینش. مثلا تعیین کنید در یک صفحه چه دکمه هایی داریم چه رنگی هست و....
و همانطور که گفتم کنترل این ابزارها در activity ها انجام میگیرد. مثلا بگوییم اگر دکمه ok را کاربر زد یک پیام بهش نشان بده.
حالا میتوانیم به ادامه کد خود برکردیم.
آن layout که دارید را باز کنید. یک دکمه Button از سمت چپ تصویر موبایل در لیست بردارید بندازید در صفحه.
حالا یک نگاه بندازیم به امکانات اینجا. مثلا Textview را انتخاب کنید. و ببینید چه تغییراتی میتوانید بدهید. میخواهم مثلا در TextView بنویسم: agree؟
اینجا میتوانید تغییرش بدهید:
همین کار را برای دکم تان هم بکنید و در آن بنویسید OK.
تغییرات دیگری هم میتوانید بدهید مثلا برای همان button در منوی تنظیمات backgroundرا انتخاب کنید. آنجا برای دادن عکس یا رنگ به بک گراند ابزارهایتان هست.
آن را بزنید و از پنجره ای که باز میشود color را انتخاب کرده و یک رنگ بدهید به دکمه و اوکی کنید.
اما همانطور که جلسه قبل گفتم کار با کد برای دیزاین کردن خیلی بهتر هست. برای دیزاین صفحاتتان باید با تگ های xml کار کنید. جلسه قبل توضیحش را دادم. این جلسه یکم بیشتر آشنا میشویم.
تگ های xml برای دیزاین نرم افزارهای اندروید بصورت زیر هستند:
<Name attributes/>
مثلا دقت کنید:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:layout_gravity="center_horizontal"
android:background="#ffffe000”/>
نام ابزارمان Button هست. یک سری ویژگی بهش داده شده... width…text و....
در آخر هم تگ را بسته.
اما گاها تگ ما شامل یک سری محتویات هم هست.
برگردید به صفحه دیزاینتان . روی صفحه اصلی کلیک کنید.. منظورم قسمت مشکی رنگ از صفحه نرم افزارتان هست که در آن ابزاری نذاشتید. چیزی که الان انتخاب کردید را رنگش را تغییر بدهید تا بیشتر متوجهش شوید.
این قسمت را میگوییم Linear Layout. همانطور که مشخص هست این ابزار شامل دوتا ابزار دیگر هم هست. Button و TextView.
منظورم قسمت قرمز رنگ هست :
به اینی که انتخاب کردیم میگویم LinearLayout.
دوباره در پایین Text را بزنید تا برویم داخل کد. اولین تگ را نگاه کنید. LinearLayout. اگه دقت کنید میبینید به این صورت هست: