Tính năng ẩn của sự phát triển Android?


121

Tôi ngạc nhiên rằng không có bài đăng nào về Tính năng ẩn của Android trong loạt bài về Tính năng ẩn mà tôi đã theo dõi từ nãy đến giờ.

Loạt Tính năng ẩn rất tốt cho những người mới làm quen với một ngôn ngữ nhất định. Nó cho thấy các sợi dây và một số thủ thuật có giá trị, tất cả ở một nơi. Tôi nghĩ đó là một ý tưởng tuyệt vời. Ngay cả các chuyên gia đôi khi cũng tìm ra những mánh khóe mà họ chưa từng nghe đến.

Tôi đang bắt đầu phát triển Android và tôi muốn nghe về các tính năng, mẹo, thủ thuật và cạm bẫy tiềm ẩn của nó.

Vì vậy, đây là: một số tính năng ẩn của Android là gì?

Câu trả lời:


105

Hy vọng rằng không có quá nhiều tính năng ẩn, ẩn - nhưng đây là một số tính năng ít được biết đến và không trực quan có sẵn cho Android chắc chắn sẽ giúp cuộc sống của bạn dễ dàng hơn và ứng dụng của bạn tốt hơn.

  • Tất cả mã nguồn cho nền tảng và tất cả các ứng dụng gốc không phải của Google đều có sẵn để bạn duyệt, tải xuống, mượn hoặc lấy cắp từ dự án Nguồn mở Android .
  • Sử dụng khung tài nguyên , việc tạo các phiên bản được bản địa hóa của ứng dụng của bạn đơn giản như thêm một thư mục con được chú thích mới (Ví dụ: giá trị-fr) chứa tệp XML với các chuỗi bằng một ngôn ngữ khác (Ví dụ: tiếng Pháp). Android sẽ chọn thư mục phù hợp trong thời gian chạy cho bạn.
    • Cùng một khung tài nguyên cho phép bạn sử dụng các bố cục thay thế cho các cấu hình phần cứng khác nhau, mật độ pixel màn hình và thiết bị đầu vào chỉ bằng cách thả chúng vào thư mục được đặt tên.
  • Kể từ Android 1.6, ứng dụng của bạn có thể tạo ra các kết quả sẽ xuất hiện trong kết quả từ tìm kiếm Hộp Tìm kiếm Nhanh trên màn hình chính. Đây được gọi là đề xuất tìm kiếm tùy chỉnh .
  • Sử dụng Intents và Intent Filters, ứng dụng của bạn có thể thực hiện và phục vụ các yêu cầu ẩn danh để hoàn thành một hành động (Ví dụ: ứng dụng Where có thể yêu cầu đặt bàn từ ứng dụng Open Table ).
    • Họ có thể yêu cầu một ứng dụng không xác định để hoàn thành một hành động mà không cần biết (những) ứng dụng nào có thể đáp ứng yêu cầu đó
    • Ứng dụng của bạn có thể đáp ứng yêu cầu từ các ứng dụng không xác định để hoàn thành các hành động mà không cần biết ứng dụng nào sẽ thực hiện yêu cầu. Chơi quyền này và bạn có thể tạo ứng dụng Twitter 'mặc định' hoặc ứng dụng đặt chỗ, v.v.
  • Sử dụng Báo thức, bạn có thể đặt ứng dụng của mình hoàn thành các tác vụ vào những thời điểm định trước, ngay cả khi ứng dụng của bạn không chạy.
    • Bạn có thể tiết kiệm rất nhiều thời lượng pin bằng cách sử dụng phương thức setInexactRepeating để lên lịch các sự kiện thường xuyên (như thăm dò máy chủ hoặc cập nhật). Nó sẽ đồng bộ hóa các cảnh báo từ nhiều ứng dụng để xảy ra cùng một lúc chứ không phải adhoc.
  • Sử dụng khung Tùy chọn, bạn có thể tạo màn hình cài đặt cho ứng dụng của mình theo cùng phong cách với cài đặt hệ thống. Bạn thậm chí có thể kết hợp màn hình cài đặt hệ thống (Ví dụ: Bảo mật và Vị trí) vào hệ thống phân cấp cài đặt của ứng dụng.
  • Sử dụng API AudioTrack và AudioRecord , bạn có thể truyền trực tiếp dữ liệu âm thanh từ và đến bộ đệm âm thanh PCM.

35

Các công cụ trong thư mục / tools của SDK đáng được đề cập:

  • nhà thiết kế của chúng tôi đặc biệt ấn tượng với draw9patchviệc giúp thiết kế các nút có thể co giãn. Anh ấy đã cho tôi tài sản từ đó, và tôi đã thay đổi từ màu nền sang màu vẽ được 9 bản vá và bây giờ chúng tôi có một nút tùy chỉnh, các góc tròn, v.v. được kéo dài để vừa với văn bản.
  • ddms, cũng được tích hợp vào plugin Eclipse. Nó vô cùng mạnh mẽ, nhưng tôi sử dụng nó để chụp ảnh màn hình.
  • adb- tương tác với thiết bị hoặc trình giả lập của bạn từ dòng lệnh. Tôi sử dụng công cụ này để theo dõi nhật ký từ thiết bị của mình trong cửa sổ đầu cuối trên máy tính để bàn, mặc dù tôi thấy nó hữu ích cho việc cài đặt và gỡ cài đặt các ứng dụng hoạt động sai.
  • sqlite3 - tuyệt vời để tương tác với cơ sở dữ liệu đã cài đặt và thử các truy vấn.
  • apkbuilder, zipalign, aapt- tuyệt vời cho chạy không đầu xây dựng
  • monkey để thử nghiệm ứng dụng của bạn.

Tôi cũng sẽ chọn ra ba Thiết kế cho Hiệu suất , Khả năng đáp ứng và Tính liền mạch , nhưng tôi cũng muốn thêm Mã hóa thứ tư cho Tuổi thọ (Pin) .

Mặc dù đôi khi Javadoc có thể hơi thưa thớt, nhưng nó sẽ giúp bạn nguồn ngay tại đó để bạn xem.

Nó cũng rất hữu ích khi có nhiều ứng dụng mẫu do nhân viên Google viết để xây dựng, kiểm tra và sau đó xem họ đã làm như thế nào.


1
Bạn đã bỏ lỡ một bố cục công cụ tốt đẹp khác.
100rabh

Một cái hay nữa còn thiếu mà tôi sử dụng mọi lúc là trình xem phân cấp.
Artem Russakovskii

25

Tôi đoán tôi sẽ bắt đầu sau đó.


Một tính năng ẩn thú vị mà tôi nghĩ là Các phương pháp hay nhất của tài liệu Android. Nó liệt kê rất nhiều mẹo hay để thiết kế các ứng dụng đáp ứng nhanh và nhanh.

Các phần Thực tiễn tốt nhất là:

  • Hỗ trợ nhiều màn hình (nhiều kích thước và độ phân giải)
  • Nguyên tắc giao diện người dùng
    • Thiết kế biểu tượng
    • Thiết kế tiện ích ứng dụng
    • Thiết kế Hoạt động và Nhiệm vụ
    • Thiết kế menu
  • Thiết kế cho Hiệu suất
  • Thiết kế để đáp ứng
  • Thiết kế liền mạch

Một tính năng ẩn khác là các tài liệu này có sẵn ngoại tuyến như một phần của SDK. Lúc đầu, tôi tải lên một vài trang mỗi ngày cho chuyến tàu buổi sáng của mình nhưng không cần phải làm điều đó nữa sau khi tôi tìm thấy chúng trong thư mục SDK.


Nếu bạn sử dụng Eclipse, bạn sẽ nhận thấy rằng nó không định dạng các tệp XML tốt lắm và khi có, nó rất không nhất quán (đôi khi nó chia các thuộc tính theo các dòng mới, đôi khi thì không). Để khắc phục, bạn có thể nhấn Ctrl-Shift-F (tự động định dạng). Các quy tắc Ctrl-Shift-F sử dụng trong Window-> Preferences-> XML-> XML Files-> Editor.


1
Cái cuối cùng chắc chắn sẽ là một phần trong quy trình làm việc của tôi. Điều này đã làm tôi khó chịu trong tuần trước ... Cảm ơn bạn !!
Mikle

14

Android hỗ trợ XML <shape>có thể được sử dụng như các tệp có thể kéo giống SVG. Thật không may là không có tài liệu cho họ. Đây là thông tin tốt nhất tôi có thể tìm thấy:

http://escomic.net/217


4
Ngoài ra còn có idunnolol.com/android/drawables.html với tài liệu đầy đủ về tất cả các tính năng xml cho hình dạng. Hình dạng có thể rất quan trọng để làm cho nền nền tròn thay đổi màu sắc khi được nhấp vào hoặc tạo các gradient xác định xml thay vì có thể vẽ nền tùy chỉnh.
Janusz

có thể thêm một số hình dạng vào một tài liệu xml. Ví dụ: một vài hình tròn và hình chữ nhật?
skyfoot

13

Ngoài ra, liên quan đến các phương pháp hay nhất, bạn có thể muốn xem kiểu mã hóa Android:

http://source.android.com/source/code-style.html

cũng như mã eclipse và nhập các định dạng (android-formatting.xml, android.importorder) được tìm thấy trong mã nguồn nền tảng đang được phát triển / ide / eclipse


2
Có quá nhiều vòng lặp để lấy mã chỉ dành cho trình định dạng Eclipse, vì vậy hãy tìm mã tại đây: google.com/codesearch/p?hl=vi#CRBM04-7BoA/ide/eclipse/…
idbrii

7

hierarchyviewer trong / tools cho phép bạn gỡ lỗi / phân tích bố cục chế độ xem của mình: đệm, định vị, phân cấp chế độ xem, v.v.

Nó đã giúp tôi tiết kiệm rất nhiều thời gian khi cố gắng tìm ra lý do tại sao mọi thứ lại diễn ra theo cách của chúng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.