Bỏ qua nội dung
Chủ đề
Xây dựng ứng dụng Android
Các thành phần cấp cao nhất
Khả năng nhắn tin, email, chơi trò chơi và nhiều hơn nữa được thực hiện trong các ứng dụng Android thông qua bốn lớp thành phần cấp cao nhất: Broadcastreceiver, ContentProvider, Service và Hoạt động. Tất cả đều được đại diện bởi các đối tượng Java.
Thành phần hoạt động
Các hoạt động cung cấp các thành phần ứng dụng dễ nhìn nhất. Họ trình bày nội dung với màn hình và phản hồi tương tác của người dùng. Các thành phần Activity
là các thành phần duy nhất trình bày nội dung tương tác cho người dùng. Một Activity
đại diện cho một cái gì đó mà một ứng dụng có thể làm và một ứng dụng thường là một số thứ khác - có nghĩa là, hầu hết các ứng dụng cung cấp nhiều hơn một Activity
.
Quan điểm Android
Trong Android, Views
là các yếu tố nguyên tử, không thể chia cắt tự vẽ lên màn hình. Họ có thể hiển thị hình ảnh, văn bản, và nhiều hơn nữa. Giống như các yếu tố định kỳ kết hợp để hình thành hóa chất, chúng tôi kết hợp Views
để hình thành các thành phần thiết kế phục vụ mục đích cho người dùng.
Nhóm xem Android
Trong Android, ViewGroups
Sắp xếp Views
[và các ____99 khác] để hình thành các thiết kế có ý nghĩa. ViewGroups
là trái phiếu đặc biệt kết hợp các chế độ xem để hình thành các thành phần thiết kế phục vụ mục đích cho người dùng. Nhóm xem là các chế độ xem có thể chứa các chế độ xem khác trong chúng.
Các tập tin bố trí Android
Trong Android, mỗi bố cục được biểu thị bằng một tệp XML. Các tệp văn bản thuần túy này đóng vai trò là bản thiết kế cho giao diện mà ứng dụng của chúng tôi trình bày cho người dùng.
Chuyển đổi tệp bố cục
Khi các hoạt động khởi chạy lần đầu tiên, họ đọc một tệp bố cục và chuyển đổi nó thành một tập hợp các đối tượng Java tương ứng. Các đối tượng này kế thừa từ đối tượng Chế độ xem cơ sở và có thể tự vẽ lên màn hình.
Tập tin dự án
Các tệp dự án Android thuộc về một trong ba loại chính: cấu hình, mã và tài nguyên. Các tệp cấu hình Xác định cấu trúc dự án, các tệp mã cung cấp logic và các tệp tài nguyên là khá nhiều thứ khác.
Trình biên tập bố cục
Trình chỉnh sửa bố cục Android Studio bao gồm hai tab:
3 và...
xmlns:tools=""
xmlns:app=""
android:layout_height=""
...
4. Tab...
xmlns:tools=""
xmlns:app=""
android:layout_height=""
...
3 chỉnh sửa trực tiếp tệp XML cơ bản và tab...
xmlns:tools=""
xmlns:app=""
android:layout_height=""
...
4 cung cấp giao diện kéo và thả để đạt được kết quả tương tự....
xmlns:tools=""
xmlns:app=""
android:layout_height=""
...
Thuộc tính bố cục bắt buộc
Trong Android, hai thuộc tính là bắt buộc trong mỗi bố cục:
7 và...
xmlns:tools=""
xmlns:app=""
android:layout_height=""
...
8, và các giá trị phổ biến nhất cho các thuộc tính này là...
xmlns:tools=""
xmlns:app=""
android:layout_height=""
...
9 và...
xmlns:tools=""
xmlns:app=""
android:layout_height=""
...
0.setContentView[R.layout.activity_main];
Bố cục ràng buộc
Ràng buộc sắp xếp con cái của nó so với chính nó và những đứa trẻ khác [trái, phải, bên dưới, v.v.]. Nó phức tạp hơn bố cục tuyến tính hoặc khung, nhưng nó linh hoạt hơn rất nhiều. Nó cũng hiệu quả hơn nhiều cho UI phức tạp vì nó cung cấp cho bạn một hệ thống phân cấp quan điểm phẳng hơn, điều đó có nghĩa là Android có ít xử lý để thực hiện trong thời gian chạy. Một ưu điểm khác của việc sử dụng bố cục ràng buộc là chúng được thiết kế đặc biệt để hoạt động với trình soạn thảo thiết kế Android Studio. Không giống như bố cục tuyến tính và hình thức nơi bạn thường thực hiện các thay đổi đối với XML, bạn xây dựng bố cục ràng buộc một cách trực quan. Bạn kéo và thả các thành phần GUI vào công cụ thiết kế của trình soạn thảo thiết kế, và cung cấp cho nó hướng dẫn về cách hiển thị mỗi chế độ xem.
Bố cục tuyến tính
Trong Android,
1 sắp xếp con cái theo một đường thẳng, theo chiều ngang hoặc chiều dọc. Nếu nó theo chiều dọc, chúng được hiển thị trong một cột duy nhất và nếu nó theo chiều ngang, chúng sẽ được hiển thị trong một hàng.setContentView[R.layout.activity_main];
Bố cục tuyến tính và ràng buộc
1 là ’từ trên xuống và ra lệnh cho vị trí cuối cùng cho mỗi đứa trẻ, trong khisetContentView[R.layout.activity_main];
3 chủ yếu là‘ từ dưới lên, vì nó yêu cầu con cái của nó cung cấp các thuộc tính liên quan đến vị trí.setContentView[R.layout.activity_main];
Con của ràng buộc
Trẻ em của
3 phải cung cấp một ràng buộc ngang và một ràng buộc dọc để xác định vị trí của chúng trongsetContentView[R.layout.activity_main];
3. Android Studio sẽ cảnh báo chúng tôi nếu chúng tôi không đặt ra các ràng buộc dọc và ngang cho bất kỳ thành phần con nào của ràng buộc.setContentView[R.layout.activity_main];
Tạo không gian với lề
Lợi nhuận giới thiệu không gian giữa các quan điểm và quan điểm thường được hưởng lợi từ các lề phòng thở của người dùng cung cấp.
Vòng loại tài nguyên
Vòng loại tài nguyên giúp chúng tôi tạo các tệp XML cho các cấu hình thiết bị cụ thể. Vòng loại tài nguyên cho phép chúng tôi tạo các phiên bản thay thế của một tài nguyên phù hợp với một hoặc nhiều yếu tố thiết bị: kích thước màn hình, tỷ lệ khung hình, phiên bản Android và các phiên bản khác, chẳng hạn như định hướng màn hình.
Androidx
Androidx là một thư viện hỗ trợ được thiết kế để mang lại các tính năng mới cho các thiết bị cũ. Androidx là một thư viện tương thích cung cấp các tính năng độc đáo và các API mới nhất cho các phiên bản Android Past & hiện tại. Androidx cho phép các thiết bị cũ có hương vị của API mới và công nghệ Android.
Ràng buộc độc quyền đối với Androidx
Không giống như
1, có sẵn trong phiên bản một của bộ phát triển Android,setContentView[R.layout.activity_main];
3 không phải là một phần của bất kỳ phiên bản nào của quá khứ hoặc hiện tại Android và chỉ có sẵn thông qua Androidx.setContentView[R.layout.activity_main];
Không gian tên Android
Trong Android, các không gian tên giúp tránh xung đột thuộc tính [ví dụ hai phiên bản của thuộc tính
8 trên mộtsetContentView[R.layout.activity_main];
9, chẳng hạn]. Ba không gian tên phổ biến là:setContentView[R.layout.activity_main];
0,public class MainActivity extends AppCompatActivity {
...
setContentView[R.layout.activity_main];
findViewById[R.id.incl_cardview_contact-card_main_1];
...
}
1 vàpublic class MainActivity extends AppCompatActivity {
...
setContentView[R.layout.activity_main];
findViewById[R.id.incl_cardview_contact-card_main_1];
...
}
2. Không gian tênpublic class MainActivity extends AppCompatActivity {
...
setContentView[R.layout.activity_main];
findViewById[R.id.incl_cardview_contact-card_main_1];
...
}
0 thuộc về SDK Android và đại diện cho các thuộc tính có sẵn ngoài hộp. Không gian tênpublic class MainActivity extends AppCompatActivity {
...
setContentView[R.layout.activity_main];
findViewById[R.id.incl_cardview_contact-card_main_1];
...
}
2 cho phép chúng tôi tham chiếu các thuộc tính được xác định bởi các thư viện bên ngoài [ví dụ: Androidx] và các thuộc tính được xác định bởi ứng dụng của chúng tôi. Không gian tênpublic class MainActivity extends AppCompatActivity {
...
setContentView[R.layout.activity_main];
findViewById[R.id.incl_cardview_contact-card_main_1];
...
}
1 cho phép chúng tôi xác định các thuộc tính được sử dụng riêng để phát triển, thiết bị người dùng không bao giờ nhìn thấy các thuộc tính này.public class MainActivity extends AppCompatActivity {
...
setContentView[R.layout.activity_main];
findViewById[R.id.incl_cardview_contact-card_main_1];
...
}
...
xmlns:tools=""
xmlns:app=""
android:layout_height=""
...
Định danh tài nguyên Android
Để các quan điểm liên quan hoặc tự hạn chế với anh chị em của họ, họ cần một cách để tham khảo chúng - các định danh tài nguyên đáp ứng nhu cầu này.
Bảng màu thành phần
Bảng màu thành phần cung cấp một lựa chọn các phần tử mà chúng tôi có thể kéo và thả ngay vào bố cục của chúng tôi.
Thiết kế vật liệu Ứng dụng web Android
Google đã giới thiệu thiết kế vật liệu vào năm 2014 để giúp tiêu chuẩn hóa sự xuất hiện của các ứng dụng web và di động trên toàn hệ sinh thái Google. Thiết kế vật liệu tiếp tục phát triển và có sẵn cho iOS, Android và một số khung web, tuy nhiên, áp dụng các nguyên tắc của nó là hoàn toàn tùy chọn.
Tài liệu thiết kế vật liệu
Bằng cách nhấp chuột phải vào bất kỳ yếu tố nào trong bảng màu thành phần, chúng tôi có thể điều hướng đến các tài liệu tương ứng hoặc hướng dẫn thiết kế vật liệu của nó.
Hướng dẫn thiết kế vật liệu
Mục đích và hành vi của hầu hết các quan điểm, bao gồm
6, được lấy cảm hứng từ các hướng dẫn thiết kế vật liệu. Google đã giới thiệu thiết kế vật liệu vào năm 2014 để giúp tiêu chuẩn hóa sự xuất hiện của các ứng dụng web và di động trên toàn hệ sinh thái Google.public class MainActivity extends AppCompatActivity {
...
setContentView[R.layout.activity_main];
findViewById[R.id.incl_cardview_contact-card_main_1];
...
}
Quá trình lạm phát bố trí
Trong quá trình tạo dự án, Android Studio liên kết tệp bố cục
7 với đối tượng chính. Cả hai được liên kết không phải theo tên, mà bằng phương pháppublic class MainActivity extends AppCompatActivity {
...
setContentView[R.layout.activity_main];
findViewById[R.id.incl_cardview_contact-card_main_1];
...
}
8 được tìm thấy trong lớp hoạt động. Phương pháp phức tạp này chấp nhận định danh tài nguyên tệp bố cục, tạo các chế độ xem được thiết kế bên trong và trình bày chúng trên màn hình - một quy trình được gọi là lạm phát bố cụcpublic class MainActivity extends AppCompatActivity {
...
setContentView[R.layout.activity_main];
findViewById[R.id.incl_cardview_contact-card_main_1];
...
}
setContentView[R.layout.activity_main];
Trang trí xem
Các đối tượng hoạt động có thể chọn không thể hiện không có gì cho màn hình, nhưng hệ điều hành Android luôn cung cấp cho họ một cái nhìn trang trí. Chế độ xem trang trí là nhóm lượt xem cấp cao nhất trong đó các đối tượng hoạt động vẽ nội dung của chúng.
Android FindViewByid
8 Chuyển đổi tất cả các thành phần XML trong bố cục của chúng tôi thành các đối tượng xem Java, vì vậy sau khi phương thức này trả về, chúng tôi có thể truy cập bất kỳ đối tượng xem nào từ bố cục của chúng tôi theo chương trình. Để tìm một đối tượng xem cụ thể, chúng tôi gọi phương thứcpublic class MainActivity extends AppCompatActivity {
...
setContentView[R.layout.activity_main];
findViewById[R.id.incl_cardview_contact-card_main_1];
...
}
Activity
0. Phương thức này trả về một đối tượng kế thừa từ đối tượng xem hoặc xem chính nó.public class MainActivity extends AppCompatActivity {
...
setContentView[R.layout.activity_main];
findViewById[R.id.incl_cardview_contact-card_main_1];
...
}
Đối tượng sự kiện chuyển động Android
Các đối tượng MotionEvent được tạo bởi Android sau khi ghi lại đầu vào của người dùng từ màn hình cảm ứng và dịch nó thành dữ liệu có thể hoạt động. Tất cả các chế độ xem có thể phản hồi với các nhấp chuột, kéo, vuốt và nhiều hơn nữa bằng cách xử lý các chuyển động.
Nhấp chuột và nhấp chuột dài
Theo mặc định, tất cả các chế độ xem phát hiện nhấp chuột và nhấp chuột dài.