آشنایی با نحوه ساخت اپلیکیشن های اندروید با استفاده از اندروید استودیو – بخش هفتم

آشنایی با نحوه ساخت اپلیکیشن های اندروید با استفاده از اندروید استودیو – بخش هفتم

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

آموزش اندروید استودیو


asset ها

- asset ها چه چیزهایی هستند؟

دایرکتوری res دربرگیرنده تمامی مقادیر سازماندهی شده که برای پلت فرم اندروید شناخته شده اند، می باشد، در حالی که دایرکتوری assets برای ذخیره سازی هر نوعی از داده ها مورد استفاده قرار می گیرد.

شما قادر به دسترسی به فایل های ذخیره شده در این فولدر با استفاده از مسیر آنها می باشید. دایرکتوری assets به شما امکان داشتن زیر-فولدرها را نیز می دهد.

نکته: شما می توانید داده های سازمان دهی نشده را در پوشه /res/raw قرار دهید، اما استفاده از پوشه assets برای این کار روش بهتری است.

- دسترسی به assetها

شما از طریق AssetManger و با متد ()getAssets از یک نمونه از کلاس context به این داده ها دسترسی پیدا می کنید.

کلاس AssetsManager به شما امکان خواندن یک فایل در پوشه assets را به عنوان InputStream با کمک متد ()open می دهد. کد زیر مثالی از این کار را نمایش داده است.

// get the AssetManager

AssetManager manager = getAssets();

// read the "logo.png" bitmap from the assets folder

InputStream open = null;

try {

open = manager.open("logo.png");

Bitmap bitmap = BitmapFactory.decodeStream(open);

// assign the bitmap to an ImageView in this layout

ImageView view = (ImageView) findViewById(R.id.imageView1);

view.setImageBitmap(bitmap);

} catch (IOException e) {

e.printStackTrace();

} finally {

if (open != null) {

try {

open.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

تمرین: استفاده از منابع در فایل های xml و درون کد

- افزودن تصاویر به اپلیکیشن

دو عکس از پروژه خود تحت نام هایic_tethering و ic_offline بسازید. فرآیند ساخت در بخش 25.1 شرح داده شده که بعدا به آن خواهیم پرداخت.

- افزودن ویوها به پروژه

فایل لی اوت خود را باز کرده و یک Button و ImageView را به آن بیفزایید.

- اختصاص تصویر به ایمیج ویو

Ic_offline را با استفاده از فایل لی اوت که در xml زیر به نمایش گذاشته شده به ImageViewخود اختصاص دهید.

<!-- NOTE: More attributes are required for the correct layout of the ImageView. These are left out for brevity -->

<ImageView android:id="@+id/myicon" .... more attributes android:src="@drawable/ic_offline" />

- جایگزینی تصاویر را با کلیک دکمه

چنانچه بر روی دکمه کلیک شد، با استفاده از findViewById() به جستجوی ImageView بپردازید. از متد setImageResource نیز برای اختصاص فایل png به ImageView خود بهره بگیرید. پارامترsetImageResource() منبع R به فایل شماست، یعنی R.drawbale.your_png_file.

- اعتبارسنجی

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

تمرین: استفاده از ScrollView

این تمرین نحوه استفاده از ScrollView را برای ساخت یک رابط کاربری قابل اسکرول نشان می دهد. یک پروژه اندروید de.vogella.android.scrollView را با استفاده از یک اکتیویتی به نام ScrollViewActivity بسازید، از فایل activity_main.xml به عنوان فایل لی اوت استفاده کنید.

فایل لی اوتی که در اکتیویتی استفاده شده را مطابق تصویر زیر تغییر دهید.

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" android:orientation="vertical" >

<LinearLayout android:id="@+id/LinearLayout01" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" >

<TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="8dip" android:paddingRight="8dip" android:paddingTop="8dip" android:text="This is a header" android:textAppearance="?android:attr/textAppearanceLarge" >

</TextView>

<TextView android:id="@+id/TextView02" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1.0" android:text="@+id/TextView02" >

</TextView>

<LinearLayout android:id="@+id/LinearLayout02" android:layout_width="wrap_content" android:layout_height="wrap_content" >

<Button android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0" android:text="Submit" >

</Button>

<Button android:id="@+id/Button02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0" android:text="Cancel" >

</Button>

</LinearLayout>

</LinearLayout>

</ScrollView>

 

کلاس ScrollViewActivity را مطابق باکد زیر عوض کنید.

package de.vogella.android.scrollview;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.TextView;

public class ScrollViewActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

TextView view = (TextView) findViewById(R.id.TextView02);

String s="";

for (int i=0; i < 500; i++) {

s += "vogella.com ";

}

view.setText(s);

}

}

اپلیکیشن را اجرا کنید و مطمئن شوید که قادر به اسکرول کردن دکمه ها می باشید.

blog_15018_1

گسترش

- بررسی اجمالی

به طور کل محدودیت هایی در ساخت اپلیکیشن اندروید برای گوشی وجود دارند. شما می توانید اپلیکیشن را با استفاده از USB در حالت تست در گوشی خود گسترش دهید، اپلیکیشن را به خود ایمیل کنید و یا از مارکت های اندرویدی بیشمار برای نصب اپلیکیشن بهره بگیرید. در زیر مهم ترین روش ها شرح داده شده اند.

- تعریف نیازمندی های نرم افزاری و سخت افزاری برای اپلیکیشن

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

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

از see uses-features official documentation. می توانید برای یک نگاه اجمالی به محدودیت های در دسترس استفاده کنید.

- امضای اپلیکیشن برای ریلیز نهایی

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

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

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

- برون ریزی اپلیکیشن با استفاده از اندروید استودیو

برای برون ریزی اپلیکیشن از منوی Build->Generate Signed APK استفاده کنید.

- برون ریزی اپلیکیشن با استفاده از Eclipse

به منظور برون ریزی اپلیکیشن با استفاده از Eclipse لازم است بر روی اپلیکیشن کلیک راست کرده و گزینه Android Tools->Export Signed Application Package را برگزینید، این ویزارد امکان استفاده از کلید موجود و یا ساخت یک کلید جدید را به شما می دهد.

- برون ریزی  با استفاده از سورس ها

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

برای این کار لازم است تنظیمات گوشی را برای اعطای مجوز نصب اپلیکیشن هایی خارج از مارکت اپلیکیشن ها، تغییر دهید. این تنظیمات معمولا در بخش Security در قسمت تنظیمات جای گرفته است.

- مارکت گوگل پلی

گوگل پلی به یک پرداخت 25 دلاری یک مرتبه ای نیاز دارد، پس از این کار توسعه دهنده قادر به آپلود اپلیکیشن و آیکون های موردنظر در بخش Google Play Publishing است.

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

در این دوره آموزشی کلیاتی از کار با اندروید استودیو در اختیار شما قرار گرفت، با بخش مطالب آموزشی اپریویو همراه باشید تا شما را با سایر مباحث مرتبط با ساخت اپلیکیشن های اندرویدی آشنا کنیم.


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