مجید آرتا 5,874 ارسال شده در 16 آبان، ۱۳۹۴ اشتراک گذاری ارسال شده در 16 آبان، ۱۳۹۴ سلام امیدوارم حالتون خوب و خوش باشه. آقای محمودی عزیز توی این تاپیک آموزش تصویری در مورد اکتیویتی و ارسال اطلاعات بین اکتیویتی ها رو دادند و بنده هم به صورت متنی قصد دارم توضیحی رو بدم ( از ماهیت فیلم خبر ندارم) http://answercenter.ir/topic/8823-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D8%A7%DA%A9%D8%AA%DB%8C%D9%88%DB%8C%D8%AA%DB%8C-%D8%AC%D8%AF%DB%8C%D8%AF-%D9%88-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%A2/ خب برای ساخت اکتیویتی اکتیویتی جدید می تونید اکتیویتی که بعد از ایجاد پروژه ساخته میشه رو کپی کنید به وسیله نگه داشتن کلید CTRL و دراگ کردن اکتیویتی بروی Package.و یا یک Class ایجاد کنید و کلاس رو extends کنید از Activity. و در AndroidMnaifest هم باید اضافه بشه ( جزیئات توی فیلم گفته شده). در ادامه توی B4A برای اینکه ما بتونیم پارامتری رو به اکتیویتی دیگه بفرستیم باید متغییرشو توی Proccess_Globals تعریف می کردیم و تبادل رو انجام می دادیم.اما توی جاوا به وسیله Intent و PutExtra این عمل رو انجام می دیم. خب انواع مختلفی از PutExtra وجود داره که بستگی به نوع اطلاعات ارسالی داره;رشته ، عدد ، منطقی ( True , Flase ) و ......... اکتیویتی که قصد داریم مقدار بفرستیم به این شکل کد می نویسیم : package ir.itgolden.arta.activites; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btnGo = (Button) findViewById(R.id.btnGo); btnGo.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(MainActivity.this, SecondActivity.class); intent.putExtra("TXT", "Majid"); MainActivity.this.startActivity(intent); } }); } } یک دکمه ساخته بودیم و رویدادش ( لیسنر کلیک ) رو هم تعریف کردیم. در ادامه یک Intent تعریف کردیم و پارامتر اول رو هم اکتویتی فعلی و پارامتر دوم اکتیویتی مورد نظر. و خط بعدی اومدیم از putExtra استفاده کردیم و یک کلید به اسم TXT ساختیم که مقدار یا Value از نوع رشته که حاوی اسم Majid هستش قرار دادیم و در خط بعدی اکتیویتی بعدی رو استارت می کنیم. و حالا اکتیویتی دوم ( گیرنده اطلاعات) :package ir.itgolden.arta.activites; import android.app.Activity; import android.os.Bundle; import android.widget.Toast; public class SecondActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second); Bundle extra = getIntent().getExtras(); if (extra != null) { if (extra.containsKey("TXT")) { Toast.makeText(SecondActivity.this, extra.getString("TXT"), Toast.LENGTH_SHORT).show(); } } } } خب برای اینکه بتونیم پارامتر های ارسالی رو دریافت کنیم باید یک متغییر از نوع Bundle تعریف کنیم و مقادیر رو بگیریم ( احتمال Null بودن هم هست پس بعدش از شرط استفاده می کنیم ). خب در ادامه میاییم شرط قرار می دیم که مقدار دریافتی نا مساوی بود با Null و یا تهی بود و دارای کلیدی به اسم TXT بود بیا برای ما به وسیله یک Toast نمایش بده. میتونستیم مقدار extra.getString رو توی یک متغییر String بریزیم و نمایش بدیم در هر صورت تفاوتی در نتیجه کار نداره. خب با یک آموزش ساده متوجه شدیم که به چه شکل می تونیم مقادیر ارسالی رو دریافت و کنترلشون کنیم. تشکر از آقای محمودی عزیز بابت آموزش تصویریشون 3> موفق باشید. AnswerCenter.IR لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.