Activity #2

اجرا کردن یک Activity

برای اجرای Activity به راحتی می توانید یک Intent ایجاد کنید و مشخص کنید که چه activity را می خواهید اجرا کنید.همچنین می توانید به intent مقداری داده اضافی برای اجرا شدن صحیح activity مورد نظر ارسال کنید.سپس شما باید متد startActivity() را صدا بزنید.
به کد زیر توجه کنید:

Intent intent = new Intent(this, SignInActivity.class);
startActivity(intent);

شرایطی وجود دارد که نیاز دارید کاری را انجام دهید که برنامه شما قادر به انجام آن کار نیست در این حالت در صورتیکه این امکان توسط برنامه دیگر فراهم شده است می توانید از آن برنامه ها استفاده کنید.برای مثال زمانیکه شما می خواهید یک ایمیل ارسال کنید نیاز نیست خودتان کدهای مربوط به آن را بنویسید و می توانید از intent خاصی بدین منظور استفاده کنید.به کد زیر دقت کنید:

Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_EMAIL, recipientArray);
startActivity(intent);

Intent.EXTRA_EMAIL مشخص کننده آدرسی است که می خواهید به آن ایمیل ارسال کنید.

اجرا کردن یک activity برای دریافت نتیجه

ممکن است شما نیاز داشته باشید تا یک activity را صدا بزنید و نتیجه را از آن activity دریافت کنید.در این صورت شما activity خود را به وسیله startActivityForResult() باید اجرا کنید.برای گرفتن نتیجه نیاز است callbackی به اسم onActivityResult() را پیاده سازی کنید:

private void pickContact() {
    // Create an intent to "pick" a contact, as defined by the content provider URI
    Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
    startActivityForResult(intent, PICK_CONTACT_REQUEST);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // If the request went well (OK) and the request was PICK_CONTACT_REQUEST
    if (resultCode == Activity.RESULT_OK && requestCode == PICK_CONTACT_REQUEST) {
        // Perform a query to the contact's content provider for the contact's name
        Cursor cursor = getContentResolver().query(data.getData(),
        new String[] {Contacts.DISPLAY_NAME}, null, null, null);
        if (cursor.moveToFirst()) { // True if the cursor is not empty
            int columnIndex = cursor.getColumnIndex(Contacts.DISPLAY_NAME);
            String name = cursor.getString(columnIndex);
            // Do something with the selected contact's name...
        }
    }
}

درکد بالا نحوه انتخاب یک آیتم از دفترچه تلفن کاربر را مشاهده می کنید.

از بین بردن یک Activity

اگر نیاز داشتید یک activity را به صورت صریح shut down کنید از متد finish() می توانید استفاده کنید.البته در مطالب بعدی متوجه خواهید شد که نیاز نیست خودتان دستی این کار را انجام دهید و سیستم اندروید به صورت اتوماتیک این کار را برای ما انجام خواهد داد.

یک دیدگاه برای “Activity #2”

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *