آموزش برنامه نویسی اندروید (Android)
دسته بندی ( ۴۸۲ آموزش )
نمایش دسته بندی ها (۴۸۲ آموزش)
مباحث اولیه، در برنامه نویسی اندروید
مباحث اولیه، در برنامه نویسی اندروید 28
کار با Activity ها ، در برنامه نویسی اندروید
کار با Activity ها ، در برنامه نویسی اندروید 21
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید 11
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید 11
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید 10
کار با برنامه Android Studio ، در برنامه نویسی اندروید
کار با برنامه Android Studio ، در برنامه نویسی اندروید 9
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید 3
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید 9
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید 23
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید 38
ساخت دکمه (Button) ، در برنامه نویسی اندروید
ساخت دکمه (Button) ، در برنامه نویسی اندروید 7
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید 12
ساخت EditText، در برنامه نویسی اندروید
ساخت EditText، در برنامه نویسی اندروید 6
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید 13
طراحی متریال (Material Design)، در برنامه نویسی اندروید
طراحی متریال (Material Design)، در برنامه نویسی اندروید 3
پخش موسیقی، در برنامه نویسی اندروید
پخش موسیقی، در برنامه نویسی اندروید 5
نمایش انیمیشن، در برنامه نویسی اندروید
نمایش انیمیشن، در برنامه نویسی اندروید 3
تغییر ویژگی های کلی برنامه اندروید
تغییر ویژگی های کلی برنامه اندروید 3
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید 2
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید 10
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید 21
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید 8
حلقه ها (for و while و ...)، در برنامه نویسی اندروید
حلقه ها (for و while و ...)، در برنامه نویسی اندروید 2
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید 11
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید 10
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید 4
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید 5
بازی سازی، در برنامه نویسی اندروید
بازی سازی، در برنامه نویسی اندروید 1
به اشتراک گذاری (share)، در برنامه نویسی اندروید
به اشتراک گذاری (share)، در برنامه نویسی اندروید 5
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید 15
کار با پوشه های raw و assets ، در برنامه نویسی اندروید
کار با پوشه های raw و assets ، در برنامه نویسی اندروید 2
عملیات های ریاضی، در برنامه نویسی اندروید
عملیات های ریاضی، در برنامه نویسی اندروید 13
کار با دوربین (Camera)، در برنامه نویسی اندروید
کار با دوربین (Camera)، در برنامه نویسی اندروید 3
کار با action bar ، در برنامه نویسی اندروید
کار با action bar ، در برنامه نویسی اندروید 4
کار با کلاس ها (class) ، در برنامه نویسی اندروید
کار با کلاس ها (class) ، در برنامه نویسی اندروید 4
کار با package ها ، در برنامه نویسی اندروید
کار با package ها ، در برنامه نویسی اندروید 2
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز) 2
امنیت، در برنامه نویسی اندروید
امنیت، در برنامه نویسی اندروید 1
Thread ها، در برنامه نویسی اندروید
Thread ها، در برنامه نویسی اندروید 3
سرویس ها (Service)، در برنامه نویسی اندروید
سرویس ها (Service)، در برنامه نویسی اندروید 9
BroadcastReceiver ، در برنامه نویسی اندروید
BroadcastReceiver ، در برنامه نویسی اندروید 0
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید 11
AsyncTask ، در برنامه نویسی اندروید
AsyncTask ، در برنامه نویسی اندروید 2
آرایه ها (Arrays)، در برنامه نویسی اندروید
آرایه ها (Arrays)، در برنامه نویسی اندروید 3
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید 6
رنگ ها (Colors)، در برنامه نویسی اندروید
رنگ ها (Colors)، در برنامه نویسی اندروید 3
Fragment ها و Tab بندی، در برنامه نویسی اندروید
Fragment ها و Tab بندی، در برنامه نویسی اندروید 8
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید 1
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید 3
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید 1
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید 2
پرداخت درون برنامه ای، در برنامه نویسی اندروید
پرداخت درون برنامه ای، در برنامه نویسی اندروید 1
 پروژه های اندروید Open Source کاربران کلیدستان
پروژه های اندروید Open Source کاربران کلیدستان 2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید 5
مباحث عمومی، در برنامه نویسی اندروید
مباحث عمومی، در برنامه نویسی اندروید 35

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

