رفتن به مطلب

پست های پیشنهاد شده

سلام دوستان

دیدم بعضی از دوستان برای آموزش اندروید (که همون وای فایه:a030:) اعلام آمادگی کردن. گفتم شروع کنیم قضیه رو بلکه صاحابش اومد.:ws3:

هر موقع تو اتوبوس منتظر راننده ایم تا بیاد حرکت کنیم.:banel_smiley_4: بعضی موقع ها می زنه به سرم که بپرم پشت فرمونو یا علی مدد راه بیافتیم. بلکه صاحابش بیادو:vahidrk:. اما خوب کاملا ارزششو داره:w16:

 

اون موقعی که ما به اندروید علاقه مند شدیم و از یک سال پیش شروع به آموزشش کردیم محیط برنامه نویسی لازم براش eclipse بود البته در کنارش گوگل در حال آماده سازی android studio خودش بود. البته کسی رو هم مجبور نمی کرد ازش استفاده کنن. در نتیجه چون ساپورت های برنامه نویس ها تو سایت stackoverflow.com و بقیه سایت ها روی اکلیپس بود. مام تصمیم گرفتیم با اکلیپس شروع کنیم. اما الان یه جور جمود فکری و شاید ترس اجازه نمی ده اکلیپس عزیزو رها کنم و برم سروقت استادیو.

در نتیجه خود دانید من تصمیم دارم با اکلیپس آموزش بدم.

اگه مایل بودید. همین پستو سپاس بزنید تا شروع کنیم.:gnugghender: اگرم نزدید ما باز کار خودمونو می کنیم.:hanghead:

لینک ارسال

معمولا جلسه های اول برنامه نویسی اندروید میان در مورد سیستم عاملش و .... صحبت می کنن. اما الان دیگه ملت از این حوصله ها ندارن. :banel_smiley_4: بالاخره اونی که اومده یاد بگیره می دونه چیز به درد بخوریه:hapydancsmil: و در آینده هم با این رشد روز افزونش تقریبا تو تمام ابزار های الکترونیکی خواهد بود. خلاصه از اونجایی که گوگل پشتشه به این زودیا زمین نمی خوره.(البته ان شالله ،مگر نه میشه مثل تایتانیک)

 

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

بعضی از این کاستوم رام ها اختصاصی هست. مثلا سامسونگ و اچ تی سی و هواوی و سونی هر کدوم رام اختصاصی خودشونو دارن. که قابلیت های خاص خودشونو دارن. مثلا سامسونگ میاد برای گوشی های خودش نرم افزار خیلی کاربردی رو داخل کاستوم رام خودش میزاره. اگه شما برای مثال بیایید یه کاستوم رام عمومی رو روی S4 نصب کنید. خیلی از این نرم افزار های اختصاصیش می پره و باید قیدشو بزنید.

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

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

همون برنامه نویسی نرم افزار های اندروید به کار ما میاد. :hanghead:

فکر نکنم لزومی داشته باشه که آینده ی روشنشو بگم. هر جایی رو نگاه می کنی از گوشی همراه. ساعت های هوشمند. تلویزیون دوربین های عکاسی یخچال سیستم های داخل خودرو ، همه و همه داره کم کم به سمت اندروید میره . پس هم آینده ی شغلی خوبی داره و هم می تونید برای خودتون نرم افزار های اختصاصی بنویسید . همین الان اگه نیازمندی های روزنامه ها رو برای برنامه نویسی ببینید. خیلیا دنبال برنامه نویس اندروید یا IOS هستند.:w02:

 

البته برنامه نویسی برای آی او اس یکم هزینه برتره چون باید حداقل لپتاب مک داشته باشین چون محیط توسعه اش اختصاصی . :whistles: برای تست برنامه هاتون باید گوشی آیفون داشته باشین. :ws37: برای فروش و تست برنامه هاتون باید سالانه ۱۰۰ دلار به حساب اپل بریزید. اما خوب راحت تر هم هست . چرا که نرم افزار و سخت افزار توسط یه شرکت پشتیبانی میشه و خیلی بیشتر با هم هماهنگی داره. در امده حاصل از اون هم بیشتر چون دست توش کمتره. و چون کلاس کاریش بالاتره یه نرم افزار مشابه رو می تونید واسه آی او اس گرون تر بفروشید. :gnugghender:

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

 

یکی از مشکلات کار اینه که هر کی از جاش بلند شده یه گوشی ساخته و اندرویدو چون مفت بوده ریخته روش. در نتیجه توسعه و فروش نرم افزار های اندروید به دلیل وجود سخت های بسیار متنوع که هر کدوم تقریبا استاندارد خاص خودشو داره خیلی مشکل میشه.:4564: هیچ موقع نمی شه گفت برنامه ی اندرویدی که من نوشتم روی تمام گوشی ها جواب می ده. مگر اینکه تمام گوشی ها رو داشته باشی. یا اینکه کار خیلی ساده ای انجام بدی. اما بیشتر کارای حرفه ای و سخت افزاری دقیقا بسته به گوشیه . به خاطر همینه که یه نرم افزار نصب می کنی می بینی اصلا کار نمی کنه.

چون گوشی برنامه نویس یه چیز دیگه بوده و با اون تست کرده . اینقدرم مایه دار نبوده که یه گروه تست داشته باشه که همه گوشی ها رو تست کنه.

 

تازه گذشته از انواع گوشی ها انواع ورژن های اندروید هست. به خاطر همین ممکنه یه برنامه روی یه نسخه ی اندروید کار کنه اما روی همون گوشی با آپدیت نسخه ی اندروید دیگه کار نکنه. :whistle:

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

 

جلسه ی بعدی در مورد انواع روش های برنامه نویسی اندروید توضیح می دم. :w000:

لینک ارسال

خوب تو این جلسه می خواد انواع روش های رایج تو برنامه نویسی اندروید رو بگم. ممکنه یه سری روش جینگولک :ws52:بازی هم باشه که مثلا از یه طرف یه هویج بدی از طرف دیگه برنامه اندروید تحویل بگیری:w58: . این جور روش ها از حیطه ی تخصص ما بیرونه.

 

روش هایی که میگم به شکل زیر ربط داره پس اول بهش نگاه کنید.

 

Android_architecture.png

همون طور که می بینید شکل بالا ساختار کلی اندروید هست. از پایین هسته ی اصلی سیستم عامل هست که همونطور که گفتم:w000: بر پایه لینوکس هست. این قسمت کار های شاخ مدیریت منابع سخت افزاری رو انجام میده.:w02: یعنی هر کار خفنی که بخواهیم بکنیم باید درخواست:mrsbeasley: بدیم به سیستم عامل تا برامون انجام بده.یه سری مثال هم اومده. مثال دیگه مثل نوشتن روی حافظه ، گرفتن عکس:camera2: و ... توی هر کدوم از این کارا درخواست به سیستم عامل داده می شه و اون تشخیص میده چه جوری و با چه ترتیبی کارها رو انجام بده. یه جورایی مدیر ارشد.:sad0:

 

خوب همون طور که شاید بدونید خود لینوکس رو با زبان سی نوشتن. دمشون گرم:ws21: . بالای این سطح یه سری کتابخونه :ws33: قرار داره که یه سری خدمات ارائه می ده . مثل رمز نگاری. پایگاه داده و عملیات گرافیکی و... در کنار این، قسمت اجرایی اندروید وجود داره. قسمت مهمش ماشین مجازی دالویک هست.

 

حالا ماشین مجازی چی هست. :ws52: کلا زبان ها ی برنامه نویسی به دو دسته تقسیم میشن یه سری کامپایلی هستن یه سری تفسیری . :w127: دسته ی اول دستورات برنامه نویسی رو مستقیما به زبان پردازنده تبدیل می کنند و بعد اجرا می کنند . تو دسته ی دوم اول یه ماشین مجازی ساخته میشه بعد زبان برنامه نویسی روی این ماشین مجازی اجرا میشه و مستقیما با پردازنده کاری نداره.

 

