Chuyển đến nội dung chính

BUNDLE-CHUYỂN ĐỔI GIỮA CÁC ACTIVITY VỚI NHAU TRONG ANDROID


https://thangcoder.com/lap-trinh-android/chuyen-doi-giua-cac-activity-voi-nhau-trong-android
Từ bài 1 cho đến bây giờ chúng ta mới chỉ thao tác duy nhất ở một Activity đúng không các bạn? Nhưng trong một ứng dụng thì không thể nào có một màn hình duy nhất được mà nó còn rất nhiều màn hình khác, và việc tương tác giữa các màn hình là điều mà bạn không thể nào tránh khỏi.
Và chuyển đổi giữa các màn hình này với màn hình khác hay nó cách khác là giữa Activity này với Activity khác thì cũng là chuyện thường làm, vậy hôm nay chúng ra sẽ tìm hiểu nó và ở bài sau chúng ta sẽ tìm hiểm cách truyền dữ liệu giữa hai activity nhé.
Để gọi một Activity khác thì thông thường chúng ta chỉ có một cách duy nhất là sử dụng Intent, kiến thức về Intent rất rộng nên mình sẽ nói ở một bài viết khác còn hôm nay các bạn chỉ cần nắm rõ cách dùng là được bởi vì nó là cú pháp mặc định không thay đổi được.
Chúng ta bắt tay vào làm nào, bây giờ mình sẽ tạo ra 2 Activity A và B, ở màn hình A sẽ có nút Button khi click vào thì nó sẽ chuyển qua màn hình B nhé, bây giờ mình sẽ khởi tạo các file như sau:
Tổng quát project sẽ như sau:
Chuyển đổi giữa các activity trong android
Chuyển đổi giữa các activity trong android
1. Tạo ActivityA, đây là Activity khởi động đầu tiên khi vào app nhé, mặc định khi khởi tạo project là MainActivity bạn sửa tên thành ActivityA là được:
ActivityA.java

2. Đây là file layout_a, layout của ActivityA bạn:
layout_a.xml

3. Chuột phải vào package chọn New => Java class và tạo ActivityB như sau:
ActivityB.java

4. Chuột phải vào thư mục layout chọn New => Layout resource file để tạo layout cho ActivityB:
layout_b.xml

5. Chỉnh sửa lại file strings.xml vì ở trên mình định nghĩa text trong này, vào value => string.xml để sửa đổi:
strings.xml

Mình sẽ giải thích đoạn code chính ở ActivityA như sau:

Khi click vào nút Button ở màn hình A nó sẽ thực hiện việc call ActivityB thông qua khởi tạo một đối tượng intent:

Ở trên bạn sẽ truyền vào 2 params, 1 là Activity hiện tại và param thứ 2 chính là Activity đích mà bạn muốn chuyển đến, rất đơn giản đúng không nào.Sau đó gọi hàm startActivity() và truyền vào intent đã khai báo thì tự động nó sẽ hiểu là bạn đang muốn di chuyển từ ActivityA sang Activity B và lúc nào ActivityB sẽ hiện lên.
Một lưu ý nhỏ là khi bạn khởi tạo một Activity bạn phải khai báo trong file AndroidManifest.xmlchứ không là xảy ra lỗi ngay các này mình sẽ nói rõ trong bài cấp quyền trong Android ở bài sau nữa nhé.
AndroidManifest.xml

Các bạn nên sửa lại tên package cho đúng như project các bạn không là sẽ lỗi đó nhé, không thì bạn cứ import project phía dưới của mình đã có sẵn ở github.

Nhận xét

Bài đăng phổ biến từ blog này

Entry Test của FPT

