اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس...

27
د دروی ای ی م ش د ها ی ح دو ی سMscEng,BCA www.vahidhashemi.com/fa

Upload: vahid-hashemi

Post on 25-Jun-2015

510 views

Category:

Software


2 download

DESCRIPTION

ماشین مجازی Dalvik تغییر یافته JVM خروجی فایلهای APK شبیه JAR ولی کدها تبدیل به اسمبلی میشوند. Java 1.6 سیستم عامل براساس لینوکس از گوشی هوشمند تا تبلیت هر برنامه اندروید نیاز به یک AndroidManifest.xml دارد حاوی تعاریف تمامی صفحات اجازه دسترسی به منابع سیستم نسخه سیستم عامل برای اجرای برنامه کتابخانه ها سرویس ها و ... اطلاعات بیشتر : http://developer.android.com/guide/topics/manifest/manifest-intro.html از نامگذاری camleCase استفاده نکنید، برای مثال: buttonImageOne(غلط میباشد) از _ استفاده کنید مثال: button_image_one همه حروف باید کوچک باشد از اعداد میتوانید استفاده کنید برای نامگذاری فولدرها بهتر است از – بجای _ استفاده کنید مثال : drawable_hdpi (غلط است) Drawable-hdpi (درست است) برای اتصال بین layout.xml و فایلهای جاوا ابتدا کامپوننتی که میخواهید دارای یک event باشد حتماً باید دارای یک id باشد قاعده id در android : android:id=“@+id/componenet_name” سه روش برای bind کردن رویدادها در اندروید وجود دارد ابتدا بایستی کامپوننت مورد نظر را پیدا کنید Button btn = (Button) findViewById (R.id.button_id); روش سوم : صدا کردن رویداد کلیک از xml و ایجاد تابع در فایل جاوا در فایل xml تگ android:click اضافه میگرد و نام تابع مورد نظر اعلام میگردد در فایل جاوا یک روال همنام ساخته میشود و الخ... برفرض 2 فرم(activity) داریم Intent intent = new Intent (from , to); startActivity(intent); Finish(); در صورتی که بخواهیم مقداری را بین دو فرم رد و بدل کنیم: مانند بالا یک intent میسازیم startActivityForResult(intent,value); مثال در کد اول باید یک هندلر http درست کنید HttpClient Verb مخصوص خود را انتخاب کنید Get Post HttpPost,HttpGet اگر میخواهید از post استفاده کنید بایستی اطلاعات را در بسته بندی مناسب به نمونه ایی که از post ساخته شده پاس دهید Httppost اطلاعات را در قالب UrlEncodedEntity قبول میکند UrlEncodedEntity اطلاعات را در قالب List قبل میکند. اطلاعات در قالب HttpResponse برگشت داده میشوند Httpresponse.getEntity() خروجی براساس bufferedReader میباشد کلاس TelephonyManager/PackageManager حاوی اطلاعات بسیاری از ------------------- دوره های برنامه نویسی اندروید / جاوا / شی گرا http://www.tekplanet.ir

TRANSCRIPT

Page 1: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

اندروید

هاشمی وحید سیدMscEng,BCA

www.vahidhashemi.com/fa

Page 2: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

اندروید از مختصری

Page 3: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

مجازی یافته Dalvikماشین JVMتغییر فایلهای به JARشبیه APKخروجی تبدیل کدها ولی

. میشوند اسمبلیJava 1.6 لینوکس براساس عامل سیستم تبلیت تا هوشمند گوشی از

اندروید از مختصری

Page 4: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

stack

Page 5: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

Linux Kernel

Page 6: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

Native Libraries

Page 7: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

Application Framework

Page 8: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

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

Page 9: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

یک عمر Activityچرخه

Page 10: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

یک به نیاز اندروید برنامه AndroidManifest.xmlهردارد

صفحات ◦ تمامی تعاریف حاویسیستم ◦ منابع به دسترسی اجازهبرنامه ◦ اجرای برای عامل سیستم نسخهها ◦ کتابخانهها ◦ سرویسو ...◦بیشتر :◦ اطالعات◦http://developer.android.com/guide/topics/

manifest/manifest-intro.html

مانیفست

Page 11: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

...

ساده برنامه یک نوشتن

Page 12: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

Sdk Ddms IDE AVD

ابزارها

Page 13: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

نامگذاری :camleCaseاز مثال برای نکنید، استفاده◦buttonImageOne) میباشد) غلط◦ : مثال _ کنید استفاده button_image_oneاز

باشد کوچک باید حروف همه کنید استفاده میتوانید اعداد از _ – استفاده بجای از است بهتر فولدرها نامگذاری برای

کنید( drawable_hdpiمثال : ◦ است ) غلط◦Drawable-hdpi) است ) درست

در نامگذاری resمحدودیتهای

Page 14: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

اجرا هنگام در خطایابی