اینطوری میشه که زبانی مثل جاوا از موبایل و رایانه و ماشین لباس شویی گرفته تا کوچک ترین پردازنده ها قابلیت اجرا داره. چون در حقیقت روی یه ماشین مجازی اجرا می شه کاری نداره اون زیر چه خبره. خوب یه سری مزایا داره مثل همه گیر بودنش یه سری هم معایب داره مثل کاهش جزیی توانایی عملیاتی و سرعت عملیات. چون بالاخره یه واسطه این وسط هست .:ag2f893eg0ja83qr8q:(یه چیزی تو این مایه ها. سواره یه چیزی شده)

 

بالای این قسمت نرم افزار هایی هست که قسمت ظاهری و بیرونی اندروید رو میسازه. بقیه نرم افزار هایی که ما میسازیم در حقیقت در اکثر مواقع از این لایه استفاده می کنند. در بالاترین لایه ها هم نرم افزار های سوم شخص وجود داره. یعنی چیزایی که بقیه برنامه نویسا مثل ما می نویسن.

 

خوب این همه فک زدم :4chsmu1:که بگم برای نوشتن برنامه ی اندروید سه تا راه وجود داره.

اول زدن دل به دریا توسط اونایی که قبلا C/C++ کار کردن. :smiley (18):این نوابغ مستقیم میان تو لایه ی دوم برنامه نویسی می کنن. به این گونه برنامه نویسی NDKمی گن به معنی native development kit.

 

کار سختی در پیش دارن. البته بعضی مواقع ارزش داره. مثلا یه سری موتور های بازی هستن مثل COCOS که فقط با این روش کار می کنه. از یه طرفم قدرت زیادی داره.:banel_smiley_90: اما اصلا توصیه نمیشه. چون سختو طاقت فرساست. منابع آموزشی و پشتیبانی کمی هم داره.:mornincoffee:

 

دسته ی دوم که متعادل تره همون ماهاییم. :w330:یعنی این دسته کلا ماس ماس. این دسته از زبون جاوا برای برنامه نویسی استفاده می کنند که بهش SDK می گن. قدرت و توانایی در این بخش روی یه مرز قابل قبوله. هیچ کاری نیست که نشه تو این سطح کرد. مگر اینکه بخوایی مثلا با گوشیت لباس بشوری .(که اونم باز میشه):w02:

 

دسته ی سوم یه سری برنامه نویس وبن که همه چیزو html / css / javascript می بینند .:girl_in_dreams: ما هر چی می کشیم از دست ایناس. البته چون تنبلن بعضی موقع ها کارای مفیدی هم می کنن. :girl_yes2: اینا میان به جای نوشتن یه برنامه که روی دالویک اجرا بشه. میان یه سایت طراحی می کنن و داخل یه صفحه ی ساده ی مرورگر اجراش می کنن. یعنی دو سطح ماشین مجازی دارن.

این دسته از افراد از پلتفورم phonegap استفاده می کنند. :jawdrop:

 

خوبی این روش اینه که شما یه سایت می نویسی . بعد با یه کم انگولک جزیی میاریش تو phonegap بعد یه دفعه یه برنامه داری که روی اندروید IOS ویندوز فون . بلک بری . فایرفاکس و هزار تا کوفت زهر ما دیگه اجرا میشه. چرا؟ چون برنامه ننوشتی که یه سایت:ws43: . و چون تمام سیستم عامل ها مرورگر وب دارن در نتیجه همشون می تونن اونو باز کنن. اما خدایی فکرشون خوب کار کرده.:ws49:

 

تو دو روش آخری شما نیاز به SDK دارید. چون همون طور که گفتم در حقیقت شما در روش آخری یه برنامه می نویسی که فقط یه صفحه ی داره و اونم یه مرورگر سادس. حالا بقیه چیزا داخل این مرور گر هست و اجرا می شه.

اما ما همون قسمت دوم رو میگیم چون هم قابلیت های بیشتری داره. و هم قوی تره. چون نمیشه بعضی کارا رو داخل مرورگر انجام داد. چرا که نحوه ی اجراش دست شما نیست. درسته که نرم افزار ها داره به سمت وب اپلیکیشن میره . اما هر کاری رو نمیشه با یه صفحه ی وب انجام داد. مثلا هیچ موقع نمیشه یه بازی مثل کلش رو داخل یه پیج با اون روونی که داره اجرا کرد. اما اگه نیاز دارید یه نرم افزار ساده مثل یه جامعه ی مجازی برای تمام گوشی ها توسعه بدید و وقت ندارید بهتره از فونگپ استفاده کنید. شاید بعدا وقت شد اونم آموزش دادم.:w02:

جلسه ی بعد میگم چطور محیط توسعه رو برای اکلیپس آماده کنید تا اولین برنامه رو اجرا کنید..:a030:

لینک ارسال

درود.

ممنون از توضیحات عالی و قابل فهمت. کتبا هارو میخونی آدم رو با یه سری کلمات عجیب گیج میکنن:|

من قبلا یکم به زبان c کار کردم که فک کنم الان چیزی یادم نمونده باشه ولی c++ رو بلد نیستم و کار نکردم حالا به نظرت نیازه ++c رو یاد بگیرم؟

یه سوال دیگه. یه سال پیش تو یه کلاس هماهنگ یکی از سایت های خارجی ثبت نام کردم (با دوستم) و خواستیم اندروید نویسی رو یاد بگیریم اون هم نرم افزار اکلیپس رو معرفی کرد و دانلودش کردیم و اینکه یه جاوا هم باید نصب میکردیم تا سیستم بتونه نرم افزار رو اجرا و شبیه ساز یه سیستم اندروید رو برای ما به اجرا در بیار بهه خاطر مشغله کاری من ادامه ندادم ولی فایل های آموزشیش رو دارم البته انگلیسیه

الان من فایل اکلیپس رو ندارم که نصب کنم:| نمیدونم چی شده یا پاکش کردم یا پریده:|

حالا اگه منبعی رو بذاری که تست شده باشه و دانلود کنیم و نصب کنیم و ادامه آموزش رو شروع کنیم که عالی میشه.

راستی برنامه نویسی وب رو هم در درستور کار قرار بده ما هنرجوی خوبی میشیم:5c6ipag2mnshmsf5ju3

لینک ارسال

خوب رسیدیم به جای اصلیش یعنی نصب و راه اندازی.:w02:

این قسمتو هر طوری شده راه بندازید و سرد نشید .:ws27::ws42: چون ممکنه مشکلاتی وجود داشته باشه. این همون دست انداز اول کاره. بعد از اینکه اولین برنامه اندروید رو اجرا کنید . شیرینیش:w42:شما رو دنبال خودش میکشه :ws50:اما اگه نتونید زده می شید.

برای هر برنامه نویسی به سه چیز نیاز دارید. یه محیط برای نوشتن . یه نرم افزار برای تبدیل کد شما به زبان ماشین. یه سری نرم افزار جانبی مثل شبیه ساز ها و دیباگ کننده ها برای حل مشکلات و یافتن سوتی هایی:whistle: که تو کد می دید.

این سه تا رو معمولا میزارن تو یه بسته به اسم IDE یعنی Integerated development Environment . یعنی محیط یکپارچه ی توسعه برنامه . ما برای اینکار همون طور که گفتیم از eclipse استفاده می کنیم. خود اکلیپس ورژن های متفاوتی داره . این برنامه هم متن باز هست و به صورت رایگان در اختیار همه قرار داره. اما اکلیپس به صورت ذاتی برای اینکار ساخته نشده . در نتیجه ما باید یه سری برنامه و ابزار جانبی روش نصب کنیم.:Ghelyon: به این ابزار ADT یا ابزار توسعه ی اندروید می گن. همین طور باید یکی از ورژن های اندروید رو هم نصب کنیم. که بهش SDK می گن. ورژن های اندروید رو در زیر میارم . یکیش هم باشه کافیه . اما اگه می خواهید روی همه ی نسخه ها برنامه ی خودتونو تست کنید باید همشو داشته باشید. حجم هر کدوم تقریبا زیر ۱۰۰ مگه. برای نسخه های اندروید سه نوع نام گذاری است. یکیش اسم عمومی هست مثل اندروید آب نبات چوبی. یکیش یه عدد صحیح مثل ۱۹. یکیشم یه عدد ممیزی مثل ۴.۴.۲(این سیستم فوتبال نیستا:icon_pf (10):)

