5 lỗi lập trình Android mà lập trình viên hay mắc phải

development android

Như bạn đã biết đấy thì Android được biết đến là một nền tảng được khá nhiều người vô cùng yêu thích và đây cũng được biết đến là nền tảng miễn phí và tùy biến. Chính vì thế mà nền tảng Android dần dần được phát triển chóng mặt, và được sử dụng trên nhiều hệ điều hành khác nhau, chẳng hạn như điện thoại, máy tính bảng hoặc đồng hồ thông minh. Phát triển nhanh chóng như vậy nên trong quá trình phát triển sản phẩm không tránh khỏi việc mắc một số lỗi lập trình Android.

Ngay sau khi AOSP với bản update Lollipop ra mắt thì Android đã tạo cho người dùng khá nhiều kỳ vọng và hứa hẹn về Material sẽ mang đến một bản thiết kế nổi trội hơn cùng với những trải nghiệm tốt hơn.

android

Thế nhưng hiện nay có đến hàng nghìn thiết bị Android khác nhau về kích thước màn hình, cấu hình phần cứng, chip xử lý và phiên bản phần mềm. Chính vì những sự khác nhau ấy, mà ứng dụng Android không thể hoạt động trên các thiết bị khác nhau, cho dù bạn có là một lập trình viên giỏi và nhiều kinh nghiệm đi chăng nữa.

Tuy nhiên, phần lớn lỗi đều thuộc về sự logic, và những lỗi như thế này lại cực kỳ dễ xử lý. Và cách xử lý như thế nào thì sau đây bạn hãy cùng chúng tôi tìm hiểu về 5 lỗi lập trình Android mà dân lập trình hay mắc phải.

Không dùng strings.xml trong lập trình Android

Việc không sử dụng strings.xml trong lập trình đôi khi sẽ báo phát sinh lỗi lập trình Android làm cho bạn giảm đi một số trải nghiệm quốc tế hóa của ứng dụng. Đồng thời bạn còn phải tự thiết kế một số phiên bản hiển thị sao cho chính xác nhất của message, và quan trọng hơn là những ngôn ngữ này đều phải dựa trên ngôn ngữ của người dùng.

Trường hợp nếu các strings chỉ được đặt ở trong các file như là strings.xml thì bạn có thể dễ dàng dịch, đồng thời tích hợp nó vào ứng dụng một cách dễ dàng. Đặc biệt là Android còn có khả năng căn cứ và tự thiết lập ngôn ngữ hệ thống nhằm có thể tự chuyển động sang file strings.xml sao cho đúng với ngôn ngữ của nó.

lỗi

Vậy lý do tại sao bạn lại không nên dùng strings.xml trong lập trình Android:

  • Lý do thứ nhất: Chỉ sử dụng strings.xml ở mình đây thôi

Bây giờ thì bạn có thể khẳng định chỉ sử dụng ở mình đây, nhưng sau này biết đâu bạn lại cần sử dụng ở một nơi nào khác thì sao? Chính vì thế mà bạn nên đầu tư để tiện cho việc sau này khi cần thì có thể tái sử dụng lại.

  • Lý do thứ hai: Do Strings phức tạp nên phải cập nhật liên tục

Về điều này thì bạn đừng lo, vì đã có Android hỗ trợ cho bạn làm sao để có thể làm được điều đó ở trong strings.xml file rồi. Tại đây bạn hoàn toàn có thể cập nhật các String thông qua một số tham số truyền vào String.

Chẳng hạn như: <string name=”time Format”>%1$d minutes ago</string>

  • Lý do thứ 3: Ứng dụng chỉ hỗ trợ cho duy nhất một ngôn ngữ mà thôi

Đối với các nhà phát triển phần mềm độc lập thì chủ yếu sẽ có một số kế hoạch cho một thị trường hay một ngôn ngữ nào đó để có thể giảm thiểu chi phí một cách tối đa. Tuy nhiên, bạn cũng cần phải nghĩ sâu rộng một chút về thị trường rộng lớn ở ngoài kia, và khi bạn phát triển ứng dụng thì việc chuyển ứng dụng sang thị trường mới đương nhiên sẽ giúp cho bạn tiết kiệm nhiều hơn nếu sử dụng String.xml.

Không ẩn API keys khi bạn sử dụng Git

Không ẩn API keys thì đây là lỗi lập trình Android có thể nói là khá phổ biến và nguyên nhân chủ yếu có lẽ là do các bạn developer còn non nớt, chưa có kinh nghiệm thực chiến. Cùng với các dự án được quản lý bằng SVN hoặc là Git thì khi bạn commit version lên trên server thì dĩ nhiên nó sẽ mãi tồn tại ở đó.

Khi đó, bạn hoàn toàn có thể tra lại vào lịch sử commit, mò ra các API key ( ngay cả khi bạn xóa API keys trong commit sau đó rồi). Lúc này thì bạn có thể xem bài viết để tìm hiểu cách ẩn API key khỏi repository, ngay cả trong khi bạn vẫn sử dụng chúng. Nhất là ở trong quá trình build test mà chúng vẫn available ở trong source code.

Không tìm hiểu về các phím tắt trong Android Studio

Ở phím tắt trong Android Studio thì không thể nào phản ánh được chất lượng cũng như đoạn mã bài viết, và nó sẽ làm ảnh hưởng đến toàn bộ công việc của bạn. Khi đó, Android Studio sẽ được xây dựng dựa vào IntelliJ Idea, và nó có ý nghĩa biểu thị cho năng suất của developer.

lỗi lập trình android

Vậy nên, các developer cần dành ra một chút thời gian để đầu tư cho việc học các phím tắt. Ngay sau đây chúng tôi sẽ giới thiệu đến cho bạn một số kiến thức giúp cho bạn học và thực hành một số phím tắt trên Android Studio.

  • Key Promoter: Được biết đây là plugin có sẵn ở trong Android Studio và nó sẽ hiển thị hộp thoại các lệnh phím tắt dành cho những hành động bạn đang thực hiện. Để có được điều này thì bạn cần phải tải xuống tại Android Studio settings.
  • Cheat-sheet: Tại đây bạn cần phải download rồi in ra tiện cho việc tra cứu. Đây chính là bản tổng hợp toàn bộ phím tắt của Android Studio dành cho hai nền tảng đó là windows và MacOS.
  • Jetbrains: Đây là hướng dẫn chính thức được cung cấp Jetbrains để làm chủ các phím tắt.

Không dùng data-binding trong lập trình Android

Tại đây bạn hãy trả lời cho câu hỏi này của chúng tôi: Bạn hay sử dụng các hàm findViewById để có thể tạo ra các reference đến view được hay không? Trong một số trường hợp thì chúng ta vẫn cần phải giữ view – id nhằm bảo đảm cho việc sử dụng view-id đúng trong findViewById.

lỗi lập trình android

Và đương nhiên, việc này thì Android Studio cũng hỗ trợ bạn một cách tự động, và những view-id nào có sẵn trong cùng một layout-tree thì mới có thể tìm thấy bằng findViewById. Còn với những thứ không tồn tại thì nó sẽ trả về null.

Khi đó Google đã có một số giải pháp làm sao để tích hợp được với data binding trong bất kỳ ứng dụng nào. Và khi đó bạn cũng có thể loại bỏ mọi view-reference mà bạn đã viết trước đó rồi. Khi đó data-binding sẽ mang đến cho bạn một số lợi ích như:

  • Giúp cho bạn tránh được mỗi số lỗi NullPointerException khi có reference và các view không tồn tại.
  • Một khi có hiệu năng tốt hơn so với việc bạn sử dụng findViewById. Thì data-binding sẽ duyệt cho bạn toàn bộ layout – tree luôn, thay vì phải duyệt layout-tree bởi hàm findViewById.
  • Một số Class/Function vẫn đang “clean: và bạn không cần phải giữ tất cả từ reference cho đến các views.

Ngoài ra, bạn sẽ có thêm một số tính năng hay trong data-binding mà không chỉ có mình findViewById không đâu.

 Không xử lý hết được các trạng thái vòng đời của Activity

Có thể bạn chưa biết, hầu hết các cấu hình hoặc logic của Activity hiện tại đều bị mất, nhất là khi Activity bị destroyed hay là bị re-created.

lập trình android

Tuy nhiên, để bảo đảm cho quá trình transition được liền mạch, thì trước hết bạn cần phải lưu trữ trạng thái của ứng dụng trước tiên, nhất là khi thay đổi configuration. Và ngay sau đó, bạn cũng có thể tái tạo lại toàn bộ trạng thái của ứng dụng thông qua các hàm như onSaveInstanceState/ onRestoreInstanceState.

Lưu ý: Bạn đừng để ứng dụng bị crash hay restart chỉ vì người dùng xoay màn hình nhé.

Kết luận

Android chính là một nền tảng vô cùng mạnh mẽ và nó đương nhiên sẽ phát triển một cách nhanh chóng. Khi đó, các lập trình viên sẽ tìm cách nâng cao kỹ và hạn chế sai sót. Qua bài viết trên thì chúng tôi cũng đã chia sẻ đến cho bạn 5 lỗi lập trình Android thường gặp mà bạn cần chú ý. Và chúng tôi mong, những chia sẻ mà chúng tôi mang lại cho bạn trong bài viết này sẽ hữu ích với bạn.