لەم بابەتەدا زیاتر قوڵدەبینەوە لەباسەکانی ڕابردوو هەوڵ ئەدەین سوودیان لێوەگرین لە دروسکردنی یەکەم پڕۆژەمان لەسەر Android Studio, لە بابەتی ئەم جارەدا بە وردی باسی بەشەکانی نێو بەرنامەکە و هەروەها باسێکی گشگیری بەشەکان دەکەین. وانەی دووەمی کۆرسەکە سوودی بۆت دەبێت ئەگەر تا ئێستا Android Studioت دانەمەزراندووە.

بەردەوامبن لەگەڵمان بۆ دەسکردن بە دروسکردنی پڕۆژەیەکی سادە بە نێوی “سڵاو جیهان!”.

دروسکردنی بەرنامەی ئەندرۆید

یەکەم هەنگاو کە هەنگاوێکی سادەیە لە Android Studioدا بۆ دروسکردنی بەرنامەیەک، ئەویش بەرنامەکە دەکەیتەوە پاشان کرتە لە Start a new Android Studio Project دەکەیت، پەنجەرەیەکی نوێت بۆ دەکرێتەوە، کە سێ خانە لە خۆ دەگرێت:

  • Applicatin Name: لێرەدا ناوی بەرنامەکەت دەنووسی.
  • Company Domain: لێرەدا ناوی کۆمپانیاکات یان ماڵپەرەکەت دەنووسی.
  • Project Location: لێرەدا ڕێڕەوی هەڵگرتنی بەرنامەکەی دەستنیشان دەکەیت.

Capture

هەنگاوی دوو: دیاری دەکەین کە بەرنامە بۆ چ ئامێرێکی ئەندرۆید دروستدەکەین، ئاخۆ موبایل، کاتژمێری زیرەک، تەلەڤیزیۆن، ئۆتۆمبێلەکان یاخوود چاویلەکەکان وە دیاری دەکەین ئاخۆ لە چ وەشانێکی ئەندرۆیدەوە بەرنامەکە کاربکات.

  • Phone and Tablet: موبایل و تابلێتەکان دەگرێتەوە.
  • Wear: کاژمێرە زیرەکەکانی ئەندرۆید دەگرێتەوە،
  • TV: ئەو تەلەڤیزیۆنانە دەگرێتەوە کە بە ئەندرۆید کاردەکەن.
  • Android Auto: ئەندرۆیدی ئۆتۆمبێلەکان دەگرێتەوە.
  • Glass: چاویلکە زیرەکانی ئەندرۆید دەگرێتەوە.
  • Minimum SDK: واتە لە کۆنترین ئەندرۆید کە بەرنامەکەی لەسەر کاربکات چیە، نموونە من ئەندرۆیدی 4.0.3 داناوە، واتە لەو وەشانەوە بەرنامەکە کاربکات تا دوواین وەشان کە وەشانی حەوتە.

androidstudio1

هەنگاوی سێ: دیاری دەکەین کە ئەو چالاکیەی (Activity) کە لە سەرەتای بەرنامەکدا بکرێتەوە چی بێت، ئێمە بۆ دروسکردنی سڵاو جیهان Empty Activity بەکاردەهێنین کە چالاکیەکی بەتاڵە، چەندین چالاکی تر ئامادەکراون کە دەتوانیت بەکاریان ببەیت چ ئێستا و چ دوای هەڵبژاردنی یەکەم چالاکی کە لەسەر فیکری جۆراوجۆر ئامدەکران کە دەتوانیت پڕۆژەکانتی پێ باشتر بکەیت و فکرەی لێوەرگریت.

