Computer >> Máy Tính >  >> Hệ thống >> Android

Lộ trình xây dựng ứng dụng Android hiện đại trong năm 2018–2019

Chuỗi ứng dụng Kriptofolio - Giới thiệu

Chào mừng bạn đến với loạt bài đăng trên blog này, nơi tôi sẽ tạo một ứng dụng Android hiện đại. Tôi sẽ sử dụng các công cụ và thực tiễn tốt nhất hiện có trong năm 2018–2019. Tôi làm điều này vì tôi muốn đề cập đến tất cả các chủ đề nóng nhất trong thế giới Android và thu nhận kiến ​​thức về chúng bằng cách dạy cho bạn.

Nếu bạn theo dõi loạt bài này, bạn sẽ học cách phát triển ứng dụng từ đầu. Mỗi bài đăng trên blog từ loạt bài này sẽ bao gồm một số chủ đề phát triển cụ thể mà tôi muốn nói đến. Tôi sẽ cố gắng làm hết sức mình để tạo ra một ứng dụng chất lượng tốt và giải thích quá trình phát triển. Bài đăng blog đầu tiên từ loạt bài này là lộ trình của dự án về những gì chúng tôi sẽ làm.

Nội dung sê-ri

  • Giới thiệu:Lộ trình xây dựng ứng dụng Android hiện đại trong năm 2018–2019 (bạn đang ở đây)
  • Phần 1:Giới thiệu về các nguyên tắc SOLID
  • Phần 2:Cách bắt đầu xây dựng ứng dụng Android của bạn:tạo Mockups, giao diện người dùng và bố cục XML
  • Phần 3:Tất cả về Kiến trúc đó:khám phá các mẫu kiến ​​trúc khác nhau và cách sử dụng chúng trong ứng dụng của bạn
  • Phần 4:Cách triển khai Dependency Injection trong ứng dụng của bạn với Dagger 2
  • Phần 5:Xử lý các Dịch vụ Web RESTful bằng cách sử dụng Retrofit, OkHttp, Gson, Glide và Coroutines

Ứng dụng:“Kriptofolio” (trước đây là “My Crypto Coins”)

Lúc đầu, thật khó để nghĩ ra kế hoạch giới thiệu tất cả các xu hướng phát triển của Android, nhưng cuối cùng, tôi đã tìm thấy một kế hoạch mà tôi thích. Nó liên quan đến lĩnh vực quan tâm lớn của tôi - blockchain và tiền điện tử. Tôi đã quyết định tạo một ứng dụng chứa danh mục tiền điện tử của bạn và cho bạn biết chúng có giá trị bao nhiêu khi chuyển đổi thành tiền định danh.

Điều quan trọng đối với người dùng là ứng dụng này sẽ đảm bảo sự tin cậy 100%. Nó sẽ không yêu cầu bất kỳ quá trình đăng nhập / đăng ký. Nó sẽ không thu thập dữ liệu của người dùng bằng cách gửi đến máy chủ. Tôi đoán rằng không ai cảm thấy thoải mái khi chia sẻ thông tin trực tuyến về tiền sở hữu.

Dữ liệu do người dùng cung cấp về các khoản đầu tư tiền điện tử sẽ chỉ được lưu trữ bên trong cơ sở dữ liệu cục bộ được lưu trong thiết bị Android. Tuy nhiên, để biết giá trị của danh mục đầu tư được chuyển đổi thành tiền fiat, ứng dụng sẽ sử dụng Internet để nhận tỷ lệ chuyển đổi mới nhất.

Vì vậy, như bạn thấy cho mục đích đào tạo, ý tưởng ứng dụng này là tuyệt vời. Về mặt kỹ thuật, việc thử các cách tiếp cận khác nhau để làm việc với dữ liệu là một thách thức về mặt kỹ thuật. Đây là một trong những kỹ năng quan trọng nhất cần biết để xây dựng các ứng dụng hiện đại. Chủ đề về tiền bạc đối với con người quá nhạy cảm. Để đảm bảo sự tin tưởng hơn nữa, tôi sẽ phát triển ứng dụng này một cách công khai bằng cách tạo chuỗi bài đăng trên blog này và cung cấp mã dự án để mọi người có thể thấy rằng không có gì phải che giấu.

