بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

کلاس معرفی

مدیریت گفتگو
amirhossein777 12 سال پیش
آخرین تغییر: 12 سال پیش

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

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

نظرات

پاسخ‌ها 2

طاهر 12 سال پیش

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

مثل کد زیر بعد از 5 ثانیه انتقال داده میشه به اکتیویتی دیگه

 public class ActivityStartup extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_startup);

G.HANDLER.postDelayed(new Runnable() {

@Override
public void run() {

Intent intent = new Intent(ActivityStartup.this, ActivityHomePage.class);
ActivityStartup.this.startActivity(intent);
ActivityStartup.this.finish();
}
}, 5000);
}

}

 در کلاس G

 public static final Handler HANDLER= new Handler()

نظرات

amirhossein777 12 سال پیش
ممنون کامل بود لطفا کلاس جی رو هم کدش رو اینجا بذارید!
CreativeBoy 12 سال پیش

سلام 

با تشکر از دوستمون tah62k ، کلاس G برای این مثالی که دوستمون زدن به این شکله( البته استاد توی آموزش ها در این مورد توضیحات کاملی دادن):

1. برای دیدن راهنمای ساختن کلاس G و ActivityEnhanced به این تاپیک برید.

2. توی این مثال کافیه کلاس ActivityStartup رو از extend ، ActivityEnhanced کنید.

3. و توی Intent به جای نوشتن اسم اکتیویتی جاری (ActivityStartup.this) میتونید بنویسید G.currentActivity (یادتون باشه که وقتی اینو نوشتید دیگه نیازی به نوشتن this. نیست).

نظرات

amirhossein777 12 سال پیش
چرا کانتکس رو توی کلاس جی تعریف نکنیم (برابر نال) و توی هر اکتیویتی که میخوایم استفاده کنیم مقدار this رو بهش واریز نکنیم؟
amirhossein777 12 سال پیش
من کار کردن با کلاس جی و اکتیویتی Enhanced رو بلدم فقط میخوام بدونم HANDLER چه constant ی هست؟مقدارش چیه؟
CreativeBoy 12 سال پیش
"چرا کانتکس رو توی کلاس جی تعریف نکنیم (برابر نال)..."، به این خاطر که ممکنه بعدا توی یه کلاس دیگه که از جنس اکتیویتی نیست (مثلا همین customControl هایی که میسازیم) بخوایم یه toast بذاریم، اونوقت چون واسه context مجبورید یه چیزی از جنس application بذارید و کلاسی که الان توش هستید از جنس view هست و view هم نمیتونه به عنوان context یه toast بیاد، پس باید یه Global Context توی برنامه داشته باشیم تا بتونیم چنین جاهایی ازش استفاده کنیم. (منظورتون رو از سوال دوم متوجه نشدم. :|)
CreativeBoy 12 سال پیش
public static final Handler HANDLER= new Handler() این چیزیه که باید توی کلاس G بنویسی، همین :)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .