برنامه های اندروید به چه زبانی نوشته می شوند؟ برای توسعه اندروید کدام زبان برنامه نویسی را یاد بگیرم؟
در هر کسب و کاری، سخت ترین کار شروع است. اغلب سخت است که وارد زمینه شویم، چیزی که وقتی تصمیم گرفتم اولین برنامه اندروید خود را توسعه دهم با آن مواجه شدم. این مقاله برای کسانی است که می خواهند شروع کنند، اما نمی دانند از کجا.
این مقاله کل چرخه توسعه برنامه را پوشش می دهد. با هم یک بازی Tic-Tac-Toe ساده با یک صفحه می نویسیم (در سیستم عامل اندروید به آن Activity می گویند).
عدم تجربه توسعه جاوا نباید مانعی برای تسلط بر اندروید باشد. بنابراین، نمونهها از ساختارهای خاص جاوا استفاده نخواهند کرد (یا تا حد امکان به حداقل میرسند). اگر به عنوان مثال PHP می نویسید و با اصول اساسی توسعه نرم افزار آشنا هستید، این مقاله برای شما بسیار مفید خواهد بود. به نوبه خود، از آنجایی که من در توسعه جاوا متخصص نیستم، می توان فرض کرد که کد منبع برای برچسب "بهترین شیوه ها برای توسعه جاوا" واجد شرایط نیست.
نصب برنامه ها و ابزارهای مورد نیاز
من ابزارهای لازم را لیست می کنم. 3 مورد از آنها وجود دارد:
- IDE با پشتیبانی از توسعه اندروید:
- پلاگین Eclipse + ADT;
- IntelliJ IDEA Community Edition.
- پلاگین Netbeans + nbandroid;
برنامه های کاربردی به ترتیب مشخص شده در بالا نصب می شوند. نصب تمام IDE های لیست شده فایده ای ندارد (مگر اینکه در انتخاب مناسب مشکل داشته باشید). من از IntelliJ IDEA Community Edition استفاده می کنم، یکی از پیشرفته ترین IDE های جاوا که امروزه در دسترس است.
راه اندازی یک دستگاه مجازی
با راه اندازی AVD Manager و نصب بسته های اضافی (SDK نسخه های مختلف)، می توانید شروع به ایجاد یک دستگاه مجازی با پارامترهای لازم کنید. درک رابط نباید دشوار باشد.لیست دستگاه
ایجاد یک پروژه
من همیشه مشتاق هستم تا به کار برسم و فعالیت های مقدماتی را که شامل ایجاد پروژه در IDE می شود، به حداقل برسانم، به خصوص زمانی که پروژه آموزشی است و قصد تولید ندارد.بنابراین، File->New Project:
با فشردن دکمه F6 پروژه مونتاژ، کامپایل و روی دستگاه مجازی راه اندازی می شود.
ساختار پروژه
اسکرین شات قبلی ساختار پروژه را نشان می دهد. از آنجایی که در این مقاله اهداف کاملاً عملی را دنبال می کنیم، فقط بر روی پوشه هایی تمرکز خواهیم کرد که در روند کار از آنها استفاده خواهیم کرد. این ها دایرکتوری های زیر هستند: ژنرال, پاسخو src.در یک پوشه ژنرالفایل هایی وجود دارند که به طور خودکار هنگام ساخت پروژه تولید می شوند. شما نمی توانید آنها را به صورت دستی تغییر دهید.
پوشه res برای ذخیره منابعی مانند تصاویر، متون (از جمله ترجمه ها)، مقادیر پیش فرض، طرح بندی ها در نظر گرفته شده است.
src- این پوشه ای است که قسمت اصلی کار در آن انجام می شود، زیرا فایل هایی با کد منبع برنامه ما در اینجا ذخیره می شوند.
خطوط اول
به محض ایجاد Activity (صفحه برنامه)، متد onCreate() فراخوانی می شود. IDE آن را با 2 خط پر کرد:
super.onCreate(savedInstanceState); setContentView(R.layout.main);
متد setContentView (معادل this.setContentView) طرح xml را برای صفحه فعلی تنظیم می کند. در ادامه، طرحبندی xml را «طرحبندی» و صفحهنمایش را «فعالیت» مینامیم. طرح بندی در برنامه به صورت زیر خواهد بود:
TableLayout برای این برنامه ایده آل است. شناسه را می توان به هر منبعی اختصاص داد. در این حالت به TableLayout id = main_l اختصاص داده می شود. با استفاده از متد findViewById() می توانید به view دسترسی داشته باشید:
طرح بندی TableLayout خصوصی. // این یک ویژگی از کلاس KrestikinolikiActivity است void public onCreate(Bundle savedInstanceState) ( super.onCreate(savedInstanceState); setContentView(R.layout.main); layout = (TableLayout) findViewById(R.id.mainame)؛ )
حال باید متد buildGameField() را پیاده سازی کنیم. برای این کار باید یک فیلد به شکل ماتریس ایجاد کنید. این کار توسط کلاس Game انجام خواهد شد. ابتدا باید یک کلاس Square برای سلول ها و یک کلاس Player ایجاد کنید که اشیاء آن این سلول ها را پر کنند.
Square.java
بسته com.example; کلاس عمومی مربع ( پخش کننده خصوصی = تهی؛ پر کردن فضای خالی عمومی (بازیکن پخش کننده) (این. بازیکن = پخش کننده؛ ) بولین عمومی isFilled() (اگر (بازیکن != پوچ) (بازگشت درست؛) برگشت نادرست؛ ) عمومی پلیر getPlayer () (بازیکن برگشتی؛ ) )Player.java
بسته com.example; کلاس عمومی Player ( نام رشته خصوصی؛ پخش کننده عمومی (نام رشته) ( this.name = نام؛ ) عمومی CharSequence getName() (بازگرداندن (CharSequence) نام؛ ))تمام کلاس های برنامه ما در پوشه src قرار دارند.
Game.java
بسته com.example; کلاس عمومی بازی ( /** * فیلد */ فیلد مربع خصوصی؛ /** * سازنده * */ بازی عمومی() ( فیلد = مربع جدید؛ مربع تعداد = 0؛ // پر کردن فیلد برای (int i = 0، l = میدان.طول;شروع بازی در سازنده KrestikinolikiActivity.
public KrestikinolikiActivity() ( game = new Game(); game.start(); // بعدا پیاده سازی خواهد شد)
متد buildGameField() از کلاس KrestikinolikiActivity. به صورت پویا سطرها و ستون ها را به جدول (فیلد بازی) اضافه می کند:
دکمه های خصوصی دکمه = دکمه جدید.
//(...) خلا خصوصی buildGameField() ( فیلد مربع = game.getField()؛ برای (int i = 0, lenI = field.length; i
خط 8 یک شی ایجاد می کند که رابط View.OnClickListener را پیاده سازی می کند. بیایید یک کلاس Listener تودرتو ایجاد کنیم. فقط از KrestikinolikiActivity قابل مشاهده خواهد بود.
Public class Listener View.OnClickListener را پیاده سازی می کند (int خصوصی x = 0؛ خصوصی int y = 0؛ public Listener(int x, int y) ( this.x = x; this.y = y; ) public void onClick (نمایش مشاهده) ( دکمه دکمه = (دکمه) نمایش؛ ) )
باقی مانده است که منطق بازی را پیاده سازی کنیم.
بازی کلاس عمومی ( /** * بازیکنان */ بازیکنان خصوصی؛ /** * فیلد */ فیلد مربع خصوصی؛ /** * بازی شروع شده است؟ */ بولین خصوصی شروع شده است؛ /** * بازیکن فعلی */ خصوصی Player activePlayer /** تعداد سلول های پر شده را می شمارد */ private int پر شده /** * * * * * * * * * عمومی بازی () = 0; // پر کردن فیلد برای (int i = 0, l = field.length; i
تعیین برندهK.O پیشنهاد می کند که برنده در tic-tac-toe کسی است که X یا O را در خطی برابر با طول میدان به صورت عمودی یا افقی یا مورب ردیف کند. اولین فکری که به ذهن خطور می کند نوشتن روش هایی برای هر مورد است. من فکر می کنم الگوی زنجیره مسئولیت در این مورد به خوبی کار خواهد کرد. بیایید رابط را تعریف کنیم
بسته com.example; رابط عمومی WinnerCheckerInterface (بازکن عمومی checkWinner();)
از آنجایی که Game مسئولیت تعیین برنده را دارد، این رابط را پیاده سازی می کند. زمان ایجاد "خطوط" مجازی است، که هر کدام سمت خود را بررسی می کنند. همه آنها رابط WinnerCheckerInterface را پیاده سازی می کنند.
WinnerCheckerHorizontal.javaبسته com.example; کلاس عمومی WinnerCheckerHorizontal WinnerCheckerInterface (بازی خصوصی بازی؛ عمومی WinnerCheckerHorizontal(بازی) (این. بازی = بازی؛ ) عمومی چکWinner() (فیلد مربع = game.getField()؛ بازیکن currPlayer؛ بازیکن lastPlayer = تهی؛ برای (int) i = 0، len = field.length;
بسته com.example; کلاس عمومی WinnerCheckerVertical WinnerCheckerInterface را پیاده سازی می کند (بازی خصوصی بازی؛ عمومی WinnerCheckerVertical (بازی) (این. بازی = بازی؛ ) عمومی چکWinner() ( فیلد مربع = game.getField()؛ بازیکن currPlayer؛ بازیکن lastPlayer = null؛ برای (int i = 0، len = field.length;WinnerCheckerDiagonalLeft.java
بسته com.example; کلاس عمومی WinnerCheckerDiagonalLeft WinnerCheckerInterface را پیاده سازی می کند (بازی خصوصی بازی؛ عمومی WinnerCheckerDiagonalLeft(بازی) (این. بازی = بازی؛ ) چک بازیکن عمومیWinner() ( فیلد مربع = game.getField()؛ بازیکن currPlayer؛ بازیکن lastPlayer = تهی؛ int successCo 1 برای (int i = 0، len = field.length؛ iWinnerCheckerDiagonalRight.java
بسته com.example; کلاس عمومی WinnerCheckerDiagonalRight WinnerCheckerInterface را پیاده سازی می کند (بازی خصوصی بازی؛ عمومی WinnerCheckerDiagonalRight(بازی) (این. بازی = بازی؛ ) عمومی چکWinner() (فیلد مربع = game.getField(); CurrPlayer بازیکن؛ بازیکن lastPlayer = تهی؛ int موفقیتCo 1 برای (int i = 0، len = field.length؛ iبیایید آنها را در سازنده Game مقداردهی کنیم:
//(....) /** * «قضات» =). بعد از هر حرکت آنها * را بررسی می کنند تا ببینند آیا برنده ای وجود دارد */ WinnerCheckerInterface winnerCheckers خصوصی.
//(....) عمومی بازی() ( //(....) winnerCheckers = WinnerCheckerInterface جدید؛ winnerCheckers = new WinnerCheckerHorizontal(this)؛ winnerCheckers = new WinnerCheckerVertical(this); winnerCheckers = new WinnerCheckerDiagonalLeft(this); winnerCheckers = new WinnerCheckerDiagonalRight(this);
پیاده سازی checkWinner():
عمومی پخش کننده checkWinner() (برای (WinnerCheckerInterface winChecker: winnerCheckers) (بازیکن برنده = winChecker.checkWinner(؛ if (برنده != تهی) (برنده برگشت؛) ) برنده صفر؛ )
ما بعد از هر حرکت برنده را بررسی می کنیم. بیایید کدی را به متد onClick() کلاس Listener اضافه کنیم
public void onClick(نمایش) (دکمه دکمه = (دکمه) نمایش؛ بازی g = بازی؛ بازیکن بازیکن = g.getCurrentActivePlayer(); if (makeTurn(x, y)) ( button.setText(player.getName()) ; ) برنده بازیکن = g.checkWinner (اگر (برنده != تهی) (gameOver(برنده);) اگر (g.isFieldFilled())
خصوصی void gameOver(بازیکن) ( متن CharSequence = "بازیکن \"" + player.getName() + "\" برد!"؛ Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); game.reset () refresh();
برای جاوا، gameOver (پخش کننده) و gameOver() روش های متفاوتی هستند. با استفاده از Builder Toast.makeText، می توانید به سرعت یک اعلان ایجاد و نمایش دهید که وضعیت فیلد را به روز می کند:
Private void refresh() (فیلد مربع = game.getField(); برای (int i = 0، len = field.length; i
آماده! امیدوارم این مقاله به شما کمک کرده باشد تا در دنیای توسعه اندروید راحت باشید. با تشکر از توجه شما!
ویدیوی برنامه تمام شده
برنامه نویسی یکی از آن حوزه هایی است که همه می توانند احساس کنند خالق هستند. معمولاً به توسعه برنامه های کاربردی برای رایانه های شخصی، واحدهای تجهیزات تولید یا به سادگی برای محصولات خانگی الکترونیکی اشاره دارد. اما با گسترش دستگاه های تلفن همراه با صفحه لمسی، برنامه نویسی برای اندروید، iOS یا پوسته سیستم دیگری از نوع مشابه روز به روز محبوب تر می شود. خوب، باید اعتراف کنم، این یک شغل امیدوارکننده است. بنابراین، در چارچوب مقاله، اجرای اندروید را از ابتدا در نظر خواهیم گرفت. چه ویژگی هایی وجود دارد؟ چه زبانی استفاده می شود؟
ایجاد برنامه ها
قبل از اینکه خودتان برنامه بنویسید، باید تمام اجزای لازم برای این کار را مطالعه کنید:
- زبان.
- محیط توسعه خود را انتخاب کنید. همچنین به جزئیات زبان و همچنین محصولات نرمافزاری که در آن برنامهها ایجاد خواهند شد، خواهیم پرداخت. اما ابتدا اجازه دهید کمی در مورد محیط های توسعه صحبت کنیم. به طور متعارف، آنها را می توان به سه جزء تقسیم کرد:
- گرافیکی;
- معمولی؛
- آنلاین
در مورد ایجاد برنامه ها باید توجه داشت که اکنون ارائه ایده ای که قبلاً کار نشده است دشوار است. بنابراین، در صورت بروز مشکل یا صرفاً در صورت کمبود دانش، باید سوء تفاهم ایجاد شده را به درستی تدوین کرد و به برنامه نویسان با تجربه تر مراجعه کرد. آنها می توانند با مشاوره سازنده به شما در ایجاد برنامه ها کمک کنند.
برنامه ها به چه زبانی نوشته می شوند؟
جاوا برای این اهداف استفاده می شود. لازم به ذکر است که این یک زبان برنامه نویسی نسبتاً پیچیده است. اما برای ایجاد برنامه های کاربردی خود نیازی به دانستن کامل آن ندارید. دانش و مهارت های اولیه در کار با اطلاعات مرجع برای دریافت پاسخ سوالات شما کافی خواهد بود. علاوه بر این، تنظیمات پیشفرض خاصی وجود دارد که با استفاده از آنها میتوانید مراحلی را برای ایجاد یک برنامه بدون مشکل مهم انجام دهید. سپس برنامه نویسی برای اندروید تبدیل به یک لذت می شود.
انتخاب یک محیط توسعه منظم
Eclipse و Android SDK به عنوان بزرگترین بازیکنان شناخته می شوند. هر دو آزاد هستند. در مجموع باید توجه داشت که این محیط های توسعه رقبای جدی هستند و هر کدام دارای نقاط قوت و ضعف متعددی هستند. هر یک از آنها ارزش مطالعه دارد. به طور جداگانه، اجازه دهید کمی روی یک جنبه از Android SDK - شبیه ساز تمرکز کنیم. این برنامه ای است که وانمود می کند گوشی یا تبلتی است که روی اندروید اجرا می شود. شبیه ساز به راحتی روی یک کامپیوتر معمولی اجرا می شود و مانند یک دستگاه تلفن همراه استاندارد روی دسکتاپ به نظر می رسد. تنها یک ویژگی وجود دارد - با استفاده از ماوس و صفحه کلید کنترل می شود و نه با انگشت شما. در شبیه ساز، می توانید عملکرد برنامه را برای پسوندهای مختلف صفحه نمایش و همچنین در نسخه های مختلف سیستم عامل موبایل اندروید بررسی کنید. بنابراین، مهم نیست که چقدر برای شما عجیب به نظر می رسد، هنگام توسعه برنامه های کاربردی با هدف اندروید، داشتن یک گوشی اصلا ضروری نیست.
برای توسعه اپلیکیشن خود به چه چیزی نیاز دارید؟
محیط های توسعه گرافیکی
این گزینه برای کسانی مناسب است که به طور کلی هیچ ایده ای در مورد برنامه نویسی ندارند، اما می خواهند اپلیکیشن خود را اینجا و اکنون دریافت کنند. ابتدا باید با توضیحات و قابلیت های محیط های توسعه گرافیکی آشنا شوید. بنابراین، برخی می توانند تنها ساده ترین عناصر را قرار دهند و حداقل عملکرد را به آنها متصل کنند. بهتر است از چنین منابعی استفاده نکنید، زیرا با کمک آنها درک منطق کار و ایجاد یک محصول نهایی توسعه یافته دشوار خواهد بود. توصیه می شود با توجه به پارامترهای زیر انتخاب کنید:
- در دسترس بودن یک رابط بصری.
- با استفاده از منطق عملیاتی روشن
- امکان ایجاد عناصر در حالت های گرافیکی و کد.
- در دسترس بودن اسناد برای کار با محیط توسعه و یک انجمن پشتیبانی.
محیط توسعه آنلاین
آنها می توانند طیف گسترده ای از عملکرد را در یک نقطه دسترسی ساده - اینترنت - ارائه دهند. "محیط توسعه آنلاین" احتمالاً همه چیز را می گوید. اگرچه باید روشن شود که تحت اندروید هنوز کار آسانی نیست. بنابراین، سختترین کار پیادهسازی تیراندازها و برنامههای کاربردی با پیچیدگی مشابه خواهد بود. اما برنامه هایی با قالب بندی متن و انتقال داده ها آسان هستند.
نتیجه گیری
امیدواریم در مورد مراحل اولیه آماده سازی برای ایجاد برنامه های خود سوال دیگری وجود نداشته باشد. اگر تصمیم دارید برنامه نویسی را جدی بگیرید، می توانید از ادبیات خاصی استفاده کنید. به عنوان مثال، کتاب "برنامه نویسی برای اندروید" نوشته هاردی برایان. البته این تنها کار خوب نیست، بلکه باید از یک جایی شروع کرد. با خواندن این راهنما می توانید مسیر موفقیت را آغاز کنید.
سلام. امروز در سایت بنیاد لینوکس با یک پست در مورد یک دوره برنامه نویسی برای اندروید برخورد کردم و در کنار آن نظرات زیادی که دوست دارم ترجمه این درس ها را ببینم. از الان بعد از چهار سال توسعه برای میکروکنترلرها شروع به مطالعه برنامه نویسی برای دستگاه های موبایل کردم، همزمان تصمیم گرفتم قسمت اول درس را ترجمه کنم.
برنامه نویسی اندروید برای مبتدیان. قسمت 1
تلفن های هوشمند و تبلت های اندرویدی به طور فزاینده ای در کیف و جیب ما یافت می شوند و برنامه نویسی اندروید نیز محبوبیت بیشتری پیدا می کند. این یک پلتفرم توسعه عالی است - API به خوبی مستند شده و استفاده از آن آسان است، و ایجاد چیزی که بتوانید روی گوشی هوشمند خود اجرا کنید بسیار سرگرم کننده است. در ابتدا، با ایجاد و آزمایش کد با استفاده از شبیه ساز در رایانه شخصی لینوکس، می توانید بدون آن کار کنید. اولین قسمت از یک مقدمه دو قسمتی نحوه ایجاد یک برنامه تایمر ساده را توضیح میدهد و به شما مقدمهای با API اندروید میدهد. این دوره درک پایه ای از جاوا، XML و فن آوری های برنامه نویسی را در نظر می گیرد، اما حتی اگر درک بسیار مبهمی از آن دارید، با خیال راحت امتحان کنید.شروع کار و محیط توسعه
کمی در مورد نسخه ها: آخرین نسخه اندروید 4.2 (Jelly Bean) است، اما همانطور که از این نمودار می بینید، هنوز فراگیر نشده است. بهتر است توسعه را روی یکی از نسخههای 4.0 (Ice Cream Sandwich) یا 2.3 (Gingerbeard) شروع کنید، به خصوص که نسخههای Android با نسخههای قبلی سازگار هستند (یعنی کد شما برای نسخه 2.3 روی 4.2 کار میکند)، و برنامههای توسعهیافته برای نسخههای بعدی. همیشه روی یک قدیمی تر کار نمی کند. کد نشان داده شده در اینجا باید روی نسخه های 4.0 و 2.3 کار کند.ساده ترین راه برای دریافت یک محیط توسعه، نصب Android Bundle است که می توانید آن را دانلود کنید. همچنین به JDK 6 (نه فقط JRE) نیاز خواهید داشت. فراموش نکنید که اندروید با gcj سازگار نیست. اگر قبلاً از Eclipse یا IDE دیگری استفاده میکنید، میتوانید آن را برای Android تنظیم کنید. نحوه انجام این کار توضیح داده شده است. اکنون با استفاده از Eclipse یا از خط فرمان پروژه ای به نام Countdown ایجاد کنید. تنظیمات را روی BuildSDK 4.0.3 و حداقل SDK 2.2 قرار دادم و (در Eclipse) از قالب BlankActivity استفاده کردم.
اولین پروژه من برای اندروید: رابط
اولین برنامه ما برای اندروید یک تایمر خواهد بود که پس از فشار دادن یک دکمه، شمارش معکوس را از 10 ثانیه نشان می دهد. قبل از نوشتن کد، باید یک رابط ایجاد کنیم - آنچه کاربر هنگام راه اندازی برنامه ما می بیند. شما باید res/layout/activity_countdown.xml را باز کنید و یک الگوی XML ایجاد کنید - با استفاده از ویرایشگر Eclipse یا یک ویرایشگر متن/XML، موارد زیر را وارد کنید:تبریک می گوییم، شما به تازگی اولین برنامه اندروید خود را ایجاد کرده اید. در قسمت دوم این مقدمه، نگاهی دقیقتر به ساختار برنامه اندروید خواهیم داشت و برخی بهبودها را در برنامه خود ایجاد میکنیم: ورودی زمان شمارش معکوس، دکمه توقف و منو. ما همچنین آن را بر روی یک دستگاه واقعی و نه بر روی یک شبیه ساز اجرا خواهیم کرد.
برنامه نویسی اندروید یک شغل هیجان انگیز در زمینه دستگاه های تلفن همراه است. چه کسی رویای توسعه بازی خود را برای یک گوشی هوشمند یا تبلت، نوشتن یک برنامه کاربردی مفید و تکرار موفقیت پروژههایی مانند EverNote و Angry Birds را نداشته است؟
برای ایجاد برنامه های منحصر به فرد به تمام خلاقیت، هوشیاری ذهنی و رویکرد خلاقانه خود نیاز دارید. آیا پر از ایده های درخشان هستید؟ با انتخاب برنامه نویسی اندروید، می توانید به سرعت به موفقیت و شناخت دست پیدا کنید، شاید سریعتر از سایر زمینه های IT.
یک توسعه دهنده اندروید همیشه نتایج کار خود را می بیند، زیرا هر برنامه جداگانه یک پروژه جداگانه است که از پایه تا سقف "آجر به آجر" ساخته شده است. به لطف کد شما، برنامه یا بازی زنده می شود، رنگ ها و ویژگی های منحصر به فردی را به دست می آورد که خلقت شما را به یک شاهکار تبدیل می کند. برنامه نویسان اندروید عملاً با هیچ محدودیتی محدود نمی شوند. هدف اصلی یک توسعه دهنده اندروید ایجاد یک اپلیکیشن محبوب است. اینکه چگونه و به چه روشی این کار را انجام می دهید فقط به شما بستگی دارد!
یک برنامه نویس اندروید برنامه هایی را برای گوشی های هوشمند و تبلت ها از جمله بازی ها ایجاد، آزمایش و پشتیبانی می کند.
برای این کار باید زبان برنامه نویسی اندروید - جاوا را بدانید. شما باید با سینتکس زبان آشنا باشید و بتوانید با محیط های توسعه جاوا کار کنید. محیط های توسعه، رابط های ویژه ای هستند که برای آسان کردن نوشتن یک برنامه طراحی شده اند. کافی است پوسته های زیر را در سطح متوسط بشناسید: NetBeans، Eclipse، IntelliJ IDEA. اما بهتر است روی Android Studio یا Android SDK تمرکز کنید - محیط های توسعه تخصصی که برای اندروید طراحی شده اند.
تسلط به زبان انگلیسی مهم است، زیرا بسیاری از کتابچه های راهنما برای آخرین نسخه های جاوا یا خود اندروید به سادگی به روسی ترجمه نمی شوند. اگر دانش فنی انگلیسی کافی ندارید، مهم نیست - دوره های به زبان روسی وجود دارد: "چگونه یک برنامه برای اندروید بنویسیم."
متقاضی باید دانش اولیه XML، یک زبان نشانه گذاری که به طور گسترده در جاوا استفاده می شود، داشته باشد. علاوه بر این، یک توسعه دهنده اندروید باید اصول ارتباط بین مشتری و سرور را درک کند. قابلیت استفاده را فراموش نکنید - چقدر راحت برنامه تا حد زیادی محبوبیت آن را تعیین می کند. ایجاد یک رابط خوب هنری است که باید دائماً تقویت شود.
یک برنامه نویس اندروید باید از آخرین تغییرات سیستم عامل آگاه باشد، زیرا اندروید بسیار سریع در حال توسعه است و اگر هنگام تغییر نسخه ها بر ظهور ویژگی های جدید سیستم عامل نظارت نداشته باشید، خیلی زود دانش شما قدیمی می شود.
برای مثال، اگر دانش اضافی خاصی دارید، میدانید که چگونه یک سیگنال ضعیف بر عملکرد یک برنامه مبتنی بر وب تأثیر میگذارد، پس شانس استخدام شما افزایش مییابد. با این حال، تنها کسانی می توانند چنین مهارت هایی را داشته باشند که قبلا برنامه نویسی اندروید را در یک شرکت کم و بیش جدی امتحان کرده باشند و تجربه کاری واقعی داشته باشند. با این حال، هیچ چیز جدیدی نیست: تجربه در IT نقش مهمی ایفا می کند.
امروزه برنامه نویسی اندروید در تمامی سطوح مورد تقاضا است. استودیوهای بزرگ فناوری اطلاعات مشغول ایجاد برنامهها و بازیهای «در جریان» هستند، بنابراین آنها همیشه به پرسنل جدید نیاز دارند. اما برای شروع کار خود می توانید به جای خالی سازمان های کوچک نگاه کنید. پس از همه، آنها همچنین علاقه مند به ایجاد برنامه های کاربردی هستند. به عنوان مثال، فروشگاه های آنلاین یا خدمات تحویل غذا اغلب اپلیکیشن اندرویدی خود را دارند.
علاوه بر این، همیشه می توانید شانس خود را امتحان کنید و سعی کنید برنامه خود را بنویسید که می تواند پرفروش شود و سپس همه راه ها به روی شما باز می شود و این باید برای یک پیری راحت کافی باشد :)
برخی از بهترین مکانها برای کار بانکها هستند، جایی که باید از برنامههای مشتری پشتیبانی کنید. این یک شغل مسئولیت پذیر و بسیار پردرآمد است که تنها در صورت داشتن دانش و تجربه قوی می توانید آن را بدست آورید. و اگر می دانید چگونه یک بازی برای اندروید بسازید، پس راه صنعت بازی های موبایل به روی شما باز است.
حقوق یک برنامه نویس اندروید مستقیماً به مهارت، تجربه کاری و نتایج مصاحبه بستگی دارد. به طور متوسط در مسکو می توانید روی ارقام زیر حساب کنید:
- شروع: 56000 روبل.
- متخصص: 108000 روبل.
- سرپرست تیم: 134000 روبل.
و این مقادیر دور از حد است. با تبدیل شدن به یک متخصص، می توانید روی 200 هزار روبل در ماه حساب کنید. و اگر بتوانید در بخش خود یک موقعیت رهبری بگیرید، پاداش می تواند به 300 هزار برسد.
مطالعه برنامه نویسی اندروید به صورت جامع ضروری است: در عین حال نوشتن برنامه ها را بیاموزید و با عملکردهای خود سیستم عامل آشنا شوید. به دلیل باز بودن و انعطافپذیری سفارشیسازی، ممکن است قبلاً تجربه و دانش معماری سیستمعامل داشته باشید. اما توسعه اندروید به مهارتهای عمیقتری نیاز دارد، بنابراین به دورههایی نیاز دارید که به شما یاد میدهند چگونه انرژی خلاق خود را در خطوط منسجم کد هدایت کنید.
به عنوان مکانی برای مطالعه، میتوانیم دورههای توسعهدهنده اندروید را که توسط مدرسه ما برگزار میشود، توصیه کنیم. روی آنها مستقیماً با برنامه ها کار خواهید کرد و در عین حال دانش مرتبط را در موارد زیر به دست خواهید آورد: پروتکل های شبکه، کار با گرافیک، تعامل با سیستم فایل، و همچنین بسیاری از مهارت های مفید دیگر. در پایان آموزش اپلیکیشن خود را در دست خواهید داشت که می توانید آن را در نمونه کار خود قرار دهید.
چگونه شروع به توسعه برای اندروید کنیم
شروع اندروید - آموزش اندروید برای مبتدیان و پیشرفته
با ما در چت های تلگرامی در موضوعات مختلف همراه باشید
در این سند می توانید ببینید که من در حال حاضر روی چه درس هایی کار می کنم و درس های بعدی در مورد چیست
درس های اندروید
اگر مبتدی هستید، پس یادگیری را با درس شروع کنید. آنها به شما کمک می کنند اندروید را از ابتدا تا سطح متوسط یاد بگیرید.
شروع به تمرین کنید
وبلاگ
این وبلاگ حاوی مطالبی درباره SDK ها، API ها، کتابخانه ها، الگوها و موارد ساده جالب است.
برو به وبلاگ
توسعه دهندگان پیشرفته به دوره هایی علاقه مند خواهند شد که فناوری ها و کتابخانه های مفید و مورد تقاضا را با جزئیات پوشش می دهند.
اجزای معماری
مجموعه ای از مکانیزم های گوگل برای ساختن معماری اپلیکیشن.
دوره را بگذرانید
تست کردن
یک ابزار مفید برای هر توسعه دهنده اندروید. از شر اشکالات برنامه های خود خلاص شوید.
دوره را بگذرانید
خنجر 2
کمکی عالی در پیاده سازی الگوی تزریق وابستگی. این به پاکسازی کد شما و کاهش وابستگی بین اشیا کمک می کند.
دوره را بگذرانید
آموزش برنامه نویسی اندروید
برنامه نویسی دستگاه تلفن همراه 1.0به شما کمک می کند تا یاد بگیرید که برنامه های مدرنی را که برای اجرا بر روی تلفن های همراهی که از پلتفرم جاوا پشتیبانی می کنند، طراحی شده اند. برنامه برنامه نویسی دستگاه تلفن همراه به شما کمک می کند تا برنامه ای برای هر گوشی از هر نوع، از جمله برنامه های تجاری برای فروش بیشتر آنها ایجاد کنید. این برنامه حتی در غیاب دانش اولیه راحت خواهد بود و به شما کمک می کند تا عملیات و اقدامات لازم برای ایجاد برنامه ها را کاملاً درک کنید.
ویژگی های برنامه نویسی دستگاه موبایل:
- فرصتی برای یادگیری برنامه نویسی در جاوا (J2ME) یا MIDletPascal.
- امکان ایجاد برنامه از هر نوع، از جمله آفیس، بازی، چند رسانه ای (با پشتیبانی از wav، midi یا mp3)، برای کار در اینترنت، با پشتیبانی از ارسال اس ام اس و انواع دیگر؛
- امکان استفاده از کتابخانه های اضافی برای گسترش قابلیت های برنامه های ایجاد شده؛
- امکان استفاده از شبیه سازهای تلفن همراه از رایج ترین مدل ها.
- امکان دانلود برنامه ها به تلفن همراه با استفاده از کابل، پورت مادون قرمز، بلوتوث یا WAP و همچنین تست و رفع اشکال آنها.
- توانایی ایجاد محتوای تلفن همراه: آهنگ های زنگ، بازی ها و برنامه های جاوا، انیمیشن، آرم ها و موارد دیگر.
- توانایی مطالعه روش های هک برنامه های جاوا با استفاده از ابزارهای ویژه.
- توانایی مطالعه محافظت از برنامه ها در برابر هک با استفاده از ابزارهای خاص.
مزایا:
- توانایی یادگیری اصول اولیه ایجاد برنامه در جاوا؛
- مشاهده توضیحات ویروس "RedBrowser"؛
- امکان ارسال و فروش برنامه های ایجاد شده در اینترنت؛
- فرصتی برای مطالعه مکانیسم و فروش برنامه های ایجاد شده به طور مستقل با استفاده از پرداخت SMS.
ایرادات:
- برای دریافت هر یک از دوره های آموزشی پنج ماهه، باید به توسعه دهندگان آنها پول پرداخت کنید (می توانید یک درس آزمایشی را مشاهده کنید).
- برای دسترسی به تمام دوره ها مجوز لازم است.
همچنین برنامه ها را ببینید:
پاسکال ABC
MobileJavaBookCreator
همه چیز در مورد تلفن همراه
مجسمه سازی 123 بعدی
مکعب
با مترو شروع کردم به رفتن سر کار. تعجب کردم: آیا می توان کاری را که دوست داری در جاده انجام داد؟ ما یک گوشی اندروید (به اندازه کافی بزرگ)، وای فای و چهل دقیقه وقت آزاد داریم.
جستجویی در گوگل دانا اطلاعات دلگرم کننده ای پیدا کرد. بله، آنها در دستگاه های اندرویدی و به ویژه در مترو برنامه ریزی می کنند. متاسفانه فقط روی تبلت ها. واضح است که مشکل اصلی صفحه کلید است. یا بهتر است بگوییم نبود آن. موارد روی صفحه، به عنوان یک قاعده، ضعیف هستند و به شما اجازه نمی دهند ترکیب Ctrl+C، Ctrl+V را فشار دهید - ترکیب اصلی برنامه نویسان. نبود ورودی لمسی ده انگشتی هرگز مانع یک برنامه نویس واقعی نشده است (در واقع دو انگشت کافی است)
اما من به تبلت علاقه ندارم، بلکه به گوشی!
بعد از کمی جستجو به پیکربندی زیر رسیدم:
VimTouch به نصب اضافی VimTouch Full Runtime نیاز دارد، دقیقاً به یاد ندارم که چه زمانی قبل یا در حین شروع. من فکر می کنم شما می توانید هر دو برنامه را به طور همزمان دانلود کنید.
برای Hacker’s Keyboard، میتوانید افزونهای برای فرهنگ لغت روسی زبان روسی روسی نصب کنید
SGit به چیزی نیاز نداشت. نیازی به توضیح نیست که چرا به آن نیاز است.
البته گزینه های زیادی برای هر دو و سومی وجود دارد، اما
به نظر می رسید Vim راحت ترین برای ویرایش در تلفن باشد. او به طور کلی به عنوان یک ویراستار راحت است. تمام ویرایشگرهایی که از ترکیب کلیدها برای کنترل پشتیبانی می کنند، در جعبه تلفن کنار گذاشته می شوند. Vim اینجا حکومت می کند! من از یونیورسال خود برای همه دستگاه هایم استفاده کردم.vimrc. کار می کند. این پیاده سازی برای اندروید اقتباس شده است. یک خط فرمان و منوی ویژه قابل تنظیم وجود دارد.
تنها چیزی که لازم بود انتخاب یک صفحه کلید برنامه نویسی معمولی بود که به شما امکان می دهد از انواع کنترل ها، alt ها و متاها استفاده کنید. در میان بسیاری از موارد ارائه شده در بازار، تنها یک مورد معمولی وجود داشت: صفحه کلید هکر. فقط یک اشکال دارد - دکمه ها بسیار کوچک هستند.
ناوبری سریع
برنامه نویسان با انگشتان صاف در حال استراحت هستند.
صفحه کلید مجموعه ای از تنظیمات دارد، می توانید کلیدهای ویژه را فعال و غیرفعال کنید. یکی از مثبت ترین تنظیمات استفاده از مجموعه کاراکترهای سفارشی در خط ششم است. به طور خاص، یک کلیک طولانی به شما امکان می دهد دسته ای از نمادهای اضافی را بدون تغییر حالت های دیگر انتخاب کنید. حتی فلش هایی برای حرکت وجود دارد. سایر صفحه کلیدها با قرارگیری در مکان مناسب بیرون آورده شدند. چیزی که من را در مورد آن آزار می دهد تغییر اسلاید روسی/انگلیسی با فاصله است.
ترکیب این سه جزء به ویژه به شما این امکان را می دهد که این یادداشت ها را بدون ترک واگن مترو بنویسید و منتشر کنید.
به بخشی خوش آمدید که در آن درس های برنامه نویسی در پلتفرم Android SDK هم برای مبتدیانی که قصد یادگیری برنامه نویسی را از ابتدا دارند و هم برای توسعه دهندگان و برنامه نویسان با تجربه تر که برنامه های کاربردی برای Android ایجاد می کنند جمع آوری شده است.
به طور کلی، توسعه برنامه های کاربردی تلفن همراه یک فرآیند نسبتاً پیچیده است که مستلزم مطالعه دقیق مستندات و درک دقیق همه فرآیندها است.
درس های اندروید
این به شما کمک می کند تا از طریق خودآموزی و تسلط تدریجی بر پلتفرم Android SDK یا موارد مشابه، نحوه ایجاد یک برنامه را خودتان درک کنید.
اگر به تازگی سفر خود را در نوشتن برنامه برای اندروید شروع کرده اید، باید با ایجاد اولین پروژه خود در Android SDK شروع کنید. در این مقاله، ما به طور مفصل به آنچه برای ساخت یک پروژه تمام عیار نیاز است، آنچه باید دانلود و نصب شود تا یک محیط توسعه تمام عیار را اجرا کنیم، بررسی می کنیم.
همچنین باید بدانید که فرآیند ساخت اپلیکیشن ها از طریق اپلیکیشن Eclipse با استفاده از ADT انجام می شود، این در راهنمای مربوطه پوشش داده شده است.
برنامه نویسی برای سیستم عامل اندروید
کتاب ها و ادبیات سیستم عامل اندروید (اندروید) در مورد پیکربندی، مدیریت و برنامه نویسی
اندروید (اندروید) سیستم عاملی برای گوشیهای هوشمند، تبلتهای اینترنتی، کتابهای الکترونیکی، پخشکنندههای دیجیتال، ساعتها، کنسولهای بازی، نتبوکها، تلویزیونها و سایر دستگاهها است. بر اساس هسته لینوکس و پیاده سازی خود گوگل از ماشین مجازی جاوا. اندروید به شما امکان می دهد برنامه های جاوا را ایجاد کنید که دستگاه را از طریق کتابخانه های توسعه یافته توسط Google کنترل می کنند. Android Native Development Kit به شما امکان می دهد کتابخانه ها و اجزای برنامه را که به زبان C و زبان های دیگر نوشته شده اند، پورت کنید. 86 درصد از گوشی های هوشمند فروخته شده در سه ماهه دوم سال 2014 دارای سیستم عامل اندروید بودند. در همان زمان، بیش از 1 میلیارد دستگاه اندرویدی در طول سال 2014 فروخته شد. شما می توانید کتاب ها، آموزش ها و ادبیات آموزش مدیریت و برنامه نویسی برای توسعه دهندگان و کاربران را به صورت کاملا رایگان در این صفحه مشاهده و دانلود کنید.
با عرض پوزش، این بخش در حال ساخت است. شما یک خطا در نحو SQL خود دارید. راهنمای مربوط به نسخه سرور MySQL خود را برای نحو مناسب برای استفاده در نزدیکی "در خط 1 بررسی کنید.
هر ساله سیستم عامل اندروید نه تنها به یک سیستم عامل مناسب برای کاربران عادی، بلکه به پلتفرمی قدرتمند برای توسعه دهندگان تبدیل می شود. خوب، چه کاری میتوانید انجام دهید: Google همیشه در نیمه راه با توسعهدهندگان ملاقات میکند و فرصتهای فراوان و ابزارهای قدرتمندی را فراهم میکند که با اسناد آموزنده چاشنی میشود.
علاوه بر این، نباید از این واقعیت غافل شد که "ربات سبز" رهبر محبوبیت در میان سیستم عامل های تلفن همراه است. این نشان می دهد که با برنامه نویسی برای اندروید، مخاطبان زیادی خواهید داشت که بعداً می تواند سود به همراه داشته باشد. به طور کلی، اندروید نوعی "واحه" برای توسعه دهندگان است. بنابراین، ما برای شما مجموعه ای ویژه از زبان های برنامه نویسی و همچنین محیط های توسعه این سیستم عامل را آماده کرده ایم.
توجه، یک توصیه کوچک برای مبتدیان: برنامه نویسی اندروید ممکن است در ابتدا دشوار یا بیش از حد یکنواخت به نظر برسد. نکته: قبل از شروع، پیوندهای اسناد مفید را بررسی کنید، سپس برنامه نویسی در Android برای شما مشکلی ایجاد نخواهد کرد.
جاوا ابزار اصلی توسعه دهندگان اندروید است
محیط های توسعه: Android Studio (IntelliJ IDEA)، پلاگین Eclipse + ADT مناسب برایطیف گسترده ای از وظایف
جاوا زبان اصلی برنامه نویسان اندروید است که برای مبتدیان ضروری است. کد منبع اصلی اندروید به این زبان نوشته شده است، بنابراین به راحتی می توان فهمید که چرا اکثر مردم این زبان را انتخاب می کنند. برنامه های نوشته شده در جاوا بر روی اندروید با استفاده از ماشین مجازی ART (یا Dalvik در Jelly Bean و نسخه های قبلی آندروید) اجرا می شوند که مشابه ماشین مجازی جاوا است که گوگل بر سر آن یک نبرد حقوقی جدی با اوراکل دارد.
گوگل در حال حاضر به طور رسمی از محیط توسعه نسبتا قدرتمند Android Studio پشتیبانی می کند که بر اساس Intellij IDEA از JetBrains ساخته شده است. همچنین، اسناد بسیار دقیق Google را فراموش نکنید، که همه چیز را از match_parent و wrap_content گرفته تا سازندهها، ثابتها و روشهای اصلی کلاس JavaHttpConnection را پوشش میدهد - قطعاً ارزش خواندن دارد.
همچنین، Eclipse را که یک محیط بسیار محبوب برای برنامه نویسان جاوا است، فراموش نکنید. با پلاگین رسمی ADT گوگل، این جعبه ابزار به سلاحی قدرتمند و سبک در دستان شما تبدیل خواهد شد. اما بچههای Mountain View از تابستان گذشته پشتیبانی از Eclipse را متوقف کردند و جای خود را به Android Studio جدید دادند. برای استفاده در رایانه های شخصی ضعیف توصیه می شود.
مدارک مورد نیاز:
C++ یک ابزار قدرتمند در دستان استاد است
محیط های توسعه اصلی: اندروید استودیو (نسخه 1.3 و بالاتر)، ویژوال استودیو 2015، QtCreatorمناسب برایموتورهای بازی و برنامه های کاربردی منابع فشرده.
C++ یک زبان برنامه نویسی میانسال اما بسیار قدرتمند است که سال گذشته سی سالگی خود را جشن گرفت. این در سال 1985 به لطف تلاش های دوست Björn Stroustrup اختراع شد و هنوز هم جایگاه های برتر محبوب ترین زبان های برنامه نویسی را اشغال می کند. "مزایای" به شما آزادی عمل کامل می دهد و شما را فقط به آنچه معقول است محدود می کند.
در کل وجود اندروید، فریمورک ها و ابزارهای توسعه زیادی برای C++ ایجاد شده است. من بهویژه میخواهم Qt و IDE QtCreator معروف را برجسته کنم که به شما امکان میدهد برنامههای چند پلتفرمی را برای Windows، Windows Phone، Windows RT، iOS، SailfishOS و Android توسعه دهید (زمانی که این لیست شامل Symbian نیز میشد). علاوه بر این، شما یک کتابخانه راحت Tulip از ظروف، الگوریتم ها و قالب ها دریافت می کنید که بهترین جاوا و اندروید را جذب می کند. و در نهایت، ماژول های QT مختلف زیادی را برای کار در سطح بالا و پایین با سیستم دریافت می کنید. بنده حقیر شما به طور خاص در ترکیبی از C++ و Qt کد می نویسد.
سال گذشته، در کنفرانس Windows: The Next Champter، توجه گستردهای به محیط توسعه نسبتاً محبوب Visual Studio 2015 معطوف شد. یکی از نوآوریهای اصلی پشتیبانی از توسعه برنامههای کاربردی برای Windows Phone و Android بود - مایکروسافت سعی کرد به نحوی این تعداد را افزایش دهد. برنامه های کاربردی برای سیستم عامل شما
همچنین نمی توان ناگفته نماند که Android Studio رسمی شروع به پشتیبانی از NDK کرد. با کمک NDK می توانید از گرافیک OpenGL هنگام کار با اندروید استفاده کنید. اگر به سرعت و کارایی نیاز دارید - NDK را انتخاب کنید! این روش توسعه برای موتورهای بازی که به عملکرد بالایی نیاز دارند عالی است.
توسعه اندروید در C یا C++ ممکن است ساده تر از جاوا به نظر برسد، اما علیرغم این واقعیت که این زبان آزادی عمل کامل را به شما ارائه می دهد و شما را در مراحل شما محدود نمی کند، دارای ویژگی های خاصی است که یادگیری آنها زمان زیادی می برد - بدون دلیل C++ با nunchucks (یک سلاح عالی که متأسفانه به مهارت زیادی نیاز دارد) مقایسه شده است. با این حال، توسعه برنامه های اندروید در C و C++ می تواند سرگرم کننده باشد.
مدارک مورد نیاز:
زبان های دیگر
اکنون زمان آن است که در مورد سایر زبان ها و فریمورک های کمتر محبوب، اما همچنین جذاب برای آنها صحبت کنیم. با این حال، به دلایل زیادی، با جاوا و سی پلاس پلاس به آن اندازه موفق نخواهید بود.کرونا (اسکریپت LUA)
مناسب برایایجاد بازی ها و برنامه های کاربردی ساده
اگر به دلایلی نمی خواهید جاوا را یاد بگیرید یا ساختن یک رابط از طریق XML را درک نکنید، می توانید این IDE را برای خود انتخاب کنید. Corona یک محیط توسعه نسبتاً سبک است، کدی که در آن باید با یک LUA نسبتاً سبک وزن نوشته شود (دوستداران پاسکال از آن استقبال خواهند کرد).
این جعبه ابزار هنگام نوشتن بازی های دو بعدی ساده به شما کمک می کند، که برای آنها کتابخانه هایی برای اشیاء دو بعدی، صداها، شبکه و موتور بازی وجود دارد. بازی ها با OpenGL کار می کنند که به معنای کارایی بالا است. برای مبتدیان عالی است، شاید اینجا جایی است که می توانید اولین برنامه تلفن همراه خود را در اندروید ایجاد کنید!
مدارک مورد نیاز:
Adobe PhoneGap (HTML5، JavaScript، CSS)
مناسب برایایجاد برنامه های کاربردی بدون نیاز به منابع
اگر قبلاً با HTML، CSS و جاوا اسکریپت آشنایی دارید، می توانید PhoneGap را به عنوان جایگزین امتحان کنید. این IDE به شما این امکان را می دهد که برنامه های کاربردی کاملی را بسازید که در زبان های برنامه نویسی و نشانه گذاری فوق الذکر توسعه یافته اند.
در واقع، برنامه های آماده PhoneGap ساده ترین WebView ها هستند که با استفاده از جاوا اسکریپت متحرک شده اند. با استفاده از انواع API ها، می توانید از عملکردهای مختلف دستگاه درست مانند برنامه های بومی استفاده کنید. جالب اینجاست که برنامه ها روی سرور کامپایل شده و سپس برای استفاده در iOS، Android، Windows Phone، Web OS و BlackBerry OS در دسترس هستند. با چنین عملکرد گسترده ای در بین پلتفرم، توسعه برنامه می تواند سرعت قابل توجهی داشته باشد.
مدارک مورد نیاز:
فیوز (جاوا اسکریپت و UX)
مناسب برایایجاد برنامه های کاربردی ساده و پیچیده
وقتی مردم در مورد ابزارهای توسعه اندروید صحبت می کنند، اغلب به فیوز فکر می کنند. این ابزار یکی از کاربرپسندترین ابزارها در نوع خود است و می تواند طیف وسیعی از امکانات و مزایای را به توسعه دهنده ارائه دهد.
منطق اصلی برنامه های Fuse بر پایه جاوا اسکریپت ساخته شده است - زبانی ساده و قابل فهم با آستانه ورودی پایین. پایه رابط با نشانه گذاری UX نشان داده می شود - به طور مستقیم برای همه قابل درک است. خوب، "buns" محیط به شما امکان می دهد تغییرات را مستقیماً در زمانی که برنامه در دستگاه یا شبیه ساز شما در حال اجرا است اعمال کنید - درست مانند Android Studio 2.0 و بالاتر. با Fuse، توسعه برنامه اندروید می تواند آسان و لذت بخش باشد.
مدارک مورد نیاز: