অ্যাপ্লিকেশন ক্লাস ব্যবহার করে
আপনি আপনার সূচনাতে যা করছেন তার উপর নির্ভর করে আপনি একটি নতুন শ্রেণি তৈরির বিষয়টি বিবেচনা করতে পারেন যা Applicationআপনার সূচনা কোডটিকে onCreateশ্রেণীর মধ্যে একটি ওভাররাইড পদ্ধতিতে প্রসারিত এবং সরিয়ে নিয়ে যেতে পারে ।
public class MyApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
// TODO Put your application initialization code here.
}
}
onCreateআবেদন ক্লাসে শুধুমাত্র যখন সমগ্র আবেদন তৈরি করা হয় বলা হয়, যাতে অভিযোজন বা কীবোর্ড দৃশ্যমানতা পরিবর্তন কার্যকলাপ পুনরায় আরম্ভ এটা আরম্ভ করা হবে না।
এই শ্রেণীর উদাহরণটি সিঙ্গলটন হিসাবে প্রকাশ করা এবং অ্যাপ্লিকেশন ভেরিয়েবলগুলি আপনি গেটর এবং সেটারগুলি ব্যবহার করে আরম্ভ করছেন তা প্রকাশ করা ভাল অনুশীলন।
দ্রষ্টব্য: আপনার নতুন অ্যাপ্লিকেশন শ্রেণির নামটি নিবন্ধভুক্ত এবং ব্যবহারের জন্য আপনাকে ম্যানিফেস্টে উল্লেখ করতে হবে:
<application
android:name="com.you.yourapp.MyApplicationClass"
কনফিগারেশন পরিবর্তনগুলিতে প্রতিক্রিয়া ব্যক্ত করা [আপডেট করা: এপিআই 13 এর পরে এটি অবহেলা করা হয়েছে; প্রস্তাবিত বিকল্প দেখুন ]
আরও বিকল্প হিসাবে, আপনি আপনার অ্যাপ্লিকেশনটি এমন ইভেন্টগুলির জন্য শুনতে পারেন যা পুনরায় সূচনা করতে পারে - যেমন ওরিয়েন্টেশন এবং কীবোর্ডের দৃশ্যমান পরিবর্তনের মতো - এবং আপনার ক্রিয়াকলাপের মধ্যে সেগুলি পরিচালনা করে।
android:configChangesআপনার ক্রিয়াকলাপের ম্যানিফেস্ট নোডে নোড যুক্ত করে শুরু করুন
<activity android:name=".MyActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name">
বা অ্যান্ড্রয়েড 3..২ (এপিআই স্তর ১৩) এবং আরও নতুনের জন্য :
<activity android:name=".MyActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/app_name">
তারপরে ক্রিয়াকলাপের মধ্যে onConfigurationChangedপদ্ধতিটি ওভাররাইড করে এবং setContentViewজিইউআই লেআউটটিকে নতুন অভিযোজনে পুনরায় কাজ করতে বাধ্য করার জন্য কল করুন ।
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}