برنامه نویسی

آموزش برنامه نویسی

جهت استفاده از شیوه نامه درون صفحه ای از تگ style در قسمت head از صفحه استفاده می شود. به عنوان مثال کد زیر یک شیوه نامه صفحه ای در نظر می گیرد:

<head>
        <style>
            p{
                color: black;
                font-family: 'b yekan';
                direction: rtl;
                text-align: center;
                margin: 15px; 
            }
            .heading{
                font-size: 450%;
            }
            .maintext{
                font-size: 150%;
                color: mediumblue;
            }
        </style>
    </head>

همانطوریکه مشاهده می شود اولین دستوری که در تگ style آمده است دستور p‌ می باشد که برای پاراگراف بندی است. رنگ نوشته (color) فونت (font-family) جهت نوشته (direction) چینش نوشته (text-align) و حاشیه نوشته (margin) در آن مقدار دهی شده اند. در متونی که فارسی و انگلیسی دارند حتما باید جهت نوشته از نوع راست به چپ (rtl) تعیین شوند.

دستور بعدی با نقطه شروع شده است و بیانگر ایجاد یک کلاس است. از کلاس می توان در تمام دستورها استفاده کرد. که اندازه نوشته (font-size) در کلاس heading مشخص شده است.

دستو بعدی نیز یک کلاس است با نام maintext. دو صفت اندازه نوشته (font-size) و رنگ نوشته (color) مشخص شده اند.

<body>
    <div style="width: 100%; background-color: lightskyblue;direction: rtl;">
        <p class="heading">دانشکده فنی امام باقر</p>
    </div>

در دستور body یک بخش جدید به صفحه وب اضافه شده است که با دستور div مشخص شده است. در داخل دستور div شیوه نامه دستوری اعمال شده است. شیوه نامه دستوری با کلمه style در دستور مشخص می شود. مواردی نظیر پهنا (width) و رنگ پس زمینه (background-color) و جهت نوشته مشخص شده اند. که با کلاس heaading در دستور p نمایش می دهند.

<div style="width: 15%;
        float: right;background-color: lightskyblue;">
            
            <center><a href="images.jpg">
                <img src="send.png" width="100px" height="100px">
            </a></center>
            <a href="images.jpg">
                <p class="maintext">موشک</p>
            </a>
        </div>

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

کد کامل صفحه وب در زیر آمده است:

<html>
    <head>
        <style>
            p{
                color: black;
                font-family: 'b yekan';
                direction: rtl;
                text-align: center;
                margin: 15px; 
            }
            .heading{
                font-size: 450%;
            }
            .maintext{
                font-size: 150%;
                color: mediumblue;
            }
        </style>
    </head>
    <body>
    <div style="width: 100%; background-color: lightskyblue;direction: rtl;">
        <p class="heading">دانشکده فنی امام باقر</p>
    </div>

        <div style="width: 15%;
        float: right;background-color: lightskyblue;">
            
            <center><a href="images.jpg">
                <img src="send.png" width="100px" height="100px">
            </a></center>
            <a href="images.jpg">
                <p class="maintext">موشک</p>
            </a>
        </div>
        <div style="width: 15%;
        float: right;background-color: lightskyblue;">
            
            <center><a href="images.jpg">
                <img src="send.png" width="100px" height="100px">
            </a></center>
            <a href="images.jpg">
                <p class="maintext">موشک</p>
            </a>
        </div>
    </body>
</html>

PHP چیست؟
• PHP مخفف “PHP: Hypertext Preprocessor” است
• PHP یک زبان برنامه نویسی منبع باز است که به طور گسترده مورد استفاده قرار می گیرد
• اسکریپت های PHP بر روی سرور اجرا می شوند
• PHP برای بارگیری و استفاده رایگان است
PHP یک زبان شگفت انگیز و محبوب است!
آنقدر قدرتمند است که بتواند در هسته بزرگترین سیستم وبلاگ نویسی در وب (وردپرس) قرار گیرد!
برای اجرای بزرگترین شبکه اجتماعی (فیس بوک) به اندازه کافی عمیق است!
همچنین به راحتی می توانید اولین زبان سمت سرور مبتدی باشید!


فایل PHP چیست؟
• پرونده های PHP می توانند حاوی متن ، HTML ، CSS ، JavaScript و کد PHP باشند
• کد PHP روی سرور اجرا می شود و نتیجه به صورت HTML ساده به مرورگر باز می گردد
• پرونده های PHP دارای پسوند “.php” هستند


PHP چه کاری می تواند انجام دهد؟
• PHP می تواند محتوای صفحه پویا ایجاد کند
• PHP می تواند پرونده هایی را در سرور ایجاد ، باز ، خواندن ، نوشتن ، حذف و بسته کند
• PHP می تواند داده های فرم را جمع آوری کند
• PHP می تواند کوکی ها را ارسال و دریافت کند
• PHP می تواند داده ها را در پایگاه داده شما اضافه ، حذف ، تغییر دهد
• از PHP می توان برای کنترل دسترسی کاربر استفاده کرد
• PHP می تواند داده ها را رمزگذاری کند
با PHP محدود به HTML خروجی نیستید. می توانید از تصاویر ، فایل های PDF و حتی فیلم های فلش خروجی بگیرید. همچنین می توانید هر متنی مانند XHTML و XML را خارج کنید.


چرا PHP؟
• PHP در سیستم عامل های مختلف اجرا می شود (ویندوز ، لینوکس ، یونیکس ، Mac OS X و غیره)
• PHP تقریباً با تمام سرورهای امروزی (Apache ، IIS و غیره) سازگار است
• PHP از طیف گسترده ای از پایگاه های اطلاعاتی پشتیبانی می کند
• PHP رایگان است. آن را از منبع رسمی PHP بارگیری کنید: www.php.net
• PHP به راحتی قابل یادگیری است و به صورت کارآمد در سمت سرور اجرا می شود