سەرجەم چالاکیەکان و نموونەیەکی سادە بۆیان.

  • Add No Activity: واتە دروسکردنی بەرنامەکە بەبێ ئەوەی هیچ چالاکیەک نیشان بدات لەسەر موبایلەکە.
  • Basic Activity: چالاکیەکە بەشێوەیەکی سادە و ساکارە، لیستی لەگەڵ دایە وە دوگمەیەکی زەردیشی لەگەڵ دانراوە، دەتوانیت بەکاری بێنیت بۆ بنیادنانی پڕۆژەکەی خۆت.
  • Empty Activity: چالاکیەکە دروستکراوە و ڕێک و پێک کراوە بەڵام هیچ جۆرە کردارێکی تێدا نیە و خاوێنە.
  • Fullscreen Activity: نموونەی چالاکیەکە کە لەکاتی کردنەوەیدا تەواوی شاشە داگیر دەکات.
  • Google AdMob Ads Activity: نموونەی چالاکیەکە لەسەر ڕیکلامەکانی گووگڵ
  • Google Maps Activity: نموونەی چالاکیەکە کە نەخشەی گووگڵی تێدا بەکارهاتووە.
  • Login Activity: نموونەی چالاکیەکە کە فۆڕمەکانی چوونەژورەوەی تێدا بەکارهاتووە.
  • Navigation Drawer Activity: نموونەی چالاکیەکە کە لیستی درێژکراوەی لەلاکاندا بۆ دروستکراوە.
  • Scrolling Activity: نموونەی چالاکیەکە کەلەسەر فیکرەی کشان بەرەوخواردروستکراوە لەکاتی ناوەڕۆک زۆریدا زۆرتر بەکاردەبرێت.
  • Settings Activity: نموونەی چالاکیەکە لەسەر دروسکردنی ڕکخستنەکان دروستکراوە.
  • Tabbed Activity: نموونەی چالاکیەکە لەسەر دروسکردنی چەن بەشێک جیاواز وە کردنەوەی ڕاکێشانی وەک هەڵدانەوەی پەڕەی کتێبێک.

androidstudio2

هەنگاوی چوار: لێرەدا؛ ناوی چالاکیەکە دیاری دەکەیت لەگەڵ ناوی ناخشەکەی، پاشان کرتە لە Finish دەکەیت بۆ بنیادنانی بەرنامەکە.

  • Activity Name: ناوی چالاکیەکە.
  • Layout Name: ناوی نەخشەکەی.

androidstudio3

هەنگاوی کۆتایی:لەدوای ئەنجامدانی هەموو هەنگاوەکان و دروستبووی بەرنامەکە بە سەرکەوتوانە، دەتوانیت سێری شێوە ڕوخساری بەرنامەکەت بکەیت لەو پەڕگەیەی کەناوت لێنا بۆ نەخشەی بەرنامەکەت، ئەمەش وێنەی ئەو پڕۆژەیەیی دروستم کرد بۆ سڵاو جیهان.

androidstudio4

توێکاریی بەرنامەکانی ئەندرۆید

پێش ئەوەی بیر لەوە بکەیتەوە نەرمەواڵەکەت تاقیبکەیەوە باشترە چاوێک لەم توێکارییە بکەیت بزانیت کە بەڕێوەبردنی پەڕگەکان لە بەرنامەکانی ئەندرۆید چۆنیە، هەر ژمارەیەک ڕوونکردنەوەی تەواوی دراوە.

hello5

ژ.تپەڕگە یان بوخچە وە دەربارەیان
١build

ڕێکخەری خۆکاری بنیادنەری بەرنامەکە وە زانیاریەکانیەتی، وە ڕێکخەری هەموو ئەو سەرچاوانەن کە لەڕێگای (R.JAVA) ناسێنراون.

٢Libs

ئەم بوخچەیە بۆ زیادکردنی پەڕتووکخانە گەشەپێدراوەکانە تا دەربکەوێت و تێکەڵاوبکرێت لەگەڵ نەرمەواڵە.

٣src

بریتییە لەو پەڕگانەی کە بە شێوەی .Java لە نێو پڕۆژەیەکدا هەیە، بەشێوەیەکی ئاسایی MainActivity.java لە نێو ئەم پەڕگەیەدایە کە دەبێتە هۆی وەگەڕخستنی بەرنامەکە و نیشاندانی.

٤res