Chúng ta sẽ sử dụng cái gì?

Đầu tiên, để tạo ứng dụng này, chúng ta cần biết về các mức giá tiền điện tử khác nhau tại thời điểm hiện tại. Dữ liệu này sẽ được cung cấp từ Internet vì nó liên tục thay đổi.

API dữ liệu:

CoinMarketCap - một trong những trang web phổ biến nhất để có cái nhìn tổng quan về thị trường tiền điện tử. Trang web này cung cấp một API miễn phí mà bất kỳ ai cũng có thể sử dụng và nó hoàn toàn phù hợp với chúng tôi với tư cách là nhà cung cấp dịch vụ dữ liệu.

Tiếp theo, tôi lập danh sách những thứ có xu hướng quan trọng nhất của tôi trong thế giới Android phù hợp với dự án này và nên được sử dụng trong đó.

Ngôn ngữ lập trình:

Kotlin - một ngôn ngữ chính thức trên Android. Nó diễn đạt, ngắn gọn và mạnh mẽ. Hơn hết, nó có thể tương thích với các ngôn ngữ Android hiện có và thời gian chạy.

Giới thiệu ngôn ngữ mới này là một trong những chủ đề nóng nhất trong năm 2017 dành cho Android. Ứng dụng của chúng tôi cần được viết trong đó. Tôi cũng nói về Kotlin và các tính năng của nó trong bài đăng blog trước đây của tôi “Hãy học Kotlin bằng cách xây dựng ứng dụng máy tính Android”.

Môi trường phát triển tích hợp (IDE):

Android Studio - IDE chính thức cho Android. Nó cung cấp các công cụ nhanh nhất để xây dựng ứng dụng trên mọi loại thiết bị Android. Không có lựa chọn thay thế nào tốt hơn để phát triển các ứng dụng gốc. Đó là lựa chọn chính của chúng tôi cho một IDE mà không có bất kỳ câu hỏi nào.

Hệ thống quản lý xây dựng dự án:

Gradle - là một hệ thống quản lý xây dựng mục đích chung tiên tiến dựa trên Groovy và Kotlin. Nó hỗ trợ tải xuống tự động và cấu hình các phụ thuộc hoặc các thư viện khác. Đây là hệ thống xây dựng được đề xuất bởi Google. Nó được tích hợp tốt bên trong Android Studio nên chúng tôi sẽ sử dụng nó.

Kiến trúc:

Thành phần Kiến trúc Android - một tập hợp các thư viện giúp bạn thiết kế các ứng dụng mạnh mẽ, có thể kiểm tra và bảo trì được.

Model – View – ViewModel (MVVM) - một mẫu kiến ​​trúc. Khái niệm này là tách logic trình bày dữ liệu khỏi logic nghiệp vụ bằng cách chuyển nó vào một lớp cụ thể để có sự phân biệt rõ ràng. Nhóm Android đang đẩy mẫu này làm lựa chọn mặc định. Ngoài ra, nó là một giải pháp thay thế cho các mẫu MVC và MVP phổ biến.

Tôi sẽ nói riêng trong loạt bài này về lựa chọn mẫu này, các tùy chọn kiến ​​trúc khác và cách tổ chức tốt mã của chúng ta nói chung. Nó là điều cần thiết nếu chúng ta muốn xây dựng một dự án vững chắc có thể bảo trì dễ dàng.

Coroutines - một mẫu thiết kế đồng thời mà bạn có thể sử dụng trên Android để đơn giản hóa mã thực thi không đồng bộ.

Độ bền của dữ liệu:

Cơ sở dữ liệu SQLite - nó là một cơ sở dữ liệu SQL mã nguồn mở lưu trữ dữ liệu liên tục vào tệp văn bản trên thiết bị. Android có triển khai cơ sở dữ liệu SQLite tích hợp sẵn. SQLite hỗ trợ tất cả các tính năng cơ sở dữ liệu quan hệ.

Tùy chọn chia sẻ - một API từ Android SDK để lưu trữ và truy xuất các tùy chọn ứng dụng. SharedPreferences chỉ đơn thuần là tập hợp các giá trị dữ liệu được lưu trữ liên tục. Nó cho phép bạn lưu và truy xuất dữ liệu dưới dạng các cặp giá trị khóa.

Thư viện:

Android Jetpack thành phần:

AppCompat - đó là một tập hợp các thư viện hỗ trợ có thể được sử dụng để làm cho các ứng dụng được phát triển với các phiên bản mới hơn hoạt động với các phiên bản cũ hơn.

Android KTX - một tập hợp các phần mở rộng Kotlin để phát triển ứng dụng Android. Mục tiêu của Android KTX là làm cho việc phát triển Android với Kotlin trở nên ngắn gọn, dễ chịu và dễ hiểu hơn bằng cách tận dụng các tính năng của ngôn ngữ như hàm / thuộc tính mở rộng, lambdas, tham số được đặt tên và mặc định tham số.

Liên kết dữ liệu - là một thư viện hỗ trợ cho phép bạn liên kết các thành phần giao diện người dùng trong bố cục của mình với các nguồn dữ liệu trong ứng dụng của bạn bằng cách sử dụng định dạng khai báo thay vì theo chương trình.

Vòng đời - để quản lý hoạt động của bạn và các vòng đời phân mảnh.

LiveData - là một lớp lưu trữ dữ liệu có thể quan sát được, được thiết kế để giúp giải quyết các thách thức phổ biến trong Vòng đời của Android và làm cho các ứng dụng dễ bảo trì và dễ kiểm tra hơn.

Room - nó cung cấp một lớp trừu tượng trên SQLite để cho phép truy cập cơ sở dữ liệu dễ dàng trong khi khai thác toàn bộ sức mạnh của SQLite.

ViewModel - được thiết kế để lưu trữ và quản lý dữ liệu liên quan đến giao diện người dùng theo cách có ý thức về vòng đời. Lớp ViewModel cho phép dữ liệu tồn tại qua các thay đổi cấu hình, chẳng hạn như xoay màn hình.

Khác:

ConstraintLayout - để xây dựng bố cục linh hoạt và hiệu quả. Trình chỉnh sửa bố cục sử dụng các ràng buộc để xác định vị trí của một phần tử giao diện người dùng trong bố cục. Một ràng buộc đại diện cho một kết nối hoặc sự liên kết với một chế độ xem khác, bố cục chính hoặc một hướng dẫn vô hình.

CardView - phần tử đại diện cho thông tin theo cách thẻ với bóng đổ (độ cao) và bán kính góc trông nhất quán trên nền tảng.

RecyclerView - một phiên bản ListView linh hoạt và hiệu quả. Nó là một vùng chứa để hiển thị tập hợp dữ liệu lớn về chế độ xem có thể được tái chế và cuộn rất hiệu quả.

Bên thứ ba:

Dagger 2 - đây là một khung tiêm phụ thuộc thời gian biên dịch hoàn toàn tĩnh cho cả Java và Android.

Trang bị thêm 2 - một ứng dụng HTTP an toàn loại mã nguồn mở cho Android và Java. Với Retrofit, chúng tôi có thể soạn kết nối HTTP một cách dễ dàng thông qua một giao diện đơn giản, rõ ràng giống như một tài liệu API.

OkHttp - một ứng dụng HTTP hiện đại, nhanh chóng và hiệu quả mã nguồn mở hỗ trợ HTTP / 2 và SPDY.

Gson - một thư viện Java mã nguồn mở để tuần tự hóa và giải mã hóa các đối tượng Java đến và đi từ JSON.

Glide - thư viện tải hình ảnh nhanh và hiệu quả dành cho Android tập trung vào khả năng cuộn mượt mà. Glide cung cấp một API dễ sử dụng, một đường dẫn giải mã tài nguyên hiệu quả và có thể mở rộng cũng như tổng hợp tài nguyên tự động.

Định cấu hình dự án mới

Chúng tôi sẽ tạo dự án này từ đầu. Vì vậy, tôi sẽ khởi chạy Android Studio, tạo một Dự án mới, đặt tên là “My Crypto Coins” và chọn “Hoạt động cơ bản”. Về điểm này, không có gì đặc biệt để bàn. Mục tiêu của chúng tôi là tạo ra một khởi đầu mới, rõ ràng và tránh mọi sự phức tạp trong tâm trí chúng tôi bằng cách thêm các tính năng bổ sung (ví dụ:hỗ trợ ứng dụng tức thì). Chúng tôi có thể thêm bất cứ điều gì sau này nếu chúng tôi muốn trong quá trình phát triển.

Để bắt đầu, hãy bao gồm hỗ trợ ngôn ngữ Kotlin và API mục tiêu 23:Android 6.0 (Marshmallow).

Tại sao tôi không nhắm mục tiêu API thấp hơn hoặc cao hơn? Hãy đối mặt với nó. Thật tuyệt khi cắt hỗ trợ cho một số thiết bị cũ hơn và không phải lo lắng về bất kỳ vấn đề tương thích nào trong quá trình phát triển. Ngoài ra, tôi tự hào là chủ sở hữu của chiếc máy tính bảng Nexus 7 (2013) cũ đang chạy Android 6.0.1. Tôi hy vọng sẽ thử nghiệm ứng dụng của mình trực tiếp trên đó. ? Vì vậy, đối với dự án riêng lẻ này đã ảnh hưởng đến lựa chọn SDK tối thiểu của tôi.

Cũng như bạn đã nhận thấy, tôi sẽ yêu cầu IDE thêm hoạt động cơ bản được tạo tự động với hỗ trợ phân đoạn và nút tác vụ nổi. Tôi cảm thấy tất cả những gì có thể hữu ích cho dự án của chúng tôi.

Lộ trình xây dựng ứng dụng Android hiện đại trong năm 2018–2019
Trong Android Studio từ v3.0, plugin Kotlin đã được tích hợp sẵn, chỉ cần chọn hộp kiểm để thêm hỗ trợ.
Lộ trình xây dựng ứng dụng Android hiện đại trong năm 2018–2019
Chọn SDK được nhắm mục tiêu tối thiểu dựa trên nhu cầu kinh doanh.
Lộ trình xây dựng ứng dụng Android hiện đại trong năm 2018–2019
Chọn hoạt động cơ bản sẽ tạo mã hữu ích để bắt đầu.
Lộ trình xây dựng ứng dụng Android hiện đại trong năm 2018–2019
Chọn hộp kiểm để đặt nội dung vào phân đoạn.

GitHub - một trong những dịch vụ lưu trữ dựa trên web phổ biến nhất để kiểm soát phiên bản. Đây là một dự án mã nguồn mở và tất nhiên, tôi sẽ sử dụng nó.

Tất cả các bài đăng trên blog từ loạt bài này sẽ có cam kết của nó được thực hiện dưới dạng các nhánh riêng biệt và nhánh chính cho phiên bản mã nguồn mới nhất. Đây là một liên kết cho bạn đến kho lưu trữ.

Xem mã nguồn trên GitHub

Đó là nó cho sự bắt đầu. Nếu bạn có bất kỳ câu hỏi, đề xuất, nhận xét nào cần thực hiện, vui lòng điền vào phần bình luận. Và bây giờ chúng ta hãy cùng nhau tìm hiểu! Phần 2 sẽ tiếp theo…?

Ačiū! Cảm ơn vì đã đọc! Ban đầu tôi đã xuất bản bài đăng này cho blog của mình www.baruckis.com vào ngày 12 tháng 2 năm 2018.