Tôi muốn có tập tin riêng biệt cho mỗi lớp học trong các dự án Android của tôi, ngoại lệ duy nhất là AsyncTasks. Có nhiều tệp java này có nghĩa là bạn phải có nhiều gói hơn gói cơ sở. Tôi đã kết thúc với một gói cho mỗi loại lớp chính. Mỗi lớp được đặt tên kết thúc bằng kiểu của nó.
com.example
hoạt động
Chứa tất cả các hoạt động. Các lớp học được đặt tên với Hoạt động ở cuối. Bằng cách đó, bạn có thể ngay lập tức biết nó là gì khi đọc mã Java không có tên gói đầy đủ của nó.
bộ điều hợp
Chứa tất cả các bộ điều hợp.
Authenticator
Chứa bất kỳ lớp nào liên quan đến việc ký người dùng. Tôi tạo tài khoản cục bộ và có tất cả các lớp liên quan với nhau rất tiện dụng.
dữ liệu
Chứa tất cả các lớp liên quan đến quản lý dữ liệu như ContentProvider và SQLiteHelper.
data.migrations
Chứa tất cả các cuộc di cư SQLite tôi. Tôi đã tạo một lớp để di chuyển, đọc về nó ở đây và đặt tất cả chúng trong gói này.
mảnh
Chứa tất cả các mảnh vỡ.
người giúp đỡ
Chứa các lớp trợ giúp. Lớp trợ giúp là nơi đặt mã được sử dụng ở nhiều nơi. Ví dụ, tôi có một DateHelper. Hầu hết các phương thức đều tĩnh.
giao diện
Chứa tất cả giao diện.
mô hình
Chứa tất cả các kiểu địa phương. Khi đồng bộ hóa từ một API HTTP, tôi phân tích cú pháp JSON thành các đối tượng Java này bằng cách sử dụng Jackson. Tôi cũng kéo các hàng con trỏ vào các mô hình này.
tùy chọn
Chứa tất cả các lớp cho tùy chọn tùy chỉnh. Khi tạo các tùy chọn, tôi yêu cầu một PreferenceDialog tùy chỉnh cũng như một PreferenceCategory tùy chỉnh. Họ sống ở đây.
đồng bộ
Chứa tất cả các lớp liên quan đến đồng bộ hóa. Tôi sử dụng một SyncAdapter để lấy dữ liệu từ một API HTTP. Ngoài SyncAdapter, SyncService là bắt buộc, vì vậy tôi đã tạo một gói.
Nguồn
2015-06-18 17:38:51