این سیستم ورژن بندی رو بعدا داخل برنامه هایی که می نویسید باید رعایت کنید. یعنی وقتی نسخه ی جدید می دید بیرون باید همیشه یه عدد صحیح معرفی کنید و یه عدد ممیزی. معمولا نسخه هایی که هنوز کامل بیرون نیومدن زیر یک هستن مثل ۰.۹.۱.۲ اگه یه آپدیت کلی بیاد بیرون یه عدد صحیح میره بالا . وگر نه به اعشار ها اضافه میشه. مثلا ۴.۲.۲ میشه ۵ مگر نه اگر چند تا سوتی(باگ):icon_pf (34):برطرف کرده باشید میشه ۴.۲.۳ . البته این یه استانداردی هست بین برنامه نویسا شما می تونید ۱۰۰ تا ۱۰۰ تا اضافه کنید و ککتون هم نگزه !!!!! کی به کیه.:w127:

یه چیز خیلی مهم اینه که گوگل نامرد:97: مارو در زمینه ی برنامه نویسی فیلتر کرده . در نتیجه هر کاری در زمینه ی برنامه نویسی با این جرزومه :84eb3ampc0vsywihe0iدارید باید از طریق ******** برید.:thumbsdownsmiley:

  • محتوای مخفی

      برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

  • محتوای مخفی

      برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

  • محتوای مخفی

      برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

  • محتوای مخفی

      برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

  • محتوای مخفی

      برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

     
    • محتوای مخفی

        برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

    • محتوای مخفی

        برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

     

    [*]

    محتوای مخفی

      برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

    [*]

    محتوای مخفی

      برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

     

    • محتوای مخفی

        برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

     

    [*]

    محتوای مخفی

      برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

     

    • محتوای مخفی

        برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

    • محتوای مخفی

        برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

     

    [*]

    محتوای مخفی

      برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

     

    • محتوای مخفی

        برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

     

    [*]

    محتوای مخفی

      برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

     

    • محتوای مخفی

        برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

    • محتوای مخفی

        برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

     

    [*]

    محتوای مخفی

      برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

     

    • محتوای مخفی

        برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

     

    [*]

    محتوای مخفی

      برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

     

    • محتوای مخفی

        برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

 

 

 

 

خوب حالا حتما می پرسید اینا به چه دردی می خوره جواب اینه که به هیچ درد.:ws3: بالاخره باید مام یه ذره جو بدیم که کارمون درسته و الکی نیست .:w000: مگر نه هر کی از جاش بلند میشه میگه مام برنامه نویسیم.:vahidrk: مثل زنده یاد دکتر با اون متلبش.:ws47:

 

 

اما قضیه اینه که هر برنامه ای که می نویسید باید بگید واسه چه ورژنی می نویسید. هر نسخه ی اندروید کلی قابلیت جدید داره. خوب چرا ما نیاییم بالاترین رو انتخاب نکنیم. چون همه که آپدیت نیستن. وقتی شما یه برنامه می نویسی و آخرین ورژن رو براش انتخاب می کنی. باعث میشی کلی از ملت مستضعف:sorry:ما نتونن برنامه شما رو نصب کنن. در نتیجه سعی کنید این وسط یه موازنه ای برقرار کنید. الکی ورژن رو بالا نبرید. تا جایی که میشه از معادل ها استفاده کنید تا یه کدی بزنید که روی سیفون دستشویی خونتون:girl_yes2: هم اجرا بشه نه اینکه فقط روی گوشی های خود بچه های برنامه نویسای اندروید .:jawdrop:با این کار مشتری هاتونم زیاد میشه.:w36:تو برنامه نویسی شما فقط با اون عدد صحیح کار دارید.

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

قبلا یه چیزی بود به اسم adt bundle . تو این بسته . یه نرم افزار اکلیپس به همراه تمام نرم افزار ها و ابزار جانبی و آخرین نسخه ی SDK بود. کافی بود شما بسته رو دانلود کنی و بعد از decompress کردن اجراش کنی. اما امان از این گوگل …. :w74:

در نتیجه دو راه می مونه یک. دستی برید تمام این قطعه های پازل رو بچسبونید به هم تا بتونید کارتونو شروع کنید.:ws51: راه دوم ….

من راحت ترین راه رو برای شروع پیشنهاد می کنم . استفاده از تنتاک.:th_running1:

قید آخرین ورژن رو بزنید و با چند ورژن قدیمی تر کار رو شروع کنید تا دستتون راه بیافته و بعدا آپدیت کنید.:scared9:

 

 

قبل از این باید یه چیزی رو توضیح بدم. همانطور که گفتم ما با جاوا سرو کار داریم. برای اجرای جاوا در رایانه شما باید یه نرم افزار جاوا نصب کنید. این نرم افزار همون ماشین مجازی هست که گفتم.:putertired:

منتها دو مدل هست . یه مدل به اسم JRE به معنی Java Runtime Environment که فقط کارش اجراست. یکی دیگه که به درد ما می خوره JDK به معنی Java Development Kit کار این بسته علاوه بر اجرا . تبدیل کد شما به برنامه های جاواست. پس موقع دانلود اشتباه نکنید. :babygirl:

توسعه ی جاوا هم دست اوراکله که خوشبختانه اونا هم مارو فیلتر :brodkavelarg:کردن در نتیجه من لینک وطنی بهتون می دم.

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

 

 

اینجارو همین الان یهویی:w12: پیدا کردم. یه ذره برید پایین لینک دانلود JDK رو داره

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.

بعد از نصب این بر اساس نسخه ی سیستم عاملتون(برای مک و لینوکس یه سرچ کنید پیدا میشه.)

برید باندل رو دانلود کنید اینم بر اساس سیستم عاملتون

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.
] - [

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.
] نسخه 2013.02.19

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.
نسخه 2014.07.02

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.
نسخه 2014.07.02

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.
نسخه 2014.07.02

محتوای مخفی

    برای مشاهده محتوای مخفی می بایست در انجمن ثبت نام کنید.
نسخه 2014.07.02

 

 

این بسته ها نیازی به نصب نداره. کلا اکلیپس یه IDE قابل حمل یا Portable هست. به محض خارج کردن از حالت فشرده:626gdau: روی اکلیپس کلیک کنید تا باز بشه. برای بار اول که باز بشه یه آدرس ازتون می خواد که پروژه هاتونو اونجا می زاره . اسم این آدرس WOrkspace هست. اگه همگی این مرحله رو پشت سر گذاشتید باید یا یه گوشی اندروید:ubhuekdv133q83a7yy7داشته باشید که بتونیم برنامه هامونو روش اجرا کنیم. یا یه نرم افزار شبیه ساز که همراه این باندل هست رو تنظیم کنیم که مثل یه گوشی مجازی برامون کار کنه. فعلا دانلود ها رو انجام بدید (چون سرعتا پایینه :bigbed:)تا برسیم به جاهای قشنگش.

لینک ارسال

من قبلا یکم به زبان c کار کردم که فک کنم الان چیزی یادم نمونده باشه ولی c++ رو بلد نیستم و کار نکردم حالا به نظرت نیازه ++c رو یاد بگیرم؟

 

سلام. نه نیازی به ++c نیست . اما یاد بگیرید. برای آخرتتون خوبه.

