رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.
جستجو در
  • تنظیمات بیشتر ...
نمایش نتایجی که شامل ...
جستجو در ...

AnswerCenter

مرکز پاسخگویی به سوالات برنامه نویسی

  • مرجع پاسخگویی
  • تولید آموزش
  • سفارش پروژه

درخواست سفارش پروژه

اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


محمدرضا شاهپیری

*****ویژه**** : پیاده کردن کلاس Application در بیسیک (بسیار کاربردی و مهم)

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

محمدرضا شاهپیری    3,396

معاون انجمن

با سلام خدمت دوستان عزیز. یه آموزش کاملا اختصاصی و کاربردی رو براتون تدارک دیدیم.:gamer2:

کلاس Application یکی از کلاسهای بسیار مهم و کاربردی توی اندروید هست. و کارهای زیادی رو شما میتونید با این کلاس انجام بدین.

وظیفه اصلی این کلاس آماده سازی متغیرها یا در واقع متدهایی از برنامه هست که به صورت سراسری تو کل پروژه میتونید ازشون استفاده کنید. 

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

اما نحوه پیاده سازی. ابتدا توی جاوا که اکثرا میدونن به شکل زیر هست. یک کلاس که از Application مشتق شده ایجاد و اونو توی منیفست اضافه میکنیم.

import android.app.Application;

public class MyCustomApplication extends Application {
 	@Override
	public void onCreate() {
	    super.onCreate();
	}
}

حالا توی منیفست با خصوصیت android:name توی تگ application  اونو اضافه میکنیم

<application 
   android:name=".MyCustomApplication"
   android:icon="@drawable/icon" 
   android:label="@string/app_name" 
   ...>

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

ابتدا یک کلاس بیسیک با نام مثلا myApp میسازیم از منوی project.

حالا کد زیر رو توی اون کپی میکنیم.

Public Sub onCreate
	Log("onCreate")
End Sub

#If java
import android.app.Application;
public static class App extends Application {
   @Override
   public void onCreate() {
      super.onCreate();
	   runSub("_onCreate".toLowerCase());	
	 }
	private void runSub(String sub){
	 try {
	    	 myapp.class.getMethod(sub,null).invoke(new myapp());
        } catch (Exception e) {
            BA.Log( e.toString());
        } 
	}
}
#End If

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

واسه اینکه بتونیم سابهای بیسیک رو از توی کدهای جاوا اجرا کنیم اومدیم و از رفلکشن استفاده کردیم که در واقع تابع runSub میشه. دقت داشته باشین میتونید هر ساب دیگه ای رو هم پیاده کنید توی این کلاس و همینطور هر متدی از این کلاس رو میتونید توی کد جاوا پیاده و بازنویسی کنید. تو این لینک توضح کامل و متدهای کلاس application هست.

و اما مرحله آخر به منیفست میریم و به صورت زیر کلاس رو به برنامه معرفی میکنیم.

SetApplicationAttribute(android:name, ".myapp$App")

اول نقط بعد اسم کلاس بیسیک با حروف کوچیک و بعد حرف $ و بعد اسم کلاس جاوایی که تعریف کردیم. حالا کافیه برنامه رو اجرا کنید و میبینید که ساب onCreate اجرا و پیغام نمایش داده میشه.

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

موفق باشید♥ 

 

  • پسندیدن 2
  • تشکر 2

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

×