ئەم بوخچەیە ڕێبەڕیکە بۆ جیاکردنەوەی سەرچاوەکانی کەدەبنە شێوازی بەرنامە بۆ نموونە drawable, layout, values وە پەڕگەی android manifest.

٥res/drawable-hdpi

ئەم بوخچەیە ئەو جۆرە نەرمەواڵانە بەسوودە کە دەیانەوێت بەشێوازێکی پێشکەوتوو شێوازی دەرکەوتنی ڕوونەمای نەرمەواڵەکە بنەخشێنن.

٦res/layout

ئەم بوخچەیە ئەو پەڕگانە لە خۆدەگرێت کە کاریگەریان لەسەر ڕووکار و شێوازی دەرکەوتنی نەرمەواڵەکە هەیە.

٧res/menu

ئەم بوخچەیە سوودی لێوەردەگیرێت بۆ دروسکردنی لیستەکان وە نەخشاندنیان لە نەرمەواڵەیەکی ئەندرۆید.

٨res/values

ئەمەش بوخچەیەکی کەیە کە بەکاردەبرێت بۆ کۆردنەوەی هەموو ئەو پەڕگە XMLی کەبنە هۆی سەرچاوەی کۆکراوە وەک و نووسین کە ڕیزدەکرێن بەدوای یەک یان پێناسەی ڕەنگەکان.

٩AndroidManifest.xml

ئەم پەڕگەیە بەکاردەبرێت بۆ ناساندن و پێناسەکردنی پێکهاتە و تایبەتمەندیەکانی نەرمەواڵەکە.

ورتر باسی هەندێک لەو بەشانە دەکەین و پڕۆژەی سڵاو جیهان بنیاد دەنێین وە نموونەی کۆد دادەنێین لە کۆتاییدا تاقیدەکەینەوە تا بزانین ئەنجام چی دەبێت.

پەڕگەی Main Activity

پەڕگەی بنەڕەتی نووسینی کۆدی جاڤا MainActivity.javaیە (ئێمە لە هەنگاوی چواردا ئەم ناوەمان گۆڕی بۆ calaky_ekam هەڵبەت بۆ ئەوەی خوێنەری کورد زیاتر تێبگا). لە دوایی نووسینی کۆدەکانی بەرنامەکە لەم پەڕگەیە دواتر دەگۆڕێت و دەکرێت بە نەرمەواڵەیەک کە کار بکات، نموونەی کۆد کە دامان ڕشتووە بۆ پڕۆژەی سڵاو جیهان لەم پەڕگەیەدا:

 لێرەدا Layoutی calaky_ekem کە دەکاتە (calaky_ekem.xml) کە لەنێو بوخچەی res/layoutدایە کردوومانە بە ڕووکاری Activityیەکەمان, وە onCreate()  کە پێناسەی Layoutەکەمان تێدا داناوە جۆرە ڕێچکەیە (method)کە لەوکاتەدا نیشاندەدرێت کە Activityەکە دەکەوێتە کار.

 پەڕگەی Manifest

بریتییە لە پێناسەکردنی هەر پێکهاتەیەک کە دەردەکەوێت، دەبێت هەر پێکهاتەیەک لێرە لە AndroidManifest.xml بناسێنیت ئەم پەڕگەیە وەک ڕێبەری نیشاندەری تەواوی پڕۆژەکەیە کە دانراون. کاری ئەم پەڕگەیە دروسکردنی پەیوەندییە لە نێوان سیستەمی ئەندرۆید و ڕووکاری نەرمەواڵەکە, ئەگەر بێت و پێکهاتە و پەڕگەکان لێرەدا نەناسێنیت بەهیچ شێوەیەک کاریگەری ناکەتە سەر سیستەم. نموونەی ئەو Manifestی بۆ پڕۆژەی -سڵاو جیهان-مان جێبەجێ کردووە:

لە نێوان هەردوو تاگی <application> </applicatin> ئەو پێکهاتە و Activityیانە پێناسە دەکەین کە لە نەرمە واڵەکەمان هەیە. پێش کۆتایی هاتنی تاگی یەکەم دەتوانی ئەو سایفاتانەی نەرمەواڵەکەکەت دیاری بکەیت کە پێویستن بۆ نموونە لۆگۆی نەرمەواڵەکەت کە “android:icon=”@drawble/ic_launcher  لێرەدا دەیناسێنیت گرنگە کە وێنەکەت لە بوخچەی res/drawable-hdpi دابنێت ئەگەریش نەبوو دەتوانی خۆت دروستبکەی، دواتر ناوەکەی لەدوای / دەنووسیت بەبێ نووسینی پاشگرەکەی وەک ic_launcher کە لەبنەڕەتدا لە پەڕگەکەدا ic_launcher.pngە، وە گرنگە ئەگەر بەرنامەکەت بە زمانی کوردی یان عەرەبی یان هەر زمانێکی تری ڕاست بۆ چەپ بێت لێرە بەم شێوەیە “android:supportsRtl=”true تا پشگیری لە شێوە نووسینی ڕاست بۆ چەپ بکات.

تاگی<activity> بەکاردەهێنرێت بۆ پێناسەکردنی چالاکیەک (Activity)یەک، بۆی دیاری بکەیت کوامە Activityییە پێویستە تەنها Subclassی Classەکەت بنووسی لەناو “name=”calaky_ekem هەروەک ئەو نموونەی ئێمە بۆ پڕۆژەی سڵاو جیهان بەم شێوەیە کڵاسەکەمان ناساندووە “android:name=”.calaky_ekem یاخوود تۆ دەتوانیت تایبەتمەندی تر بدەیت بە چالاکیەکەت بۆ نموونە ئەگەر بتەوێ ناوێکی جودای هەبێت ئەوا لە ڕێگای Label جێبەجێی دەکەیت بۆ نموونە “android:label=”andrkurd لە کۆتایدا چالاکیەکە دادەخەیت بەم شێوەیە </acivity>

بۆی وابکەین ئەم Activityییە لەکاتی کردنەوەی نەرمەواڵەکەمان دەربکەوێت، پێویستە بەربەستی بکەین و بڵێین جودایە لە چالاکەیەکان(Activity)ی تر ئەوا پێوستە لە نێوان <activity> و </activity>ی intent-filter بکەینەوە وە تاگی Action و Category تێێدا بکەینەوە لە تاگی Action بنووسین “android.intent.action.MAIN” وە لە تاگی Category بنووسین “android.intent.category.LAUNCHER” تا بناسرێتەوە کە ئەم Activity لەگەڵ کردنەوەی نەرمەواڵەکە بکرێتەوە بەڵام ئەگەر تۆ چەند چالاکیەکت هەبێ پیویست ناکات ئەمەی تێیدا بنووسیت تەنها پێویستە لەو چالاکییە (Activity)یە بنووسیت کە دەتەوێت لەگەڵ کرتە کردن لە لۆگۆکەی بکرێتەوە. (سێری کۆدی نموونەی سەرەوە بکە زیاتر تێدەگەیت نموونەکەی چۆنییە)

 وە @string کە ئاماژەیە لەو زانیارییەی لە پەڕگەی strings.xml، بۆ نموونە ئێمە بۆ ناوی نەرمەواڵەکە strings@app_nameدا داناوە کە لە پەڕگەی values/strings.xml دا ناوی بەرنامەکەمان داناوە لە نێو String ێک نووسیمانە Sllaw cihan بەم شێوەیە “Sllaw cihan” کە لە خوارتردا بە وردی باسی Stringsەکان دەکەین.

چەند لیستێکی جیاواز هەن لە تاگەکان تا تۆ بتوانیت پێکهاتە جیاوازەکان دەست نیشان بکەیت، بۆ نموونە بۆ پێکهاتەکانی تر:

  • <activity> بەکردەهێنرێت بۆ Activites (چالاکیەکان)
  • <service> بەکاردەهێنرێت بۆ Services (ڕاژەکان)
  • <receiver> بەکاردەهێنرێت بۆ broadcast receivers (پەخشە وەرگیراوەکان)
  • <provider> بەکاردەهێنرێت بۆ content providers (دابینکەری ناوەڕۆک)

پەڕگەی Strings

پەڕگەی strings.xml لە بوخچەی values/strings.xmlدایە, لەم پەڕگەیەدا نووسینەکەمان دەنووسین لەگەڵ ناوێک بۆ نازناوێک بۆ ناسنینەوەی تا بتوانین بەکاری ببەین لە جێی نووسینەکە، بۆ نموونە لە دوگمەیەک، نووسینێکی ئاسایی، پێناسێک یان جۆری تر لێرەدا دەتوانیت نووسینەکەی بنووسیت و نازناوێکیشی بۆ بنووسیت تا دواتر بەکاری بهێنیت هەروەک ئێمە بۆ ناوی بەرنامەکەمان بەکارمان هێنا (سێری نموونەی کۆدی سەرەوە بکەن app_name لەناو labelدا داناوە وەک ناوی بەرنامەکە دواتریش لەکاتی کارپێکردا Sllaw cihan دەنووسرێت)، نموونەی هەمان پەڕگە لە پڕۆژەی -سڵاو جیهان-:

پەڕگەی Layout

بەشێوەیەکی بنەڕەتی activity_main.xmlە کە لەناو بوخچەی res/layoutدایە، کە ئەم پەڕگەیە ڕووکاری بەرنامەکە و شێوە دەرکەوتنی لە خۆ دەگرێت، دەتوانیت بە پێی پێویستی خۆت کەریگەری لەم پەڕگەیە بکەیت، بۆ پڕۆژەی -سڵاو جیهان- ئێمە ئەم پەڕگەیەمان ناو ناوە calaky_ekem.xml کە بەم شێوەیە کۆدمان کردووە:

ئەمە نموونەیەکی زۆر سادەیە کە نەخشەکەی لەسەر RelativeLayout دروستکردووە لەناو ئەویشدا TextViewمان داناوە کە لە ڕێگای Stringی Slaw وەوە نووسینێکمان ناساندووە بەم ناوە (سڵاو جیهان!)  کە لە values/strings.xml هەڵگیراوە، ئەگەر بێت و ئێمە نەرمەواڵەکە تاقیکەینەوە دەیبینین کە دەنووسرێت سڵاو جیهان! وە بەلای ڕاستدا دەنووسرێت چونکە ئێمە لە RelativLayout پێناسکمان بۆ Gravityی نەخشەکەمان(Layout) داناوە کە بەلای ڕاست (right) نەخشەکان دەرکەون.

تاقیکردنەوەی پڕۆژەی سڵاو جیهان

androidstudiokurd

ئێستا کاتی تاقیکردنەوەی نەرمەواڵەکەمانە، بۆ تاقیکردنەوەی پڕۆژەکە پێویستە ئەندرۆیدێکی وەهمی (Android Virtual Device)ێکت دروست کردبێت لە وانەی دووەمی Android Studio باس کراوە کرتە بکە.

پیرۆزە ئێستا تۆ بویتە خاوەن یەکەم نەرمەواڵەت سڵاو جیهان، هیوای بەختێکی باش لەگەڵ وانەکانمان بمێنەوە هەوڵ ئەدیەین ببینە ڕێڕوێک بۆ بوونت بە گەشەپێدەی ئەندرۆید ئێمە هەر بەردەوام دەبین لە درێژەدان بە وانەکان.

ئەمەش بخوێنەوە

وەنپڵەس (وەنپڵەس 5T)ی ڕاگه‌یاند بە دروشمی هەمووکات جێگیر دەبێت

ئێوارەی ئه‌مڕۆ (وەنپڵەس)ی چینی کۆنگره‌ی تایبه‌ت به‌ ڕاگه‌یاندنی مۆبایلی نوێی به‌ناوی (وەنپ…