آنچه در PHP 7 جدید است
• PHP 7 بسیار سریعتر از نسخه پایدار محبوب قبلی است (PHP 5.6)
• PHP 7 مدیریت خطا را بهبود بخشیده است
• PHP 7 برای آرگومان های عملکرد از اعلامیه های نوع دقیق تری پشتیبانی می کند
• PHP 7 از اپراتورهای جدید پشتیبانی می کند (مانند اپراتور سفینه فضایی: <=>)

نحو پایه PHP
اسکریپت PHP را می توان در هر کجای سند قرار داد.
یک اسکریپت PHP با <؟ php شروع می شود و با؟> پایان می یابد:

<?php
// PHP code goes here
?>

پسوند پرونده پیش فرض برای پرونده های PHP “.php” است.
یک فایل PHP به طور معمول حاوی برچسب های HTML و برخی از کد های برنامه نویسی PHP است.
در زیر ، ما نمونه ای از یک فایل PHP ساده را با یک اسکریپت PHP داریم که از عملکرد داخلی “echo” برای خروجی متن “Hello World!” استفاده می کند. در یک صفحه وب:

<!DOCTYPE html>
<html>
<body>

<h1>My first PHP page</h1>

<?php
echo "Hello World!";
?>

</body>
</html>

به مثال زیر نگاه کنید ؛ فقط اولین عبارت مقدار متغیر را نمایش می دهد! دلیل این امر این است که color ، COLOR و coLOR به عنوان سه متغیر متفاوت در نظر گرفته می شوند:

<!DOCTYPE html>
<html>
<body>

<?php
$color = "red";
echo "My car is " . $color . "<br>";
echo "My house is " . $COLOR . "<br>";
echo "My boat is " . $coLOR . "<br>";
?>

</body>
</html>

نظرات در PHP
یک نظر در کد PHP خطی است که به عنوان بخشی از برنامه اجرا نمی شود. تنها هدف آن خواندن توسط کسی است که به کد نگاه می کند.
از نظرات می توان به این موارد استفاده کرد:
• اجازه دهید دیگران کد شما را درک کنند
• آنچه را انجام داده اید به خود یادآوری کنید – اکثر برنامه نویسان تجربه کرده اند که یکی دو سال بعد به کار خود برگشته اند و مجبور شده اند دوباره بفهمند که چه کاری انجام داده اند. نظرات می توانند به شما یادآوری کنند هنگام نوشتن کد به چه فکر می کردید
PHP از چندین روش برای اظهار نظر پشتیبانی می کند:
مثال

<!DOCTYPE html>
<html>
<body>

<?php
// This is a single-line comment

# This is also a single-line comment
?>

</body>
</html>
<!DOCTYPE html>
<html>
<body>

<?php
/*
This is a multiple-lines comment block
that spans over multiple
lines
*/
?>

</body>
</html>
<!DOCTYPE html>
<html>
<body>

<?php
// You can also use comments to leave out parts of a code line
$x = 5 /* + 15 */ + 5;
echo $x;
?>

</body>
</html>

متغیرها Variables

متغیرها “ظرف” ذخیره اطلاعات هستند.


ایجاد (اعلام) متغیرهای PHP
در PHP ، یک متغیر با علامت $ شروع می شود و به دنبال آن نام متغیر دنبال می شود

<?php
$txt = "Hello world!";
$x = 5;
$y = 10.5;
?>

پس از اجرای عبارات بالا ، متغیر $ txt مقدار Hello world را در خود نگه می دارد! ، متغیر $ x مقدار 5 را نگه می دارد و متغیر $ y مقدار 10.5 را نگه می دارد.
توجه: وقتی مقدار متنی را به یک متغیر اختصاص می دهید ، نقل قول های مربوط به مقدار را قرار دهید.
توجه: برخلاف سایر زبانهای برنامه نویسی ، PHP هیچگونه دستوری برای اعلام متغیر ندارد. در لحظه اختصاص اولین مقدار به آن ایجاد می شود.
متغیرها را به عنوان ظرف هایی برای ذخیره اطلاعات در نظر بگیرید.


متغیرهای PHP
یک متغیر می تواند یک نام کوتاه (مانند x و y) یا یک نام توصیفی بیشتر (سن ، نام اتومبیل ، حجمکلی) داشته باشد. قوانین متغیرهای PHP: • یک متغیر با علامت $ شروع می شود و به دنبال آن نام متغیر دنبال می شود • یک نام متغیر باید با یک حرف یا حرف زیر خط شروع شود • یک نام متغیر نمی تواند با یک عدد شروع شود • یک نام متغیر فقط می تواند حاوی نویسه ها و زیرخط های عددی آلفا باشد (A-z ، 0-9 و )
• نام متغیرها به حروف کوچک و بزرگ حساس هستند (age$ و Age$ دو متغیر متفاوت هستند)
به یاد داشته باشید که نام متغیرهای PHP به حروف کوچک و بزرگ حساس هستند!

متغیرهای خروجی
از عبارت echo PHP اغلب برای خروجی داده ها به صفحه استفاده می شود.
مثال زیر نحوه خروج متن و متغیر را نشان می دهد

<?php
$txt = "faratez.ir";
echo "I love $txt!";
?>
<?php
$txt = "faratez.ir";
echo "I love " . $txt . "!";
?>
<?php
$x = 5;
$y = 4;
echo $x + $y;
?>

عنصر <form>

از عنصر <form> HTML برای ایجاد فرم HTML برای ورودی کاربر استفاده می شود:

.

</form>

عنصر <form> ظرفی برای انواع مختلف عناصر ورودی است ، مانند: زمینه های متن ، کادرهای تأیید ، دکمه های رادیویی ، دکمه های ارسال و غیره.

تمام عناصر مختلف فرم در این فصل آورده شده است: عناصر فرم HTML.

________________________________________

عنصر <input>

عنصر HTML <input> پرکاربردترین عنصر شکل است.

یک عنصر <input> بسته به ویژگی نوع ، از بسیاری جهات قابل نمایش است.

در اینجا چند نمونه آورده شده است:

نوع توصیف

<input type = “text”> یک قسمت ورودی متن تک خطی را نمایش می دهد

<input type = “radio”> یک دکمه رادیو را نمایش می دهد (برای انتخاب یکی از بسیاری از گزینه ها)

<input type = “checkbox”> کادر تأیید را نمایش می دهد (برای انتخاب صفر یا بیشتر از بسیاری از گزینه ها)

<input type = “submit”> دکمه ارسال را نمایش می دهد (برای ارسال فرم)

<input type = “button”> دکمه قابل کلیک را نمایش می دهد


Text Fields کادرهای متنی

<form>
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname">
</form>

Radio Buttons دکمه رادیویی

<form>
  <input type="radio" id="male" name="gender" value="male">
  <label for="male">Male</label><br>
  <input type="radio" id="female" name="gender" value="female">
  <label for="female">Female</label><br>
  <input type="radio" id="other" name="gender" value="other">
  <label for="other">Other</label>
</form>

چک باکس ها Checkboxes

<form>
  <input type="checkbox" id="vehicle1" name="vehicle1" value="Bike">
  <label for="vehicle1"> I have a bike</label><br>
  <input type="checkbox" id="vehicle2" name="vehicle2" value="Car">
  <label for="vehicle2"> I have a car</label><br>
  <input type="checkbox" id="vehicle3" name="vehicle3" value="Boat">
  <label for="vehicle3"> I have a boat</label>
</form>

دکمه ارسال Submission Button
دکمه ای را برای ارسال داده های فرم به یک فرم دهنده کنترل می کند.
فرم-اداره کننده معمولاً فایلی در سرور است که دارای اسکریپت پردازش داده های ورودی است.
فرم دهنده در ویژگی عمل فرم مشخص شده است.

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe"><br><br>
  <input type="submit" value="Submit">
</form>

ویژگی نام برای <input>
توجه داشته باشید که هر قسمت ورودی باید دارای ویژگی نام باشد تا ارسال شود.
اگر ویژگی نام حذف شود ، مقدار فیلد ورودی اصلاً ارسال نمی شود.
مثال
این مثال مقدار فیلد ورودی “First name” را ارسال نمی کند:

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" value="John"><br><br>
  <input type="submit" value="Submit">
</form>

صفات فرم HTML


این فصل ویژگی های مختلف عنصر HTML را توصیف می کند.


صفت Action
صفت action عملیاتی را که باید هنگام ارسال فرم انجام شود ، تعریف می کند.
معمولاً وقتی کاربر روی دکمه ارسال کلیک می کند ، داده های فرم به پرونده ای در سرور ارسال می شود.
در مثال زیر ، داده های فرم به فایلی به نام “action_page.php” ارسال می شود. این پرونده شامل یک اسکریپت سمت سرور است که داده های فرم را مدیریت می کند:

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe"><br><br>
  <input type="submit" value="Submit">
</form>

صفت target
ویژگی target مشخص می کند که پاسخی را که پس از ارسال فرم دریافت می شود ، نمایش دهد.
ویژگی target می تواند یکی از مقادیر زیر را داشته باشد:

blank_ پاسخ در یک پنجره یا برگه جدید نمایش داده می شود self پاسخ در پنجره فعلی نمایش داده می شود
parent_ پاسخ در کادر والدین نمایش داده می شود
top_ پاسخ در بدنه کامل پنجره نمایش داده می شود
framename_ پاسخ در یک iframe نامگذاری شده نمایش داده می شود.

مقدار پیش فرض _ self است که به این معنی است که پاسخ در پنجره فعلی باز می شود.
مثال
در اینجا ، نتیجه ارسال شده در یک برگه مرورگر جدید باز می شود:

<form action="/action_page.php" target="_blank">

ویژگی method
مشخصه روش ، روش HTTP را مشخص می کند تا هنگام ارسال داده های فرم ، از آن استفاده شود.
داده های فرم را می توان به عنوان متغیرهای GET یا به عنوان معامله POST ارسال کرد.
روش پیش فرض HTTP هنگام ارسال داده های فرم GET است.
مثال
این مثال هنگام ارسال داده های فرم از روش GET استفاده می کند:

<form action="/action_page.php" method="get">

مثال
این مثال هنگام ارسال داده های فرم از روش POST استفاده می کند:

<form action="/action_page.php" method="post">

یادداشت های مربوط به GET:
• داده های فرم را به دو جفت نام / مقدار به URL اضافه می کند
• هرگز از GET برای ارسال اطلاعات حساس استفاده نکنید! (داده های فرم ارسالی در URL قابل مشاهده است!)
• طول یک URL محدود است (2048 نویسه)
• برای ارسال فرم در مواردی که کاربر بخواهد نتیجه را علامت گذاری کند مفید است
• GET برای داده های غیر ایمن مانند رشته های جستجوی Google مفید است
یادداشت ها در مورد POST:
• داده های فرم را در قسمت اصلی درخواست HTTP ضمیمه می کند (داده های فرم ارسالی در URL نشان داده نمی شود)
• POST محدودیتی در اندازه ندارد و می تواند برای ارسال مقدار زیادی داده استفاده شود.
• فرم های ارسالی با POST را نمی توان نشانه گذاری کرد.

<form action="/action_page.php" method="get">
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">Last name:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <input type="submit" value="Submit using GET">
  <input type="submit" formmethod="post" value="Submit using POST">
</form>

تصاویر می توانند طراحی و ظاهر یک صفحه وب را بهبود بخشند.

از برچسب HTML برای جاسازی تصویر در یک صفحه وب استفاده می شود.
تصاویر از نظر فنی در یک صفحه وب درج نمی شوند. تصاویر به صفحات وب پیوند داده می شوند. برچسب یک فضای نگهداری برای تصویر ارجاع شده ایجاد می کند.
برچسب خالی است ، فقط حاوی ویژگی است و برچسب بسته ندارد.
برچسب دو ویژگی لازم را دارد:
• src – مسیر تصویر را مشخص می کند
• alt – متن دیگری را برای تصویر مشخص می کند