در ضمن من سرعت اینترنتم خوب نیس. اما فک کنم لینکا سالم باشه. اگه موشکولی بود بهم بگید.

لینک ارسال
سلام. نه نیازی به ++c نیست . اما یاد بگیرید. برای آخرتتون خوبه.

در ضمن من سرعت اینترنتم خوب نیس. اما فک کنم لینکا سالم باشه. اگه موشکولی بود بهم بگید.

مرسی لینکا سالمه منظورم موقع اجرا هستش.

چون سری قبل یادمه چند بار مجبور شدم موارد مختلف رو امتحان کنم و چون اوراکل هم تحریم بودیم از سایت های وطنی گرفتم جاوا رو ولی خب در کل اجرا شد ولی چون همونظور که شما گفتید به برنامه نویسی نرسیدم دلسرد شدم.

ترتیب نصب که تاثیری در روند نصب نداره؟

لینک ارسال

من نمی دونم دوستان با من میان جلو یا نه :167:. تکلیف چیه الان ؟ ادامه بدیم بریم جلو یا منتظر بمونیم افراد بیشتری بهمون بپیوندن. :ws48: چون دوست ندارم وسط برنامه نویسی یکی بیاد یهو بگه چطور اکلیپس رو راه بندازیم. :icon_pf (72):

 

در هر حال تو این پست می خوام بگم اگه می خواهید از گوشی های اندرویدی برای تست برنامتون استفاده کنید باید یه تنظیمی رو روش انجام بدید. اونم اینه که امکان اتصال گوشی به اکلیپس رو فراهم کنید . به عبارت دیگر قابلیت دیباگ گوشی رو فعال کنید. اینکار تو گوشی های مختلف متفاوته اما چیزی که می گم تقریبا تو ۹۰ در صد گوشی ها یکیه.

اگه وارد تنظیمات گوشیتون بشین. معمولا این قسمت بالای قسمت در باره ی گوشی یا About device هست. به اسم developer Options این قسمت تنظیمات پیچیده ای هست که برای برنامه نویسانه و بقیه نباید باهاش ور برن .:vahidrk:

خوب حالا اگه این گزینه نبود علتش اینه که غیر فعاله . برای فعال کردنش . به قسمت about device می رید و یه قسمتی هست به نام build number . دیگه من ترجمه ی فارسی شو نمی گم. اگه گوشی تون فارسی هست همین الان این پست رو ترک کنید.:zadan: .

حالا کافیه ۵ یا ۶ بار روی گزینه ی build number بزنید.:ubhuekdv133q83a7yy7 بعد از چند بار زدن یه پیغام میاد که می گه developer option فعال شده :w821: حالا کافیه برگردید به منوی اصلی تنظیمات و اونجا گزینه ی developer option رو ببینید.:ws50:

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

یه گزینه ای هم داره با مضمون usb debuging اینو هم فعال کنید. تا با کابل بشه وصل بشه به اکلیپس

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

یه گزینه هست به اسم allow mock location برای وقتیه که می خواهید مختصات الکی جی پی اس به گوشی بدید تا یه چیزو تست کنید. مثلا الکی مختصات آمریکا رو می دید تا ببینید برنامتون کار می کنه یا نه.

یه سری گزینه هست مثل show touches یا show pointer location. وقتی می خواهید با ببینید دقیقا تو گوشی کجا رو لمس می کنید می تونید فعالش کنید . بالای صفحه ی گوشی مختصات دقیق لمس رو می نویسه.

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

گزینه ی به درد بخور دیگه show layout boundaries . این گزینه برای تازه کارا خیلی خوبه.:w963: چون سختی اول کار طراحی رابط کاربری هست . با این گزینه دقیقا می فهمید صفحه ی نمایش از چه اجزایی ساخته شده .

یه سری دیگه جینگولک بازی:w14: داره که می تونید با انگولکیشن:w127: ازشون سر در بیارید. فقط هر چیزو فعال کردید اگه دیدید اتفاقی نیافتاد ولش نکنید. معمولا گندش:smiley (18): بعدا در میاد. برگردونید سر حالت اولیه.

 

فعلا یه فیدبک به ما بدید بدونیم تو چه وضعیتی هستید.

تا جلسه بعد خدا نگهدار(اینو با لحجه خاصی باید بخونید)

خوش اومدین:w66:

لینک ارسال

خوب تو این جلسه می خوام در مورد یکی از بزار های جانبی adt که به اکلپیس اضافه شده صحبت کنیم.:w000: اسمش android sdk manager . از این ابزار برای دانلود نسخه های جدید تر اندروید و سایر چیزا مثل نمونه های کد آماده ،درایور های پردازند های خاص، سورس اندروید و سایر چیزا استفاده کنید.:ws52: البته همون طور که گفتم گوگل تو این حیطه ما رو تحریم کرده در نتیجه برای استفاده ازش حتما باید از فیلتر ش.ک.ن.ی:w02: استفاده کنید که بتونید پورت رو تنظیم کنید. کلا دو نوع وجود داره . یکی فقط برای مرور گر هاست. البته امکان تنظیم پورت هم داره مثلا میزارن روی پورت ۸۰۸۰ . یه سری هم وجود داره کلا هر ترافیکی از سیستم عبور کنه رو رمزنگاری می کنه مثل HSS :whistle: خلاصه اگه خواستید برید چیزی آپدیت کنید فقط کارتون به این قسمت میافته اما بالاخره یه تمهیداتی برای دسترسی بهش داشته باشید.:gnugghender:

برای دسترسی به این قسمت از داخل اکلیپس منوی window گزینه ی android sdk manager رو انتخاب کنید.:w16: تو صفحه ای که باز میشه سه قسمت برای دانلود هست.

یکیش ابزار هاست. یکیش ورژن های اندروید و آخرینش خرت و پرت های:Ghelyon: دیگه است.

معمولا به دو مورد اول احتیاج پیدا می کنید. هر ورژن اندروید رو که بخواهید دانلود کنید همراه خودش یه سری اضافات داره. شما فقط نیاز دارید sdk platform:evilsmile: رو دانلود کنید. بقیه اش یه سری سورس کد است. یه سری نمونه برنامه است. یه سری درایور برای افزایش سرعت اجرای شبیه ساز روی سی پی یو هاست. رابط کاربری گوگل برای موارد مثل نرم افزار های نقشه خوان گوگل هست. خیلی بلند پرواز نباشید که همه رو دانلود کنید. تو این باندلی که دانلود کردید معمولا آخرین نسخه ی اندروید رو میزارن.همون کافیه.

:wht:

 

تا جلسه ی بعد خدا نگهدار

:w155:

بابا بزاریدم زمین این کارا چیه . زشته .

اگه جرات دارید وایستید :guntootsmiley2:

لینک ارسال

سلام . :icon_pf (44):تو این قسمت می خوام در مورد android virtual device manager صوبت کنیم.:ws43: این قسمت در حقیقت شبیه ساز اندروید هست. وقتی یه برنامه می نویسید باید بتونید امتحانش کنید. دو راه برای امتحان کردن وجود داره . اول اتصال گوشی به اکلیپس و تست مستقیم روی گوشی حقیقی است . :Ghelyon:ر اه دوم ساختن یه گوشی مجازی و تست روی اون هست. هر کدوم از این روش ها مزایا و معایب خاص خودشو داره که من می گممزایای گوشی حقیقی:اجرای سریع تر برنامه ها.قابلیت تست بعضی موارد مانند لمس های چند انگشتی. لرزش گوشی. شرایط خاص نوری محیط. اجرای روان تر انیمیشن ها و....معایب. لزوم اتصال همیشگی گوشی به برنامه.اثر منفی بر روی باتری گوشی به علت اتصال همیشگی(البته این مورد زیاد حاد نیست من یه سال گوشی رو مستقیم زدم به لپ تاب هنوزم باتری رو خوب نگه می داره اما بعضیا خیلی حساسن می گن تا گوشی خاموش نشده نباید به برق زد که البته اشتباه فکر می کنند.):vahidrk:مزایای گوشی مجازی:عدم نیاز به گوشی حقیقیامکان ساختن انواع مختلف گوشی با ابعاد و ویژگی های مختلفمعایبسرعت پایین تر نسبت به گوشی حقیقیمصرف شدن منابع سیستم. مثلا اگه به گوشی تون ۱ گیگ رم اختصاص بدید. دقیقا یه گیگ از رم سیستم رو می خوره . در نتیجه در مواردی مثل s4 یا note که ۲ یا سه گیگ رم دارن این کار به صرفه نیست.برای باز کردن این قسمت از داخل اکلیپس منوی window گزینه ی android virtual device manager رو انتخاب کنید. rr79_screen_shot_1394-02-30_at_0.27.01.pngاین ابزار دو تا تب داره . تو تب اول گوشی های مجازی شما نمایش داده میشه. من دو تا ساختم. یه دونه مثل گوشی های زیقی :sigh:اندروید ۱۰ داره و صفحش هم ۲ اینچه . برای تست شرایط سخت. یکیش هم مثل گوشی خودم s4 هست. :whistles:شما هر تعداد که بخواهید می تونید بسازید.bazz_1.pngتو صفحه ی دوم یه سری مثال هست. از تلوزیون و ساعت های هوشمند گرفته تا بعضی گوشی های هوشمند. چون اینا کلا واس گوگل در نتیجه بیشتر گوشی های سری نکسوس رو می زاره . شما می تونید هر کدوم از این ابزار رو که دوست دارید انتخاب کنید و گزینه ی clone رو بزنید تا یه کپی با تنظیمات خاص شما ازش ساخته بشه.توی صفحه ی اول گزینه ی create رو بزنید. nwpd_6.pngتو این پنجره شما می تونید یه گوشی مجازی بسازید. avd name اسم گوشی مجازی device تنظیمات کلی یکی از گوشی ها رو می تونید انتخاب کنید. با انتخاب هر کدوم از این گوشی ها بقیه فیلد ها پر می شه تا بتونید با مقادیر پیش فرض آشنا بشید . می تونید این مقادیر رو هم تغییر بدید. target نسخه ی اندرویدی هست که روی گوشی مجازی نصب میشه. بسته به sdk هایی که تو آموزش قبلی دانلود کردید اینجا option دارید.cpu/abi پردازنده هست. اگر شبیه سازی چیزی دانلود کرده باشید گزینه های متفاوتی داره مگر نه همون پردازنده ی سیستم خودتونه.گزینه ی بعدی کیبورد سخت افزاری برای گوشی رو فعال می کنه.skin کیفیت صفحه ی نمایشfront/back camera دوربین جلو و عقبش هست که معمولا کار نمی کنه. مگه اینکه بعدا درست شده باشه.الکی گذاشتن برای شادی دل شما:w02:قسمت بعدی حافظه ی رم گوشی هست . لزومی نداره خیلی زیاد بدید. اگه سیستمتون ۴ گیگ رم داره و یه گیگ خالی دارین همون ۲۰۰ یا ۳۰۰ بدین کافیه. اگه یه دفعه این تنظیمات بیشتر از منابع سیستمون باشه کلا سیستمون هنگ می کنه. :jawdrop:‍VM Heapمیزان حافظه ای که از رم به هر نرم افزار می دن. این یکم تخصصیه. :girl_yes2:اگه گوشی شما ۳ گیگ رم داشته باشه لزمی نداره همه رو به یک برنامه بده . در حقیقت خیلی کم تر از این حرفا در حد ۱۲۸ مگ برای گوشی های خیلی سطح بالا مثل S4 به برنامه میده برای گوشی های زیقی در حد ۳۲ مگ هست. :hanghead:این مسئله در رایانه شما هم هست. اگر ۴ گیگ رم دارید هر نرم افزار می تونه در کمتر از ۲ گیگه. برای برنامه نویسی c زمان ما این مقدار ۱ مگ بود. یعنی با ۴ گیگ سیستم فقط می تونستیم از ۱ مگش استفاده کنیم.خلاصه این مقدار رو هم ۶۴ بزارید. سعی کنید مقادیر به واقعیت نزدیک باشه . در غیر این صورت برنامه روی شبیه ساز اجرا میشه اما در عمل نچ.:4564:حافظه ی سخت افزاری اختصاصی برای گوشی گزینه ی بعدیه. نرید مثلا ۱۶ گیگ بدین به گوشی چون تو واقعیت اینطوریه. ۵۰۰ مگ هم کافیه . من همیشه ۲۰۰ تا میزارم . بسته به کار خودتون داره. :w000:گزینه ی بعدی شبیه ساز کارت جانبی هست. اینم اگه نیاز دارید بزنید. بدونید که این مقادیر همون اول از سیستم شما مصرف میشه . پس اگه ۴ تا گوشی درست کنید و به هر کدوم ۴ گیگ بدین ۱۶ گیگ از سیستمون مصرف میشه . پس مثل آدام تنظیمات رو انجام بدین.:vahidrk:گزینه ی بعدی خیلی مهمه. فقط یکی از این دو مورد رو می تونید انتخاب کنید.snapshot . یکی از مشکلات شبیه ساز ها اجرای کند اون هاست. یعنی روشن کردن گوشی مجازی شیرین ۵ دقیقه زمان میبره . اگه این گزینه رو فعال کنید یه جورایی این زماین رو به زیر ۱ دقیقه می رسونه. یه جورایی hybernate می کنه. البته تو این حالت نمی تونید تنظیمات گوشی رو عوض کنید. رو بعضی سیستم ها هم اصلا جواب نمیدهگزینه ی بعدی استفاده از GPU سیستم برای انجام کارای پردازشی. این مورد عملکرد و قدرت گوشی رو بیشتر می کنه در حالی که گزینه ی اول سرعت روشن شدن رو تغییر می ده.اگر مشکلی باشه اون پایین میگه چه مرگشه.:ws36: بعد از تنظیم تمام موارد .اکی کنید.بعد از اینکه ساختید می تونید گزینه ی start رو بزنید. هر موقع می خواهید برنامه تون رو تست کنید . اول باید بیایید اینجا start یکی از گوشی ها رو بزنید.:shad:ycvq_5.pngتو این صفحه می تونید اندازه ی صفحه ی نمایش رو تعیین کنید. اگه گوشی تنظیمی خیلی بزرگ باشه داخل صفحه ی لپ تاب جا نمیشه در نتیجه یکم کوچیک تر انتخاب کنید که بشه کنترلش کرد.wipe user data فعال بودن این گزینه در هر بار اجرای شبیه ساز گوشی رو انگار تازه از کارتون در اوردید. همه برنامه ها رو پاک می کنه. زیاد لزومی نداره . چون وقت گیره.:184:گزینه ی بعدی هم بارگذاری دفعه ی قبلیه . انتخاب این گزینه مثل روشن کردن از حالت hybernate . سرعت بالا اومدن بیشتر میشه.save to snapshot هم بعد از بستن روی snapshot قبلی ذخیره می کنه تا دفعه ی بعد از این حالت روشن بشه. بعضی موقع ها مثل واسه من قاط می زنه و اینا رو غیر فعال می کنه. مهم نیست اصلا.لانچ رو بزنید.w6ci_4.pngاین صفحه ی میاد . کاریش نداریم. اگر خطایی باشه اینجا می نویسه.:167:این صفحه ی اصلی شبیه ساز هست.xr3n_3.pngاینجا معمولا چند دقیقه ای می مونه و طول میکشه.:confused:صبور باشید. BE PATIENT بالاخره بالا اورد.:shad:v2yg_2.pngدیگه از این جا به بعد مثل یه گوشی واقعی هست.:ws49:خوش بگذرونید تا جلسه ی بعد.:welcome:

لینک ارسال

درود مجدد.

انگار فقط منم که مزاحم میشم:ws52:

خب قبل از همه چیز بگم با توجه به کند بودن سرعت نتم (و عدم توان دانلود لینکها)مجبور شدم یه سرچی تو سیستمم کنم و موارد قبلی که دانلود کرده بودم رو بیابم.

موارد زیر بود که تصویر مشخصاتشون رو میزارم و فکر کنم هردو مورد یه ورژن پایین تره

tu22pm1ew4x7jz1w6iah.jpg

 

حالا میخواستم ببینم میتونم ادامه آموزش هارو پیش برم یا باید حتما" در ادامه آپ بشن؟

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

قبلی که ساخته بودم یه الگو(pattern ) داشت که الان یادم نمیاد چی بوده میشه بازش کرد؟:ws3:

لینک ارسال
درود مجدد.

:ws3:

 

علیک سلام.

مشکلی نداره با همینا جلو برید اونارم کم کم دانلود کنید.

فک کنم اگه گزینه ی wipe user data رو بزنی درست شه . نشد پاک کن دوباره درست کن:a030:

لینک ارسال

خوب این جلسه اولین برنامه رو می نویسیم.:gnugghender: بعدش من یه استراحت طولانی میرم مسافرت.:hapydancsmil: تا برگردم شما کار کنید اشکالاتونو بگید.:vahidrk:

اول از همه باید بگم من مک دارم :whistles:در نتیجه چون ویندوز دم دستم نیست شاید بعضی از مشکلات شما رو نتونم سریع حل کنم. گفتم در جریان باشید. فهمیدید من مک دارم یا نه.:icon_razz:

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

یه آدرس به عنوان workspace بهش می دید. از این به بعد تمام پروژه ها تون اینجا ساخته می شه.پس یه جایی بزارید که ویندوزتون پرید نزنید تو سرتون.:w821:

این صفحه ی اصلی برنامه هست.

 

2qgj_screen_shot_1394-02-30_at_18.51.16.png

 

نوار سمت چپ مرورگر پروژه هاست . تمام پروژه هاتون اینجاست. هر پروژه خودش از چند قسمت تقسیم می شه.

 

icki_screen_shot_1394-02-30_at_18.53.03.png

اسم پروژه با اسم نرم افزار فرق می کنه.

src کد های برنامه رو در بر داره. می تونه داخل چندین package باشه. بعضی از این پکیج ها رو خودتون می نویسید و بعضی دیگه رو از جای دیگه کش میرید. :guntootsmiley2:مثلا برای خرید درون برنامه باید یه سری از اینا رو به پروژه اضافه کنید.

قسمت بعدی gen هست. همون generate هست . این فایل رو خود اکلیپس درست می کنه . در نتیجه اصلا کاری باهاش نداشته باشید. چون هر کاریش کنید دوباره مثل جن ظاهر میشه. :45645:کار اصلیشم تبدیل اسم های اشیا به اعداد است چون این اسم ها تنها در داخل کد معنا داره نه پردازنده.

فولدر بعدی assets هست . اینجا می تونید یه سری اضافات بزارید . برعکس بعضی برنامه ها اینجا زیاد مهم نیست .من فقط فونت های اضافی رو می زارم اینجا . عکس و بقیه جنگولک بازی ها :w14:رو می ریزید تو res.

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

libs . بعضی از کتابخانه ها و ابزار ها به صورت لایبرری هستند .:ws33: مثل تبلیغات عدد که زیر برنامه هاست. یا بقیه چیزا. اونارو کپی می کنیم اینجا و ازشون تو برنامه استفاده می کنیم.یه فایل با پسوند jar.

مهم ترین پوشه res به معنی منابع است.

بعضی پوشه ها توش هست و بعضی دیگه بنا به نیاز می سازیم.

k9jw_screen_shot_1394-02-30_at_19.13.31.png

مثلا همون اول anim نداره . اما اگه شما تو برنامه از انیمیشن استفاه می کنید باید یکی بسازید. منظورم از انیمیشن کارخانه هیولاهانیستا. :w127:منظور اینه که یه دکمه رو فشار می دی بره داخل بعد محو بشه . این جور چیزای ابتدایی.:hanghead:

یکی از ویژگی های عالی اندروید سیستم locality هست. یعنی بسته به اینکه برنامه رو چه گوشی و کجا اجرا بشه .کاملا میشه ظاهرشو عوض کرد. :ws43:

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

به خاطر همین یکم در این زمینه باید اطلاعات داشته باشید.:girl_yes2:

یکی از این پوشه ها پوشه ی drawable هست که با چند تا extension نمایش داده میشه . که عبارتند از

-hdpi

-ldpi

-mdpi

-xhdpi

-xxhdpi

اینا رو می چسپونن تنگ:w02: فولدر ها بعد خود اندروید می دونه چی کار کنه. مثلا شما یه عکس با نام مشابه داخل هر کدوم از این فولدر ها می زارید . بنا بر اینکه کیفیت صفحه نمایش گوشی چیه خودش انتخاب می کنه از چه فولدری استفاده کنه.:girl_angel:

یه چیز مهم وجود داره و اون اینکه همیشه یه فولدر پیش فرض وجود داره اگه شما فقط همونو پر کنید روی تمام گوشی ها از همون استفاده می کنه.

اسم فولدر ها با کارشون در زیر اوردم

drawble . هر چی عکسه اینجا میره:camera2:

anim . انیمیشن های ساده:ghd8rpyczsi4wew2e4j

layout . طراحی رابط کاربری اینجا قرار میگیره.

menu. منو ها اینجاست.

raw. هر چی فایل با فرمت عجق وجق :80x7izu87acutttcy9t‍اینجاست. صدا. دیتابیس. هر چی....

values. اینجا یه سری فایل xml هست بیشتر برای تغییر زبان برنامه هست. استایل برنامه . و ابعاد پیش فرض صفحات.

مثلا شما برای خروج یه کلید تعریف می کنید به اسم exit بعد برای هر زبان یه xml درست می کنید. تو یکیش می زارید خروج . تو اون یکی فرانسوی می زارید و .... خود اندروید بر اساس اینکه زبان گوشی چی هست . یا داخل تنظیمات برنامه چی رو انتخاب کرده می تونه از فایل مخصوص استفاده کنه.

 

آخرین فایل خیلی مهم anidroidManifest.xml هست. این در حقیقت شجرنومچه :ws41:برنامه هست. تمام اجازات اسم برنامه و تنظیمات خفن برنامه مثل اینکه واسه چه اندرویدی هست از اینجا تنظیم میشه.

 

خوب حالا یه پروژه درست کنید. برید به file->new ->android application project .

اگه نبود گزینه ی آخرین other هست اونو انتخاب کنید داخل پنجره ای که باز میشه حتما هست.

wm1c_screen_shot_1394-02-30_at_19.15.47.png

Application name. اسم برنامه است که تو منوی گوشی به طرف نشون داده میشه. هر چی بزارید بعدا میشه تغییر داد.

Project name . همون اسم فولدر اصلی پروژه تو نوار سمت راست اکلیپس هست.

package name. معمولا یه اسم سه قسمتی میزارن که برعکس آدرس اینترنتی سایت هست. مثلا سایت من habibtm.com بعد اسم هر پروژه رو اول این اضافه می کنم مثل برنامه خندونه. khendone.habibtm.com در نتیجه اسم بسته میشه com.habibtm.khendone مهم نیست . یه استاندارد نام گذاری هست. اما رعایت بشه بهتره .

Minimum required SDK. کمترین اندازه ورژن اندروید برای اجرا . کسانی که زیر این هستند نمی تونند برنامه رو نصب کنن. خیلی بالا یا پایین نزارید. معمولا حرفه ای ها ۸ میزارن.:ws43:

target . اندروید گوشی مقصد اینم زیاد تاثیر نمیازه . فقط رو شکل و شمایل برنامه اثر داره.

compile with. نسخه ی sdk که دانلود کردید و می خواهید باهاش کار کنید. شما ها اگه چیز اضافی نگرفته باشید فقط یه گزینه دارید.

theme. شکل کلی و تم برنامه است.

همه ی اینا رو میشه تغییر داد بعدا پس نگران نباشید.

next رو بزنید.

fqoz_screen_shot_1394-02-30_at_19.29.34.png

تو این صفحه دست به چیزی نزنید . برید صفحه ی بعدی

 

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

 

y4j1_screen_shot_1394-02-30_at_19.31.20.png

تو صفحه ی بعدی همون blank activity رو انتخاب کنید. می تونید مدل های مختلف رو انتخاب کنید اما برای شروع کار یه چیز ساده انتخاب میکنیم تا دستمون راه بیافته.

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

finish بزنید.

 

تو اکلپیس من تنها صفحه ی رابط کاربری برنامه نمایش داده میشه که توش نویشه hello world.

حالا پروژه ی hello world شما درست شده . گوشی رو به برنامه وصل کنید. یا از طریق avd manager که تو آموزش قبل دادم . گوشی مجازی خودتونو روشن و آماده به کار بزارید.

از منوی run اکلیپس گزینه ی run رو انتخاب کنید. یه پنجره باز میشه گزینه ی android application رو انتخاب کنید. برای هر پروژه فقط اولین بار این پنجره میاد.

lbsw_screen_shot_1394-02-30_at_19.40.22.png

اگه گوشی مجازی رو روشن کرده بودید. برنامه بلافاصله روی شبیه ساز نصب میشه و باز میشه .

 

 

 

mbqt_screen_shot_1394-02-30_at_19.40.49.png

 

خوش بگذره.

enjoy coding .

:w02:

لینک ارسال

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

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

 

سلام مهدی جان منت گذاشتی . می گفتی گاوی گوسفندی :ag2f893eg0ja83qr8q:چیزی سر می بریدیم.:w14:

تو پست های قبلی گذاشته بودم یه سری لینک. ببین اونا به کارت میاد.:a030:

لینک ارسال

سلام . گفتم قبل اینکه برم یکم دیگه از اندروید بگم براتون.:w02:

برنامه نویسی اندروید دو بخش داره . یکی طراحی گرافیک و رابط کاربری برنامه هاست که معمولا داخل یه فایل xmlهست.:ws52: البته این قسمت رو میشه تا حدودی با ابزار اکلیپس به صورت خودکار انجام داد:hapydancsmil: اما یه برنامه نویس حرفه ای :whistles: هیچ موقع به اون اتکا نمی کنه چون دقیق نیست و کلا برنامه نویس جماعت با ماوس رابطه ی خوبی نداره.:putertired:

هر کدوم از این صفحات برنامه داخل فولدر layout از فولدر res پروژه هست. اگه با ما پیش اومده باشید فقط یه فایل داخل اون فولدر هست به اسم activity_main.xml . همونو باز کنید.:(50):

محتویاتش اینه.

1wah_screen_shot_1394-02-31_at_5.09.10.png

هر صفحه ی xml این مدلی رو میشه دو جور دید. یکیش به صورت رندر شده است و یکیش به صورت گرافیکی .

تو مدل رندر شده یه سری ابزار هست برای اضافه کردن view های جدید و مدیریت صفحه .

یه توضیحی در مورد هر کدوم میدیم.

تو نوار ابزار این صفحه . یه گوشی سبز هست که بقلش نوشته nexus one با اون میشه اندازه ی صفحه ی گوشی رو مشخص کرد. یعنی اینکه بدونیم این چیزی که طراحی کردیم روی گوشی های مختلف چه شکلی هست. بازش کنید و هر گوشی که دوست دارید رو انتخاب کنید.

بقل اون جهت گوشی رو مشخص می کنه.landscape or portraite

بقلیش . تم صفحه رو مشخص می کنه. توجه کنید که این صفحه برای نمایش هست نه تنظیم تم. بعضی تم ها فقط تو اندروید های ورژن بالا هست. اینم از اون مواردی هست که باید بهش توجه کرد.

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

 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context="com.example.saeed.MainActivity" >


   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="@string/hello_world" />


</RelativeLayout>

اصلا ازش نترسید. :sad0:اکلیپس یکم جو داده.:w02:

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

یه سری المان داخل این زبان هستند. یه سری می تونند چیزی نمایش بدن مثل همین برچسبی که نوشته hello world اما یه سری فقط حکم بسته بندی رو دارن که شکل کلی رو نشون بدن.

الان گره ی relativelayout نقش بسته بندی رو داره و گره ی textview می تونه چیزی رو نمایش بده.

 

هر گره ای با یه سری ویژگی ها داره و همون طور که گفتم می تونه یه سری بچه داشته باشه. اما دو تا ویژگی واجبه و اون اندازه اونه. یعنی طول و عرض . معمولا تو اندروید طول و عرض دقیق به کار نمی برن. یعنی نمی گن این برچسب ۱۰ پیکسل باشه یا هرچی. میگن این برچسب تا جایی که میتونه صفحه رو پر کنه یا فقط به اندازه ی نیازش پر کنه. اولی میشهmatch_parent or fill_parent دومی میشه wrap_content.

همون طور که می بینید تو مثال بالا گره ی اصلی باید کل صفحه رو بگیره در نتیجه match_parent هست اما . برچسب ما فقط به اندازه ی نیازش جا می گیره و wrap content هست.

این خیلی مهمه چون اگه اشتباهی انتخاب بشه معمولا چیزی نمایش داده نمی شه.

بقیه ویژگی ها هم وجود داره . مثلا برای اینکه یه TextView یه نوشته ای رو نشون بده باید بزاریمش تو

android:text=""

 

حالا

@string/hello_world

به چه معناست فعلا زوده. اما این مقدار رو تغییر بدید تا ببینید که چه تاثیری داره . مثلا بزارید Noandishaan.

برای مشاهده ی نتیجه یا باید دوباره از برنامه run بگیریم یا از پایین صفحه برید به حالت رندر با زدن Graphical layout. دوباره با زدن activity_main.xml میشه به حالت کد برگشت.

خوب این جلسه یکم ترسناک شد . به خاطر همین تا همین جا بسه. خسته نباشید:ws50:

لینک ارسال

سلام بچه ها . :a030:

از اون جایی که من خیلی به فکر شما هستم.:w02: با hotspot گوشی یه بابایی دارم براتون پست میفرستم. :whistle:

خدای قدر منو بدونین دیگه . گفتن نداره.:w16:

امروز می خوام در مورد بعضی از عناصر xmlنویسی اندروید براتون بگم.

کلا به دو دسته تقسیم می کنیم . یه دسته اونایی که کلا کارشون container . یه دسته هم اونایی که یه چیزی برای نمایش دارن.

تو دسته ی اول چند تا وجود داره . ساده ترین آن ها LinearLayout این مورد به صورت خطی هست. سه تا ویژگی اصلی داره. طول و عرض و جهت.به ترتیب عبارتند از :

 

<LinearLayout
       android:layout_width="wrap_content/match_parent"
       android:layout_height="wrap_content/match_parent"
       android:orientation="horizontal/vertical" >

......


</LinearLayout>

 

همون طور که می بینید مقدار این ویژگی ها می تونه حالت های متفاوتی داشته باشه که با / اونا رو جدا کردم یعنی فقط باید یکیشو بزنید یا match_parent یا wrap_content . برای جهت vertical یا horizontal . این المان باعث میشه که موارد که داخلش میاد رو توی صفحه بچینه. بسته به اینکه ویژگی هاش چی باشه می تونید صفحه ی برنامه رو بچینید.

 

تو مثال قبلی حالت صفحه چین RelativeLayout اومده بود. اما اون چون خیلی سخته به کارمون نمیاد. در نتیجه از این مورد شروع می کنیم.

 

یعنی مثال قبلی رو با صفحه چین خطی اینطوری میشه.

 

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


   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Hello World" />


</LinearLayout>

 

همون طور که گفتم می تونید با تغییر مقدار text عبارت نمایش داده شده رو تغییر دهید.

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

 

 

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


   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Hello World" />
<TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Second Label" />


</LinearLayout>

 

صفحه چین RelativeLayout همه چیز رو نسبی با هم می سنجه . یعنی شما باید دقیقا فاصله شو نسبت به عناصر بالا و سمت چپ تعیین کنید. این روش خیلی جای انعطاف توی طراحی داره . اما دو تا نقطه ضعف داره . یکی اینکه چون اندازه ی صفحه ی گوشی ها فرق می کنه نمی تونید فاصله ها را دقیق بدید . یعنی با اینکار روی بعضی گوشی ها ظاهر طراحی به فنا می ره. یا اصلا نمایش داده نمی شه. مشکلی بعدی دشواری تغییر طراحی است. یعنی اگه یه چیز رو حذف یا جابجا کنید چون بقیه عناصر مثل تکه های زنجیر هستن اونا رو هم باید بازچینی کنید.

شکل بعدی FrameLayout هست. تو این یه مورد تمام فرزنداش روی هم می افته. یعنی بر خلاف صفحه چین خطی که بچه هاشو بسته به جهت از بالا به پایین یا چپ به راست می چینه.. تو این مورد تمام فرزندان به ترتیب روی هم چیده میشه. این مورد معمولا به دردانجام بعضی کارای گرافیکی می خوره. مثلا وقتی می خواییم تصویر پس زمینه بدیم بهتره از این صفحه چین همراه با مدل خطی استفاده کنیم.

مدل بعدی GridLayout هست. در مورد هر کدوم از اینا تو یه پست جداگونه بحث می کنیم.

 

برای المان TextView دو تا دیگه ویژگی می گم . یکی اندازه ی فونت هست که با

android:textSize="20sp"

نمایش داده می شه . کافیه مقدار مورد نیاز رو با پسوند sp بنویسید. هر چقدر بیشتر باشه . نوشته بزرگتره.

برای تغییر رنگ از

android:textColor="#ff000000"

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

لینک ارسال

سلام مجدد. :ws3:

یکی دیگه از ویژگی های TextView و تمام عناصر xml فاصله ی جانبی از سایر اشیاست. دو مورد وجود داره.یکی layout_margin و دیگری padding است.اولی مربوط به فاصله ی شی تا شی مجاور است. اما دومی فاصله محتوی یک شی تا مرز خودش هست.:ws52:

 

image5.png

 

تو شکل کاملا مشخص است. شی اصلی با عبارت Border مشخص شده است. مقادیر رو می تونید با پسوند dp وارد کنید. معنی dp یعنی از نظر پیکسلی به گوشی وابسته نیست. یعنی به چگالی بستگی داره . با این سیستم اندازه گیری یک مقدار معین مثلا ۵dp در تمام گوشی ها یک جور نشون داده می شود.:hapydancsmil:

 

یکی دیگه از ویژگی های بسیار جالب اینه که می تونید تقریبا برای تمام عناصر یک بکگراند در نظر بگیریم این ویژگی background است. تنها مسئله ی مهم نحوه ی آدرس دهی است.

ابتدا تمام عکس ها را در داخلی یکی از فولدر های drawable می زاریم.این کار با کلیک و درگ عکس روی فولدر drawable انجام میشه. سپس هر جا خواستیم بهش دسترسی داشته باشیم کافیه بنویسیم

@drawable/image_name

یه مسئله ی مهم اینه که نباید در اسم عکس ها از حروف بزرگ استفاده کرد در نتیجه از underline استفاده کنید.

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

یه مثالی این پایین می زنم.

<TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:background="@drawable/image_name"
       android:layout_margin="5dp"
       android:padding="5dp"
       android:visibility="visible/gone/invisible"
       android:text="Hello World"
       android:textColor="#444" />

 

همون طور که می بینید. طول و عرض به اندازه ی نیازه. تصویر پس زمینه رو image_name از فولدر drawble هست. فاصله از شی کناری ۵ پیکسل مستقل، فاصله ی نوشته از مرز شی ۵ پیکسل مستقل، متن نوشته hello world ، رنگش هم 444 هست.

یه ویژگی دیگه نمایش اون هست. که خیلی مورد نیازه. ممکنه یه شی ای بزارید اما نخواهید فعلا نمایش داده بشه . این ویژگی visibility است . سه تا مقدار می تونه بگیره. visible , invisible , gone.

visible . نمایش داده میشه

gone . نه نمایش داده میشه و نه جاش نگه داشته میشه.

invisible نمایش داه نمیشه ولی جاش گرفته میشه .

فعلا خداحافظ

لینک ارسال

سلام.:ws3:

یکی دیگه از ویژگی هایی که برای صفحه چین ها باید استقاده بشه عبارت

xmlns:android="http://schemas.android.com/apk/res/android"

 

در بالاترین گره ضفجه است. یعنی صفحه چین اصلی هر چی باشه باید این مورد باشه.

مثلا در زیر اینو می بینیم.

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

</LinearLayout>

 

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

خوب اینجا باید بگم چرا ما داریم از این استفاده و این یه نکته ی حرفه ای است :w02:پس خوب گوش کنید. همون طور که ما گفتیم هر المانی خودش یه background می تونه داشته باشه اما چرا ما باید یه صفحه چین فریم داشته باشم و از اون استفاده کنیم. علتش اینکه وقتی از فریم استفاده می کنیم و به جای استفاده از ویژگی بک گراند از یه المان مجزا به اسم ImageView استفاده می کنیم می تونیم به راحتی Scale تصویر رو رعایت کنیم.:ws52:

بیشتر توضیح می دم. چون گوشی ها اندازشون متغیره وقتی عکس رو می زارید پس زمینه بسته به اندازه ی گوشی و نسبت تصویر ، بک گراند ممکنه کشیده بشه.

اما وقتی از المان ImageView استفاده می کنیم می تونیم از ویژگی خیلی خوب ScaleType استفاده کنیم. با این ویژگی می تونیم تعیین کنیم اگه عکس بزرگتر از قاب باشه چه اتفاقی رخ بده. مثل عکس بک گراند ویندوز . تصویر بزرگ بشه. کوچیک باشه و ....

در بالا از المان ImageView سخن به میون اومد.:w000: این المان همون طور که از اسمش معلومه یه چیزی تو مایه های TextView هست اما به جای نمایش نوشته . عکس نمایش می ده.

ویژگی اصلی این المان که به تصویر اشاره می کنه src هست. مقدار این عبارت رو می توان به تصویر داخل پوشه ی drawable اشاره داد.

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


   <ImageView
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:scaleType="matrix"
       android:scaleType="fitXY"
       android:scaleType="fitStart"
       android:scaleType="fitCenter"
       android:scaleType="fitEnd"
       android:scaleType="center"
       android:scaleType="centerCrop"
       android:scaleType="centerInside"
       android:src="@drawable/imagename" />


   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Hello world" />


</LinearLayout>

 

در بالا المان ImageView اومده . تمام مقدار های ممکن برای ScaleType اومده . توجه داشته باشید که برای هر ویژگی فقط باید یه مقدار بدیم بهش.

یعنی اگه اینو بزنیم قبول نمی کنه و ارور می ده. فقط باید یکی از این مقادیر رو بزاریم.

 

دیگه الان به اندازه ی کافی در مورد طراحی صفحات گفتم. بازم خواهم گفت اما بهتره خودتون هم یکم روش کار کنید. تا کم کم بریم سر وقت کد. :putertired:

از اونجایی که هیچ سوالی پرسیده نمیشه معلومه کار نمی کنید و صرفا دارید لایک می زنید.:vahidrk:

لینک ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...