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

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

Jun 25, 2015

Download

Software

Vahid Hashemi

ماشین مجازی 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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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 …به باکس لیست یک در را

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

تمرین