ساختار یک برنامه ی اندروید
ساختار برنامه ی اندرویدی
بعد از اینکه اولین برنامه ی اندرویدی را ایجاد کردید وقت این رسیده که با ساختار برنامه ی ایجاد شده آشنایی پیدا کنید و ببینیم که یک برنامه از چه اجزایی ساخته شده است.ابتدا فایل هایی را که در Package Explorer قرار دارد را بررسی میکنیم.
- src- حاوی فیل های منبع java پروژه ی شما است.در حال حاضر یک فایل به نام MainActivity.java وجود دارد.این فایل منبع activity شما است.شما باید کدهای مربوط به برنامه خود را در این فایل بنویسید.فایل های جاوا در زیر نام پکیج قرار دارند.که نام پکیج در این برنامه com.PRG.helloworld است.
- gen- حاوی فایل R.java است که این فایل به صورت اتوماتیک تولید شده و شامل تمام Reference هایی است که در برنامه شما وجود دارد.تمام منابع موجود در پروژه شما در یک کلاس آمده است.پس برای استفاده از تمامی منابع می توانید از این کلاس استفاده کنید.
- کتابخانه ی Android 6.0- این آیتم حاوی فایل android.java است که دارای تمامی کتابخانه کلاس هایی است که در برنامه ی شما مورد نیاز است.
- assets- حاوی فایل های مورد نیاز شما مثل DataBase و Font ها و... است.
- bin- این فولدر شامل فایل هایی است که توسط ADT در موقع کامپایل برنامه ساخته می شود.برای مثال فایل های APK ساخته شده در این فولدر قرار دارد.یک APK حاوی کل برنامه شما به صورت اجرایی می باشد که می توانید آن را روی دستگاه های اندرویدی اجرا کنید.
- res- این فولدر حاوی منابع مورد استفاده در برنامه اندروید است که خود دارای چند فولدر است:layout , drawable , values.
- AndroidManifest.xml- شناسه ی برنامه ی شما است.در این فایل باید مجوزهای دسترسی که برنامه شما نیاز دارد را مشخص کرده و قابلیت های آن را تعیین کنید.
فایل main.xml رابط کاربری activity را مشخص میکند.آن را به صورت زیر اصلاح کنید:
عبارت string@ به فایل string.xml در res/values اشاره دارد.بنابراین string/hello_world به عبارت رشته ای hello_world اشاره دارد که حاوی متن Hello world! است.
پیشنهاد میکنم که عبارات رشته ای مورد نیاز برنامه را در فایل string.xml ذخیره کرده و با استفاده از string@ آن را فراخوانی کنید.اگر به این شکل عمل کنید وقتی که بخواهید برنامه خود را بومی سازی کنید کافیست که مقادیر درج شده در فایل string.xml را کپی کرده و در جای مناسب خودش قرار دهید.بومی سازی یعنی اینکه به عنوان مثال اگر کاربری برنامه شما را در گوشی و یا دستگاهی را اجرا کند که زبان پیشفرض آن فرانسوی باشد,برنامه شما به صورت اتوماتیک رشته ای که با زبان فرانسوی است را فراخوانی میکند.فایل دیگری که در پروژه ی اندروید مهم است,فایل شناسنامه یا AndroidManifest است.به محتوای AndroidManifest.xml دقت کنید:
AndroidManifest.xml حاوی جزئیات اطلاعات مربوط به برنامه است:
- نام پکیج در این فایل قرار دارد."com.PRG.helloworld"
- نسخه ی برنامه 1 در نظر گرفته شده استandroid:versionCode="1" .این قسمت جهت تعیین نسخه ی برنامه می باشد و بعد ها ممکن است جهت بروزرسانی برنامه به کمک شما بیاید.
- نام ورژن کنونی 1.0 است android:versionName="1.0" . این قسمت معمولا برای نمایش به کاربر تعیین میگردد.
- خصوصیت android:minSdkVersion="17" تعیین کننده ی حداقل نسخه ی اندروید جهت اجرا روی دستگاه های اندرویدی است.در این برنامه API 17 در نظر گرفته شده است.
- این برنامه از فایل عکسی که در فولدر drawable و با نام ic_launcher.png است,استفاده میکند.
- نام برنامه در رشته ای بنام app_name در فایل string.xml است.
- در این برنامه تنها یک اکتیویتی وجود دارد با نام MainActivity.
- در تعریف اکتیویتی یک عنصری وجود دارد بنام <intent-filter> که نشان می دهد این اکتیویتی نقطه ی شروع برنامه و اکتیویتی اصلی است و مقدار آن برابر است با "android.intent.action.MAIN".
- مشخصه ی category برای intent filter برابر است با "android.intent.category.LAUNCHER" تا نشان دهد که این برنامه می تواند در لیست برنامه های دستگاه جهت اجرا قرار گیرد.
- به محض اینکه فایل و فولدری به پروژه خود اضافه کنید,Eclipse به صورت اتوماتیک محتوای فایل R.java را تولید می کند که به شکل زیر است:
توصیه میکنم که به هیج وجه فایل R.java را دستکاری نکنید.Eclipse به صورت اتوماتیک هرگاه نیاز باشد آن را اصلاح می کند.
نکته:اگر فایل R.java را پاک کنید Eclipse به صورت آنی دوباره آن را می سازد.البته به شرطی که پروژه شما خطایی نداشته باشد.اگر این فایل ایجاد نشد به کد خود نگاهی بیاندازید شاید مشکل در فایل های xml مثل AndroidManifest.xml باشد.دوباره آن را چک کنید.
در نهایت کدی که activity را به رابط کاربری main.xml متصل می سازد متد ()setContentView است که به شکل زیر در MainActivity.java قرار میگیرد:
بنابراین R.layout.main به main.xml اشاره می کند که در res/layout قرار دارد.هرگاه فایل جدیدی در res/layout ایجاد کنید نام این فایل به سرعت در R.java ایجاد می شود.متد ()onCreate یکی از چندین متدی است که هنگام بارگذاری activity فراخوانی می گردد.
- نوشته شده توسط سعید نوشادی
- بازدید: 10268