<img src="url" alt="alternatetext">

ویژگی src مورد نیاز مسیر (URL) به تصویر را مشخص می کند.
توجه: هنگام بارگیری یک صفحه وب ؛ در آن لحظه ، مرورگر است که تصویر را از یک وب سرور می گیرد و آن را به صفحه وارد می کند. بنابراین ، اطمینان حاصل کنید که تصویر در رابطه با صفحه وب در همان نقطه باقی مانده است ، در غیر این صورت بازدید کنندگان شما نماد لینک شکسته را دریافت می کنند. اگر مرورگر نتواند تصویر را پیدا کند ، نماد لینک شکسته و متن alt نشان داده می شود. اگر alt به دلایلی کاربر نتواند آن را مشاهده کند (به دلیل کند بودن اتصال ، خطا در ویژگی src یا اگر کاربر از صفحه خواننده استفاده می کند) ، ویژگی alt مورد نیاز یک متن جایگزین را ارائه می دهد.
مثال

<img src="img_chania.jpg" alt="Flowers in Chania">

می توانید از مشخصه سبک برای تعیین عرض و ارتفاع تصویر استفاده کنید.

<img src="img_girl.jpg" alt="Girl in a jacket" style="width:500px;height:600px;">

گر تصاویر خود را در یک زیر پوشه دارید ، باید نام پوشه را در ویژگی src وارد کنید:

<img src="/images/html5.gif" alt="HTML5 Icon" style="width:128px;height:128px;">
<img src="programming.gif" alt="Computer Man" style="width:48px;height:48px;">

از ویژگی float CSS استفاده کنید تا تصویر در سمت راست یا چپ متن شناور شود:

مثال:

<p><img src="smiley.gif" alt="Smiley face" style="float:right;width:42px;height:42px;">
The image will float to the right of the text.</p>

<p><img src="smiley.gif" alt="Smiley face" style="float:left;width:42px;height:42px;">
The image will float to the left of the text.</p>

رنگهای HTML با نام رنگهای از پیش تعیین شده یا با مقادیر RGB ، HEX ، HSL ، RGBA یا HSLA مشخص می شوند.

در HTML می توان با استفاده از نام رنگ ، رنگی را مشخص کرد:

Tomato
Orange
DodgerBlue
MediumSeaGreen
Gray
SlateBlue
Violet
LightGray

مثال:

<h1 style="background-color:DodgerBlue;">Hello World</h1>
<p style="background-color:Tomato;">Lorem ipsum...</p>
<h1 style="color:Tomato;">Hello World</h1>
<p style="color:DodgerBlue;">Lorem ipsum...</p>
<p style="color:MediumSeaGreen;">Ut wisi enim...</p>
<h1 style="border:2px solid Tomato;">Hello World</h1>
<h1 style="border:2px solid DodgerBlue;">Hello World</h1>
<h1 style="border:2px solid Violet;">Hello World</h1>

از ویژگی HTML Style برای افزودن سبک ها به یک عنصر مانند رنگ ، قلم ، اندازه و موارد دیگر استفاده می شود.

ویژگی HTML Style

تنظیم سبک یک عنصر HTML می تواند با ویژگی Style انجام شود.
ویژگی HTML Style دارای نحو زیر است:

<tagname style="property:value;">

خاصیت یک ویژگی CSS است. مقدار یک مقدار CSS است.

مثال
رنگ پس زمینه یک صفحه را روی blueblue تنظیم کنید:

<body style="background-color:powderblue;">

<h1>This is a heading</h1>
<p>This is a paragraph.</p>

</body>

مثال
رنگ زمینه را برای دو عنصر مختلف تنظیم کنید:

<body>

<h1 style="background-color:powderblue;">This is a heading</h1>
<p style="background-color:tomato;">This is a paragraph.</p>

</body>

درس بعدی درس قبلی

یک Activity نشان دهنده یک صفحه منفرد با رابط کاربری است ، دقیقاً مانند پنجره یا قاب جاوا. فعالیت اندروید زیر کلاس کلاس ContextThemeWrapper است.
اگر با زبان برنامه نویسی C ، C ++ یا Java کار کرده باشید ، حتماً دیده اید که برنامه شما از تابع اصلی () شروع می شود. روشی کاملاً مشابه ، سیستم Android برنامه خود را با فعالیتی آغاز می کند که با فراخوانی روش پاسخگویی onCreate () شروع می شود. دنباله ای از روشهای پاسخ به تماس وجود دارد که یک فعالیت را راه اندازی می کند و دنباله ای از روشهای برگشت تماس که فعالیتی را از بین می برد همانطور که در نمودار چرخه حیات فعالیت زیر نشان داده شده است:

نمودار چرخه عمر اکتیویتی

کلاس Activity تماسهای زیر را به عنوان مثال رویدادها تعریف می کند. نیازی به پیاده سازی همه روش های برگشت تماس نیست. با این حال ، مهم این است که شما هر یک را بفهمید و مواردی را که برنامه شما را مطابق انتظار کاربران تضمین می کند ، اجرا کنید.

() onCreate
این اولین رویداد است و هنگام ایجاد فعالیت برای اولین بار فراخوانی می شود.
() onStart
این رویداد زمانی فراخوانی می شود که فعالیت برای کاربر قابل مشاهده شود.
() onResume
وقتی که کاربر شروع به تعامل با برنامه می کند.
() onPause
اکتیویتی Pause ورودی کاربر را دریافت نمی کند و نمی تواند هیچ کدی را اجرا کند و هنگامی که اکتیویتی فعلی در حالت Pause است و اکتیویتی قبلی از سر گرفته می شود فراخوانی می شود.
() onStop
زمانی فراخوانی می شود که اکتیویتی دیگر قابل مشاهده نباشد.
() onDestroy
این رویداد قبل از اینکه اکتیویتی توسط سیستم از بین برود فراخوانی می شود.
() onRestart
این رویداد با زمانی انجام می گیرد که اکتیویتی پس از متوقف شدن مجدداً شروع شود.

مثال
این مثال برای نشان دادن چرخه فعالیت فعالیت برنامه Android ، مراحل ساده ای را به شما ارائه می دهد. مراحل زیر را دنبال کنید تا برنامه Android را که در فصل Hello World mînak ایجاد کرده ایم اصلاح کنید:

۱-شما از Android studio برای ایجاد یک برنامه Android استفاده خواهید کرد و آن را به عنوان HelloWorld تحت یک بسته com.example.helloworld همانطور که در مثال سلام دنیا توضیح داده شده است ، نامگذاری کنید.

۲-همانطور که در زیر توضیح داده شده ، فایل اصلی فعالیت MainActivity.java را تغییر دهید. بقیه پرونده ها را بدون تغییر نگه دارید.

۳-برنامه را اجرا کنید تا شبیه ساز Android را راه اندازی کنید و نتیجه تغییرات انجام شده در برنامه را تأیید کنید.

در زیر محتوای پرونده فعالیت اصلی تغییر یافته src / com.example.helloworld / MainActivity.java است. این پرونده شامل هر یک از روشهای اساسی چرخه زندگی است. از روش Log.d () برای تولید پیام های ورود به سیستم استفاده شده است.

package com.example.helloworld;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;

public class MainActivity extends Activity {
   String msg = "Android : ";
   
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      Log.d(msg, "The onCreate() event");
   }

   /** Called when the activity is about to become visible. */
   @Override
   protected void onStart() {
      super.onStart();
      Log.d(msg, "The onStart() event");
   }

   /** Called when the activity has become visible. */
   @Override
   protected void onResume() {
      super.onResume();
      Log.d(msg, "The onResume() event");
   }

   /** Called when another activity is taking focus. */
   @Override
   protected void onPause() {
      super.onPause();
      Log.d(msg, "The onPause() event");
   }

   /** Called when the activity is no longer visible. */
   @Override
   protected void onStop() {
      super.onStop();
      Log.d(msg, "The onStop() event");
   }

   /** Called just before the activity is destroyed. */
   @Override
   public void onDestroy() {
      super.onDestroy();
      Log.d(msg, "The onDestroy() event");
   }
}

یک کلاس اکتیویتی با استفاده از فایل XML موجود در پوشه res / layout پروژه ، تمام م Uلفه UI را بارگیری می کند. عبارت زیر اجزای UI را از پرونده res / layout / activity_main.xml بارگیری می کند:

setContentView(R.layout.activity_main);

یک برنامه کاربردی می تواند یک یا چند فعالیت بدون هیچ محدودیتی داشته باشد. هر فعالیتی که برای برنامه خود تعریف می کنید باید در پرونده AndroidManifest.xml شما اعلام شود و فعالیت اصلی برنامه شما باید در مانیفست با که شامل MAIN action و LAUNCHER است به شرح زیر اعلام شود:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tutorialspoint7.myapplication">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

اگر یکی از Activity اصلی یا LAUNCHER برای یکی از فعالیتهای شما اعلام نشده باشد ، نماد برنامه شما در لیست برنامه های صفحه اصلی ظاهر نمی شود.
بیایید سعی کنیم Hello World اصلاح شده خود را اجرا کنیم! برنامه ما فقط اصلاح شده است. من تصور می کنم شما AVD خود را هنگام راه اندازی محیط ایجاد کرده اید. برای اجرای برنامه از Android studio ، یکی از پرونده های فعالیت پروژه خود را باز کرده و از نوار ابزار روی Run icon کلیک کنید. Android studio برنامه را روی AVD شما نصب کرده و شروع به کار می کند و اگر با راه اندازی و برنامه همه چیز خوب است ، پنجره Emulator نمایش داده می شود و باید پیام های ورود به سیستم زیر را در پنجره LogCat در Android studio مشاهده کنید.

08-23 10:32:07.682 4480-4480/com.example.helloworld D/Android :: The onCreate() event
08-23 10:32:07.683 4480-4480/com.example.helloworld D/Android :: The onStart() event
08-23 10:32:07.685 4480-4480/com.example.helloworld D/Android :: The onResume() event
پنجره لاگ کت (Log CAT)

بیایید سعی کنیم دکمه قفل صفحه را روی شبیه ساز Android کلیک کنیم و پیام های زیر را در پنجره LogCat در android studio ایجاد می کند:

08-23 10:32:53.230 4480-4480/com.example.helloworld D/Android :: The onPause() event
08-23 10:32:53.294 4480-4480/com.example.helloworld D/Android :: The onStop() event

بیایید دوباره سعی کنیم قفل صفحه شما را روی شبیه ساز Android باز کنیم و پیام های زیر را در پنجره LogCat در Android studio ایجاد می کند:

08-23 10:34:41.390 4480-4480/com.example.helloworld D/Android :: The onStart() event
08-23 10:34:41.392 4480-4480/com.example.helloworld D/Android :: The onResume() event

در مرحله بعدی ، اجازه دهید دوباره سعی کنیم روی دکمه برگشت روی شبیه ساز Android کلیک کنیم و پیام های زیر را در پنجره LogCat در Android studio ایجاد می کند و این چرخه فعالیت Activity را برای یک برنامه Android تکمیل می کند.

08-23 10:37:24.806 4480-4480/com.example.helloworld D/Android :: The onPause() event
08-23 10:37:25.668 4480-4480/com.example.helloworld D/Android :: The onStop() event
08-23 10:37:25.669 4480-4480/com.example.helloworld D/Android :: The onDestroy() event

جلسه قبل جلسه بعد

موارد بسیاری وجود دارد که برای ساختن یک برنامه اندرویدی خوب از آنها استفاده می کنید. شما جدا از برنامه نویسی برای برنامه ، از منابع مختلف دیگری مانند محتوای استاتیک که کد شما از آن استفاده می کند ، مانند بیت مپ ، رنگ ، تعریف چیدمان ، رشته های رابط کاربر ، دستورالعمل های انیمیشن و غیره مراقبت می کنید. این منابع همیشه به طور جداگانه در زیر شاخه های مختلف تحت فهرست / فهرست پروژه نگهداری می شوند.
این آموزش به شما توضیح می دهد که چگونه می توانید منابع برنامه خود را سازماندهی کنید ، منابع جایگزین را مشخص کنید و در برنامه های خود به آنها دسترسی پیدا کنید.

سازماندهی منابع در Android Studio

MyProject/
   app/
      manifest/
         AndroidManifest.xml
   java/
      MyActivity.java  
      res/
         drawable/  
            icon.png  
         layout/  
            activity_main.xml
            info.xml
         values/  
            strings.xml 

1 anim/
پرونده های XML که انیمیشن های خاصیت را تعریف می کنند. آنها در پوشه res / anim / ذخیره می شوند و از کلاس R.anim به آنها دسترسی پیدا می شود.
2 color /
فایلهای XML که لیستی از رنگها را تعریف می کنند. آنها با رز / رنگ / ذخیره می شوند و از کلاس R.color قابل دسترسی هستند.
3 drawable/
پرونده های تصویری مانند .png ، .jpg ، .gif یا فایل های XML که در نقشه های بیت ، لیست های حالت ، اشکال ، انیمیشن قابل طراحی وارد می شوند آنها در res / drawable ذخیره می شوند و از کلاس R.drawable قابل دسترسی هستند.
4 layout /
پرونده های XML که طرح واسط کاربری را تعریف می کنند. آنها در res / layout ذخیره می شوند و از کلاس R.layout قابل دسترسی هستند.
5 menu/
پرونده های XML که منوهای برنامه را تعریف می کنند ، مانند منوی گزینه ها ، منوی زمینه یا زیر منو. آنها در res / menu / ذخیره می شوند و از کلاس R.menu قابل دسترسی هستند.
6 raw/
پرونده های خودسرانه برای ذخیره در فرم خام خود. برای باز کردن چنین پرونده های خام ، باید Resource.openRawResource () را با شناسه منبع که R.raw.filename است تماس بگیرید.
7 value /
پرونده های XML که حاوی مقادیر ساده ای مانند رشته ها ، اعداد صحیح و رنگ ها هستند. به عنوان مثال ، در اینجا برخی از قراردادهای نام فایل برای منابعی که می توانید در این فهرست ایجاد کنید وجود دارد –
• arrays.xml برای آرایه های منابع ، و از کلاس R.array قابل دسترسی است.
integers.xml برای اعداد صحیح منابع ، و از کلاس R.integer قابل دسترسی است.
• bools.xml برای منبع boolean و از کلاس R.bool قابل دسترسی است.
• colors.xml برای مقادیر رنگ ، و از کلاس R.color قابل دسترسی است.
• dimens.xml برای مقادیر ابعاد ، و از کلاس R.dimen قابل دسترسی است.
• strings.xml برای مقادیر رشته ، و از کلاس R.string قابل دسترسی است.
• styles.xml برای سبک ها ، و از کلاس R.style قابل دسترسی است.
8 xml /
پرونده های XML خودسرانه ای که در زمان اجرا با تماس با ()Resources.getXML قابل خواندن هستند. می توانید فایل های مختلف پیکربندی را که در زمان اجرا استفاده می شوند ، در اینجا ذخیره کنید.

منابع جایگزین

برنامه شما باید منابع جایگزینی را برای پشتیبانی از تنظیمات خاص دستگاه فراهم کند. به عنوان مثال ، شما باید منابع قابل جایگزینی قابل ترسیم (به عنوان مثال تصاویر) برای وضوح صفحه نمایش مختلف و منابع رشته ای جایگزین برای زبانهای مختلف داشته باشید. هنگام اجرا ، Android پیکربندی دستگاه فعلی را شناسایی کرده و منابع مناسب برنامه شما را بارگیری می کند.
برای تعیین گزینه های خاص پیکربندی برای مجموعه ای از منابع ، مراحل زیر را دنبال کنید –
• یک دایرکتوری جدید در res / به نام – ایجاد کنید. در اینجا منابع_ نام یکی از منابع ذکر شده در جدول فوق است ، مانند طرح بندی ، قابل ترسیم و غیره. مقدماتی یک پیکربندی منفرد را تعیین می کند که این منابع برای آن استفاده می شود. می توانید اسناد رسمی را برای لیست کاملی از واجد شرایط برای انواع مختلف منابع بررسی کنید.
• منابع جایگزین مربوطه را در این فهرست جدید ذخیره کنید. پرونده های منبع باید دقیقاً مانند پرونده های منبع پیش فرض همانطور که در مثال زیر نشان داده شده است ، نامگذاری شوند ، اما این پرونده ها محتوای خاص جایگزین دارند. به عنوان مثال اگرچه نام فایل تصویر یکسان خواهد بود اما برای صفحه نمایش با وضوح بالا ، وضوح آن زیاد خواهد بود.

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

MyProject/
   app/
      manifest/
         AndroidManifest.xml
   java/
      MyActivity.java   
      res/
         drawable/  
            icon.png
            background.png
         drawable-hdpi/  
            icon.png
            background.png  
         layout/  
            activity_main.xml
            info.xml
         values/  
            strings.xml 

در زیر نمونه دیگری وجود دارد که طرح بندی را برای یک زبان پیش فرض و طرح جایگزین را برای زبان عربی مشخص می کند.

MyProject/
   app/
      manifest/
         AndroidManifest.xml
   java/
      MyActivity.java   
      res/
         drawable/  
            icon.png
            background.png
         drawable-hdpi/  
            icon.png
            background.png  
         layout/  
            activity_main.xml
            info.xml
         layout-ar/
            main.xml
         values/  
            strings.xml 

دسترسی به منابع
در طول توسعه برنامه شما باید به منابع تعریف شده یا در کد خود ، یا در فایلهای XML طرح خود دسترسی پیدا کنید. بخش زیر نحوه دستیابی به منابع خود را در هر دو سناریو توضیح می دهد –
دسترسی به منابع در کد
هنگامی که برنامه Android شما کامپایل می شود ، یک کلاس R تولید می شود که شامل شناسه منابع برای تمام منابع موجود در فهرست / فهرست شما است. با استفاده از زیر شاخه و نام منبع یا به طور مستقیم شناسه منبع می توانید از کلاس R برای دسترسی به این منبع استفاده کنید.
مثال
برای دسترسی به res / drawable / myimage.png و تنظیم ImageView از کد زیر استفاده خواهید کرد –

ImageView imageView = (ImageView) findViewById(R.id.myimageview);
imageView.setImageResource(R.drawable.myimage);

در اینجا خط اول کد از R.id.myimageview استفاده می کند تا ImageView را با id myimageview در یک فایل Layout تعریف کند. خط دوم کد از R.drawable.myimage استفاده می کند تا تصویری با نام myimage در زیر شاخه قابل طراحی تحت / res دریافت کند.

مثال
مثال بعدی را در نظر بگیرید که در آن res / values / strings.xml تعریف زیر را دارد:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string  name="hello">Hello, World!</string>
</resources>

اکنون می توانید متن را بر روی یک شی TextView با ID msg با استفاده از ID منبع به شرح زیر تنظیم کنید

TextView msgTextView = (TextView) findViewById(R.id.msg);
msgTextView.setText(R.string.hello);

مثال:

res / layout / activity_main.xml را با تعریف زیر در نظر بگیرید –

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent" 
   android:layout_height="fill_parent" 
   android:orientation="vertical" >
   
   <TextView android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Hello, I am a TextView" />

   <Button android:id="@+id/button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Hello, I am a Button" />
      
</LinearLayout>

این کد برنامه این طرح را برای یک Activity بارگذاری می کند ، در روش onCreate () به شرح زیر است:

public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
}

دسترسی به منابع در XML
فایل XML res / values / strings.xml منبع زیر را در نظر بگیرید که شامل یک منبع رنگی و یک منبع رشته ای است:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <color name="opaque_red">#f00</color>
   <string name="hello">Hello!</string>
</resources>

اکنون می توانید از این منابع در پرونده طرح زیر استفاده کنید تا رنگ متن و رشته متن را به صورت زیر تنظیم کنید:

<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:textColor="@color/opaque_red"
   android:text="@string/hello" />

حالا اگر یکبار دیگر فصل قبلی را مرور کنید ، جایی که سلام جهان را توضیح دادم! به عنوان مثال ، و من مطمئن هستم که شما درک بهتری در مورد تمام مفاهیم توضیح داده شده در این فصل خواهید داشت. بنابراین من اکیداً توصیه می کنم فصل قبلی را برای مثال کار بررسی کرده و بررسی کنید که چگونه من از منابع مختلف در سطح بسیار ابتدایی استفاده کرده ام.

جلسه بعد

اجازه دهید برنامه نویسی واقعی را با Android Framework شروع کنیم. قبل از شروع به نوشتن اولین مثال خود با استفاده از Android SDK ، باید مطمئن شوید که محیط توسعه Android خود را به درستی تنظیم کرده اید ، . من همچنین تصور می کنم که شما کمی دانش کار با Android studio دارید.

بنابراین اجازه دهید ما برای نوشتن یک برنامه ساده آندروید که چاپ “Hello World”

برنامه Android ایجاد کنید.

اولین قدم ایجاد یک برنامه ساده آندروید با استفاده از Android studio است. وقتی روی نماد Android studio کلیک می کنید ، همانطور که در زیر نشان داده شده است ، صفحه نمایش داده می شود

برنامه نویسی اندروید

با فراخوانی شروع یک پروژه جدید android studio می توانید توسعه برنامه خود را شروع کنید. در یک چارچوب نصب جدید ، باید از نام برنامه ، اطلاعات بسته و مکان پروژه وارد شود.

برنامه نویسی اندروید

پس از وارد کردن نام برنامه ، به آن فراخوانی می شود که فاکتورهای مورد نظر در برنامه شما را انتخاب کنید ، در اینجا باید حداقل SDK را مشخص کنید ، در آموزش ما ، من به عنوان API23 اعلام کردم: Android 6.0 (Mashmallow) –

برنامه نویسی اندروید

سطح بعدی نصب باید شامل انتخاب فعالیت برای تلفن همراه باشد ، این طرح پیش فرض برنامه ها را مشخص می کند.

برنامه نویسی اندروید

در مرحله نهایی ، ابزار توسعه آزاد برای نوشتن کد برنامه کاربردی خواهد بود.

برنامه نویسی اندروید

آناتومی برنامه اندروید
قبل از اینکه برنامه خود را اجرا کنید ، باید از چند فهرست و پرونده در پروژه Android آگاه باشید –

برنامه نویسی اندروید

JAVA 1
این شامل پرونده های منبع .java برای پروژه شما است. به طور پیش فرض ، این یک فایل منبع MainActivity.java با کلاس فعالیت است که هنگام راه اندازی برنامه شما با استفاده از نماد برنامه اجرا می شود.

res/drawable-hdpi 2
این یک فهرست برای اشیا draw قابل نقاشی است که برای صفحات با چگالی بالا طراحی شده اند.
res/layout 3
این یک فهرست برای پرونده هایی است که رابط کاربری برنامه شما را تعریف می کنند.
res/values 4
این یک فهرست برای سایر پرونده های مختلف XML است که شامل مجموعه ای از منابع ، مانند تعریف رشته ها و رنگ ها است.
5 AndroidManifest.xml
این پرونده آشکار است که خصوصیات اساسی برنامه را توصیف می کند و هر یک از اجزای آن را تعریف می کند.
Build.gradle 6
این یک فایل ایجاد شده خودکار است که شامل compileSdkVersion، buildToolsVersion، applicationId، minSdkVersion، targetSdkVersion، versionCode و versionName

