Home » Lập trình » Học Android » Bài 5. Truyền dữ liệu từ Activity này sang Activity khác.

Bài 5. Truyền dữ liệu từ Activity này sang Activity khác.

Trong Android muốn hiện thị 1 interface hay một hành động ta cần 1 Activity, và bài này chúng ta cùng đi tìm hiểu xem các chuyển từ Activity này sang Activity khác ra sao và gửi dữ liệu giữa các Activity

[Total: 0    Average: 0/5]

Bài trước chúng ta đã tìm hiểu về các Layout trong Android và hôm nay chúng ta sẽ tìm hiểu về cách truyền dữ liệu từ Activity này sang Activity khác.

Trong Android muốn hiện thị 1 interface hay một hành động ta cần 1 Activity, và bài này chúng ta cùng đi tìm hiểu xem các chuyển từ Activity này sang Activity khác ra sao và gửi dữ liệu giữa các Activity

– Trước tiên bạn tạo 1 class có tên file là: SecondScreen.java

1. Mở một Activity mới

Để mở 1 Activity mới ta có phương thức startActivity() hoặc startActivityForResult().

Intent i = new Intent(getApplicationContext(), SecondScreen.class);
 StartActivity(i);

2. Gửi các tham số cho Activity ta dùng putExtra()

i.putExtra("key", "value");
  
 i.putExtra("email", "myemail@gmail.com");

3. Lấy dữ liệu được gửi ta dùng getStringExtra()

Intent i = getIntent();
 i.getStringExtra("key");
  
 String myemail = i.getStringExtra("email");

4. Mở Activity mới và trả về kết quả

Trong một số trường hợp bạn muốn lấy kết quả trả về từ Activity mới. Ta dùng startActivityForResult()Và dùng phương thức onActivityResult() để đọc kết quả trả về.

Intent i = new Intent(getApplicationContext(), SecondScreen.class);
 startActivityForResult(i, 100);  
 @Override
     protected void onActivityResult(int requestCode,
                                      int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
         if(resultCode == 100){
  
              // Storing result in a variable called myvar
              // get("website") 'website' is the key value result data
              String mywebsite = data.getExtras().get("result");
         }
  
     }

5. Gửi kết quả trở lại Activity cũ khi SatrtActivityForResult() vẫn hoạt động

Intent i = new Intent();
 i.putExtra("website", "AndroidHive.info");
  
 setResult(100,in);

6. Đóng Activity

Ta dùng phương thức finish();

7. Và thêm vào file AndroidManifest.xml

Giữa thẻ <application> ta thêm đoạn code sau:

<activity android:name=".NewActivityClassName"></activity>

Chúng ta sẽ đi vào 1 vidu nhỏ để các bạn hiểu rõ hơn. Còn Tiếp…

 

 

 

Aboutquyenpro

Nguyễn Văn Quyền, rất vui được làm quen với các bạn!

Leave a Reply

Your email address will not be published. Required fields are marked *

*