همان طور که می دانید، هنگامی که یک پروژه اندروید جدید در برنامه eclipse می سازیم، یک package با نامی مشخص برای آن انتخاب می کنیم (در همان مراحل ساخت پروژه اندروید) و برنامه اندروید تنها دارای یک package است که تمامی Activity ها و کلاس ها (class) ها در آن قرار می گیرند. مثلا بنده در پروژه اندروید زیر، نام com.kelidestan.com را برای package برنامه اندروید انتخاب کرده ام :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

اکنون فرض کنید که ما قصد داریم که یک پروژه اندروید با تعداد زیادی Activity و کلاس (class) داشته باشیم، بنابراین می توانیم که برای مدیریت بهتر Activity ها و کلاس ها (class)، یک یا چند package دیگر برای پروژه اندروید بسازیم تا تعدادی از Activity ها و کلاس ها (class) در آنها قرار بگیرند. مثلا فرض کنید که بخشی از برنامه اندروید، برای دانلود فایل از اینترنت می باشد، بنابراین بنده تصمیم می گیرم که یک package با نام com.kelidestan.download بسازم و تمامی Activity ها و کلاس های (class) مرتبط با دانلود فایل را در آن قرار بدهم.

برای ساخت یک package جدید برای پروژه اندروید، ابتدا بر روی نام پروژه اندروید در قسمت Package Manager در برنامه eclipse ، با موس، کلیک سمت راست نموده و گزینه New و سپس گزینه Package را انتخاب می کنیم :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

پنجره ای به شکل زیر نمایش داده می شود :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

نام package جدیدی که می خواهیم ساخته شود را در قسمت Name نوشته و بر روی گزینه Finish کلیک می کنیم. package جدید در پروژه اندروید ساخته می شود :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

خوب اکنون که دو package در پروژه اندروید داریم، انتظارمان این است که برای هر کدام که قصد داریم یک Activity یا یک کلاس (class) جدید بسازیم، باید بر روی همان package ، با موس، کلیک سمت راست نموده و ابتدا گزینه New و سپس گزینه مربوط به ساخت Activity یا کلاس (class) را انتخاب نماییم، اما متاسفانه نتیجه، آن چیزی که فکر می کنیم نیست، یعنی اگر شما مراحل را برای package با نام com.kelidestan.download انجام بدهید، Activity یا کلاس (class) جدید، برای com.kelidestan.com ساخته می شود. این مورد را با مثال شرح می دهیم و همچنین می گوییم که چگونه Activity یا کلاس جدید را بین package های مختلف، جابجا کنید.

به عنوان مثال، من قصد دارم که برای package با نام com.kelidestan.download ، یک Activity جدید با نام DownlodHandler بسازم. برای این منظور، بر روی com.kelidestan.download ، با موس، کلیک سمت راست نموده و ابتدا گزینه New و سپس گزینه Other را انتخاب می کنم :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

پنجره ای به شکل زیر نمایش داده می شود :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

گزینه Android Activity را انتخاب نموده و سپس بر روی دکمه Next کلیک می کنیم. صفحه زیر نمایش داده می شود :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

گزینه Blank Activity که برای ساخت یک Activity ساده به کار می رود را انتخاب نموده و بر روی دکمه Next کلیک می کنیم.

در صفحه بعدی، نام مورد نظرمان برای Activity را در قسمت Activity Name نوشته و نام مربوط به فایل xml متناظر برای لایه گرافیکی Activity را نیز در قسمت Layout Name می نویسیم :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

بر روی گزینه Finish کلیک می کنیم تا Activity و فایل xml متناظر با آن ساخته شود :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

همان طور که قبلا گفته بودم، بر خلاف انتظار ما، Activity جدید برای package با نام com.kelidestan.com ساخته شده است. بنابراین اکنون باید آن را به package با نام com.kelidestan.download منتقل کنیم. برای این منظور، ابتدا بر روی فایل DownloadHandler.java ، با موس، کلیک سمت راست نموده و سپس گزینه Copy را انتخاب می کنیم. آنگاه بر روی package با نام com.kelidestan.download ، با موس، کلیک سمت راست نموده و گزینه Paste را انتخاب می کنیم تا یک کپی از فایل DownloadHandler.java در آن قرار بگیرد (اکنون دو تا فایل DownloadHandler.java داریم) :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

فایل DownloadHandler.java برای package با نام com.kelidestan.com را حذف می کنیم (با موس، بر روی package ، کلیک سمت راست نموده و گزینه Delete را انتخاب می کنیم) :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

اما تنها با یک copy و paste ساده، کار انتقال تمام نمی شود، زیرا هنگام ساخت Activity ، در فایل AndroidManifest.xml از پروژه اندروید، نام package مربوط به آن درج شده است و بنابراین باید فایل AndroidManifest.xml را باز کرده و نام package مربوط به آن را تغییر بدهیم :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

کدهای فایل AndroidManifest.xml به صورت زیر می باشد :


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.kelidestan.com"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.kelidestan.com.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.kelidestan.com.DownloadHandler"
            android:label="@string/title_activity_download_handler" >
        </activity>
    </application>

</manifest>

مشاهده می کنید که کد مربوط به Activity با نام DownloadHandler ، به صورت زیر نوشته شده است :


<activity
    android:name="com.kelidestan.com.DownloadHandler"
    android:label="@string/title_activity_download_handler" >
</activity>

قبل از نام DownloadHandler ، عبارت com.kelidestan.com نوشته شده است، اما ما باید آن را به عبارت com.kelidestan.download که همان package جدید است، تغییر بدهیم :


<activity
    android:name="com.kelidestan.download.DownloadHandler"
    android:label="@string/title_activity_download_handler" >
</activity>

علاوه بر نکته ای که گفتیم، همان طور که مشاهده می کنید، برای فایل DownloadHandler.java ، یک علامت خطا نمایش داده شده است، آن را باز می کنیم تا ببینیم مشکل از چیست :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

همان طور که مشاهده می کنید، منابعی که در کلاس R مشخص می شوند را نتوانسته است تشخیص بدهد، دلیل آن هم واضح می باشد، زیرا وقتی ما تنها حرف R را نوشته ایم، در واقع اشاره به کلاس زیر دارد :


com.kelidestan.com.R

زیرا نام package اصلی برنامه اندروید، com.kelidestan.com می باشد، اما چون Activity با نام DownloadHandler.java در package با نام com.kelidestan.download قرار گرفته، بنابراین نمی تواند کلاس R را بیابد. برای حل این مشکل، باید کلاس com.kelidestan.com.R را وارد (import) کنیم، یعنی باید در ابتدای فایل، کد زیر نوشته شود :


import com.kelidestan.com.R;

بنابراین کدها را به صورت زیر تغییر می دهیم تا دیگر هیچ خطایی نمایش داده نشود :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید
نکته

شما با کلیک بر روی علامت کوچک نمایش داده شده در کنار نام package ها، می توانید تعیین کنید که Activity ها و کلاس های (class) موجود در آن package ، نمایش داده شوند یا خیر :

ساخت package های جدید برای مدیریت بهتر Activity ها و کلاس ها (class) و همچنین شرح چگونگی ساخت یک Activity جدید برای package ای غیر از package اصلی برنامه اندروید، در برنامه eclipse ، در برنامه نویسی اندروید

مثلا وقتی که با Activity ها و کلاس های یک package کار نمی کنیم، با کلیک بر روی علامت کنار آن، تعیین می کنیم که موارد مربوط به آن نمایش داده نشوند (قسمت Package Explorer در برنامه eclipse ، شلوغ نشود).

بنابراین در این مبحث شرح دادیم که چگونه می توان یک یا چند package جدید برای پروژه اندروید ساخت تا مدیریت Activity ها و کلاس ها (class) ساده تر شود. پس Activity ها و کلاس هایی (class) که به هم مرتبط هستند را در package های جداگانه قرار بدهید تا مثلا در یک پروژه اندروید با 20 یا 30 Activity و کلاس (class)، مدیریت آنها ساده باشد.

نویسنده علیرضا گلمکانی
شماره کلید 2670
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 1 1 0
ماندانا
۱۳۹۵/۱۱/۲۲
۱۹:۴۲

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

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)

جستجو در کلیدستان، توسط گوگل

جستجو در عنوان کلیدها

دسترسی سریع

کلید
×

شماره کلید


دسته بندی
×

شماره دسته کلید


جستجو
×

جستجو


کلمات کلیدی

راهنمای کلمات کلیدی (کلاس ها، توابع، عناصر و ...) در برنامه نویسی اندروید، بر اساس حرف اول کلمه کلیدی :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

developer.android.com