بخش زیر به طور خلاصه پرونده های مهم برنامه را شرح می دهد.

کد فایل Main Activity

کد main activity یک فایل جاوا MainActivity.java است. این پرونده اصلی پرونده است که در نهایت به یک نسخه قابل اجرا Dalvik تبدیل می شود و برنامه شما را اجرا می کند. در زیر کد پیش فرض تولید شده توسط جادوگر برنامه برای Hello World وجود دارد! برنامه

package com.example.helloworld;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }
}

در اینجا ، R.layout.activity_main به پرونده activity_main.xml واقع در پوشه res / layout اشاره دارد. روش onCreate () یکی از روشهایی است که هنگام بارگذاری یک فعالیت مشخص می شود.

فایل Manifest

هر جز component را به عنوان بخشی از برنامه خود توسعه دهید ، باید تمام اجزای آن را در یک manifest.xml که در ریشه دایرکتوری پروژه برنامه قرار دارد ، اعلام کنید. این فایل به عنوان یک رابط بین سیستم عامل Android و برنامه شما کار می کند ، بنابراین اگر جز component خود را در این پرونده اعلام نکنید ، توسط سیستم عامل مورد توجه قرار نمی گیرد. به عنوان مثال ، یک فایل مانیفست پیش فرض مانند فایل زیر خواهد بود.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tutorialspoint7.myapplication">

   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
      
      <activity android:name=".MainActivity">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>
</manifest>

در اینجا برچسب <application>…</application> اجزای مربوط به برنامه را در بر می گیرد. ویژگی android:icon به نماد برنامه موجود در res / drawable-hdpi اشاره خواهد کرد. برنامه از تصویری به نام ic_launcher.png که در پوشه های قابل ترسیم قرار دارد استفاده می کند
از برچسب برای تعیین یک فعالیت استفاده می شود و ویژگی android: name نام کلاس کاملاً واجد شرایط زیر کلاس Activity را مشخص می کند و ویژگی های label android: رشته ای را برای استفاده به عنوان برچسب فعالیت مشخص می کند. با استفاده از برچسب می توانید چندین فعالیت را تعیین کنید.
اقدام برای فیلتر intent android.intent.action.MAIN نامگذاری شده است تا نشان دهد این فعالیت به عنوان نقطه ورود به برنامه عمل می کند. این دسته برای فیلتر intent android.intent.category.LAUNCHER نامگذاری شده است تا نشان دهد که برنامه را می توان از نماد راه انداز دستگاه راه اندازی کرد.
string به فایل strings.xml در زیر توضیح داده شده است. از این رو ، @ string / app_name به رشته app_name تعریف شده در فایل strings.xml ، که “HelloWorld” است ، اشاره دارد. به همین ترتیب ، رشته های دیگر در برنامه جمع می شوند.
در زیر لیستی از برچسب ها آورده شده است که برای تعیین م .لفه های مختلف برنامه Android از آنها در پرونده مانیفست خود استفاده خواهید کرد

  • <activity>elements for activities
  • <service> elements for services
  • <receiver> elements for broadcast receivers
  • <provider> elements for content providers

فایل Strings.xml

فایل strings.xml در پوشه res / values قرار دارد و حاوی تمام متنی است که برنامه شما از آن استفاده می کند. به عنوان مثال ، نام دکمه ها ، برچسب ها ، متن پیش فرض و انواع مشابه رشته ها در این پرونده قرار می گیرند. این پرونده مسئول محتوای متنی آنها است. به عنوان مثال ، یک فایل رشته ای پیش فرض مانند فایل زیر خواهد بود.

<resources>
   <string name="app_name">HelloWorld</string>
   <string name="hello_world">Hello world!</string>
   <string name="menu_settings">Settings</string>
   <string name="title_activity_main">MainActivity</string>
</resources>

فایل Layout

activity_main.xml یک فایل طرح بندی موجود در دایرکتوری res / layout است که هنگام ساخت رابط کاربری شما به آن ارجاع می شود. شما برای تغییر چیدمان برنامه خود خیلی مرتباً این فایل را تغییر می دهید. برای “سلام جهان!” برنامه ، این پرونده دارای محتوای زیر است که مربوط به طرح پیش فرض است.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >
   
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_centerVertical="true"
      android:padding="@dimen/padding_medium"
      android:text="@string/hello_world"
      tools:context=".MainActivity" />
      
</RelativeLayout>

این نمونه ای از RelativeLayout ساده است که در یک فصل جداگانه مطالعه خواهیم کرد. TextView یک کنترل Android است که برای ساخت رابط کاربری گرافیکی مورد استفاده قرار می گیرد و دارای ویژگی های مختلفی مانند android است: layout_width ، android: layout_height و غیره که برای تنظیم عرض و ارتفاع آن استفاده می شود و غیره.string به فایل رشته های پوشه res / values. از این رو ، @ string / hello_world به رشته سلامی تعریف شده در فایل strings.xml ، که “سلام به جهان!” اشاره دارد.

اجرای برنامه

بیایید سعی کنیم Hello World خود را اجرا کنیم! برنامه ای که ما فقط ایجاد کردیم. من تصور می کنم شما AVD خود را هنگام راه اندازی محیط ایجاد کرده اید. برای اجرای برنامه از Android studio ، یکی از پرونده های فعالیت پروژه خود را باز کنید و از نوار ابزار روی نماد اجرا کلیک کنید. Android studio برنامه را روی AVD شما نصب کرده و شروع به کار می کند و اگر با تنظیمات و برنامه هایتان همه چیز خوب باشد ، زیر پنجره شبیه ساز نمایش داده می شود.

آموزآموزش برنامه نویسی اندرویدش برنامه نویسی اندروید