Page 15: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

بین اتصال ابتدا layout.xmlبرای جاوا فایلهای ویک دارای میخواهید که باید eventکامپوننتی u حتما باشد

یک باشد idدارای : androidدر idقاعده ◦

android:id=“@+id/componenet_name” برای روش وجود bindسه اندروید در رویدادها کردن

داردکنید ◦ پیدا را نظر مورد کامپوننت بایستی ابتدا

Button btn = (Button) findViewById (R.id.button_id);

eventها

Page 16: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

: اول anonymous functionروش Button.setOnClickListener(new

View.OnClickListener(){@overridepublic void onClick(View v){}

} : دوم کد : switch caseروش در مثال

eventها

Page 17: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

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

فایل ◦ مورد android:clickتگ xmlدر تابع نام و میگرد اضافهمیگردد اعالم نظر

◦ ... الخ و میشود ساخته همنام روال یک جاوا فایل در

eventها

Page 18: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

2برفرض( داریم( activityفرم ◦ Intent intent = new Intent (from , to);◦ startActivity(intent);◦ Finish();

بدل و رد فرم دو بین را مقداری بخواهیم که صورتی درکنیم:

یک باال میسازیم intentمانند startActivityForResult(intent,value);

کد در مثال

دیگر activityفراخوانی های

Page 19: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

هندلر یک باید کنید httpاول درست HttpClient

Verb کنید انتخاب را خود مخصوص Get Post HttpPost,HttpGet

از میخواهید را postاگر اطالعات بایستی کنید استفادهاز که ایی نمونه به مناسب بندی بسته ساخته postدر

دهید پاس شده

اینترنت از اطالعات گرفتن

Page 20: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

Httppost قالب در را UrlEncodedEntityاطالعاتمیکند قبول

UrlEncodedEntity قالب در را اطالعاتList<NameValuePair. میکند< قبل

قالب در داده HttpResponseاطالعات برگشتمیشوند

Httpresponse.getEntity )(براساس خروجیbufferedReader میباشد

اینترنت از اطالعات گرفتن

Page 21: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

کالسTelephonyManager/PackageManager میباشد گوشی از بسیاری اطالعات حاوی

◦IMEIتلفن ◦ شمارهاپراتور ◦ نامو ...◦ تلفن نوعریفرنس : ◦

:// . . / / /http developer android com reference android t/ .elephony TelephonyManager html

برد >◦ بهره نامه اجازه از باید u حتما استفاده -usesبرایpermission

android:name="android.permission.READ_PHONE_STATE >/ "

دستگاه از اطالعات گرفتن

Page 22: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

کالس از نمیتوانید u مستقیما TelephonyManagerشمابسازید نمونه یک

متد از پیدا getSystemServiceبایستی برایدست به آنرا اطالعات میخواهید که کامپوننتی کردن

. نمایید استفاده آورید مثال این مد Context.TELEPHONY_SERVICEدر

. میباشد ما نظر

دستگاه از اطالعات گرفتن

Page 23: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

JavaScript Object Notation که داده انتقال مخصوص پروتکل یا و داده ساختمان

در بار اولین و شد ساخته کراکفورد داگالس توسطبصورت اشیا انتقال برای شده serializeجاواسکریپت

. رفت کار به◦Serialize برنامه زبان یک های آرایه یا و اشیا تبدیل چیست؟

( یا هارد جانبی حافظه برروی آنها ذخیره و باینری کد به نویسیرم(

همسان ◦ نویسی برنامه زبان بین میتوانند فقط شده سریال اشیا. شوند داده انتقال خود

Json مانندxml قابل و تر ساده که تفاوت این با هستپیچیدگیهای و میباشد تر نمیباشد xmlفهم دارا را

Json چیست؟

Page 24: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

{key : “value”} یک شکل ترین میباشد jsonساده

{ "firstName": "John", "lastName": "Smith", "age": 25, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021" }, "phoneNumber": [ { "type": "home", "number": "212 555-1234" }, { "type": "fax", "number": "646 555-4567" } ] }

Json چیست؟

Page 25: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

firstName و میباشد کلید کلید Johnیک مقدارAddress محسوب کلکسیون نوع یک خود که کلید یک

آن : مقدار و میباشد میشود" {streetAddress": "21 2nd Street", "city":

"New York", "state": "NY", "postalCode": میباشد" { 10021"

phoneNumber میباشد آرایه نوع از کلید یک" { [type": "home", "number": "212 555-

1234" { ,} "": " ", " ": "646 555-type fax number4567] } "

Json چیست؟

Page 26: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

سوال؟

Page 27: اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی

از اعم گوشی یک اطالعات لیست که بنویسید برنامه یکwifi/cdma/gsm/gps/etc …به باکس لیست یک در را

. دکمه یک شدن کلیک از بعد باید لیست این بذارد نمایش. شود فعال

تمرین