IQ - Kiểm tra tư duy logic (8/20) - GMAT- Kiểm tra khả năng tính toán trong thời gian ngắn (8/20) - Tiếng Anh (18-> 25/50) - Các bài thi chuyên môn - FE (8/20) IQ: lên mạng tìm "IQ test" là ra đầy. + GMAT: Những câu trắc nghiệm tính toán đơn giản kiểu như sau:  1 . Một shop thời trang sale off quần jeans 15 %, quần jeans giá 450 $, người mua đưa 500 $, hỏi cashier trả lại bao nhiêu $ tiền thừa.? 2 . 100 % là 180 , vậy 150 là bao nhiêu %? Tiếng anh: Cỡ như thi TOEIC thôi. Chuyên môn: Mobile thì trắc nghiệm Java. Qúa trình tuyển như sau :v Lần 1: Test IQ, Tiếng Anh( mình làm í ẹ khoảng 50% mà vẫn được) , Java Lân 2: được gọi điện lên :)) + Gioi thiệu bản thân + Họ chỉ hỏi các câu căn bản như: -. OOP: là gì, 4 tính chất, ví dụ, khác nhau giữa interface và abstract - CODE: hầu toàn các bài toán vòng for :)) , cẩn thận mấy câu kế thừa. SQL (distinct, view, function, cursor, store procedure, ...v.v.), nhớ có câu cộng 2 số int không dùng biến đệm hơi khoai haha + Nói ch...

Java: Java Package-Thư viện trong Java

Giới thiệu về Package Các bạn mới học lập trình Java thường không dể ý tới package vì các bạn toàn tạo file .java vào cùng 1 chỗ, không cần sắp xếp, không cần quản lý truy nhập. Nhưng để tăng kỹ năng lập trình với Java, các bạn cần phải tìm hiểu về package trong Java. Các bạn có thể tham khảo định nghĩa sau: Package được dùng để đóng gói các lớp trong chương trình lại với nhau thành một khối. Đây là cách tốt nhất để lưu trữ các lớp gần giống nhau hoặc có cùng một module thành một khối thống nhất – để đáp ứng 1 khối chức năng. Từ đây mình sẽ giới thiệu thêm với các bạn các câu lệnh nhâp khẩu,nó có định dạng như sau : Định dạng :  import javaPackageNameImport;    Nó giống như khai báo thư viện ở các ngôn ngữ lập trình khác.Như vậy,chỉ khi các bạn nhập khẩu chúng,các bạn mới có thể sử dụng thư viện mà chúng cung cấp cho ta. VD :    import java.util.Date;   import java.text.SimpleDateFormat; Lưu ý : -Các câu lệnh nhập khẩu rất nhiều và...

phỏng vấn Embedded C và C++?

Có vài điểm rất nhỏ, các bạn không để ý có thể dẫn đến bất lợi (nếu không muốn nói là rớt) ở vòng hồ sơ hoặc khi đi phỏng vấn. Mình liệt kê rất cụ thể ra những chuyện mình đã thấy qua nhiều lần (người thật, việc thật), hy vọng cho các bạn thêm kinh nghiệm. Lưu ý: Những chuyện này rất chủ quan, có thể chỉ đúng trong môi trường của mình và hoàn toàn không đúng trong môi trường khác. Gửi email CV đến không có Cover Letter, chỉ đính kèm mỗi file PDF là cái CV. CV ghi : tiếng Anh: Trung Bình, C: Trung Bình,... nhưng bên dưới lại ghi ưu điểm_:  là người ham học hỏi... CV bằng tiếng Việt và lại viết sai chính tả tiếng Việt. CV ghi quá nhiều về các hoạt động tình nguyện, hiến máu, blah blah... nhưng phần kĩ thuật lại có 3 dòng thôi. Mặc đồ thể dục của trường và đi dép lê đến PV. Đến muộn PV (em ấy bảo bị kẹt xe). Đưa yêu cầu, em ấy không hiểu đề nhưng ngại không dám hỏi lại, dẫn đến viết hoàn toàn sai. Hỏi ngay câu căn bản đầu tiên em ấy đã nói không biết và  đổ do trường kh...