Quy ước đặt tên thư mục ứng dụng


7

Tôi chỉ tự hỏi tại sao việc đặt tên của một số thư mục trên Android là như vậy:

com.dropbox.android
com.android.browser

Câu trả lời:


11

Hơn nữa để trả lời từ @PratapPatil, người đã cung cấp các chi tiết Android.

Đây là một quy ước trong lập trình, cụ thể ở đây là Java.

Các Java Hướng dẫn chi tiết gói cho biết chi tiết và ví dụ.

Với các lập trình viên trên toàn thế giới viết các lớp và giao diện sử dụng ngôn ngữ lập trình Java, có khả năng nhiều lập trình viên sẽ sử dụng cùng tên cho các loại khác nhau. Trong thực tế, ví dụ trước thực hiện điều đó: Nó định nghĩa một lớp Hình chữ nhật khi đã có một lớp Hình chữ nhật trong gói java.awt. Tuy nhiên, trình biên dịch cho phép cả hai lớp có cùng tên nếu chúng nằm trong các gói khác nhau. Tên đủ điều kiện của mỗi lớp Hình chữ nhật bao gồm tên gói. Nghĩa là, tên đủ điều kiện của lớp Hình chữ nhật trong gói đồ họa là đồ họa. Hình chữ nhật và tên đủ điều kiện của lớp Hình chữ nhật trong gói java.awt là java.awt.R Hình chữ nhật.

Điều này hoạt động tốt trừ khi hai lập trình viên độc lập sử dụng cùng tên cho các gói của họ. Điều gì ngăn chặn vấn đề này? Quy ước.

Quy ước đặt tên

Tên gói được viết bằng tất cả chữ thường để tránh xung đột với tên của các lớp hoặc giao diện.

Các công ty sử dụng tên miền Internet đảo ngược của họ để bắt đầu tên gói của họ Ví dụ, com.example.mypackage cho gói có tên mypackage được tạo bởi một lập trình viên tại example.com.

Xung đột tên xảy ra trong một công ty duy nhất cần được xử lý theo quy ước trong công ty đó, có thể bằng cách bao gồm tên vùng hoặc tên dự án sau tên công ty (ví dụ: com.example.region.mypackage).

Đối với một góc thay đổi về điều này, câu hỏi StackOverflow xoay quanh việc đặt tên cho một dự án sở thích. Việc đặt tên có thể giống như rossc.android.exampleproject vì tôi không có tên miền của riêng mình.


5

Mỗi ứng dụng Android có quyền truy cập vào một không gian tệp trong phân vùng / dữ liệu riêng tư với ứng dụng. Đây là nơi chứa cơ sở dữ liệu sqlite và cài đặt người dùng (tùy chọn chia sẻ). Nhà phát triển ứng dụng không phải lo lắng về quy ước đặt tên hoặc vị trí của các tệp mà họ muốn lưu trữ khi có liên quan đến không gian riêng tư này.

Tuy nhiên, khi nói đến việc lưu trữ dữ liệu trong thẻ SD (không gian công cộng) bởi một ứng dụng, ứng dụng cần đảm bảo rằng thư mục được tạo bởi ứng dụng là duy nhất và không được sử dụng bởi bất kỳ ứng dụng nào khác hoặc bởi người dùng thiết bị. Hệ điều hành Android (AndroidManifest) xác định một ứng dụng duy nhất theo tên gói của chúng. Mà bạn thậm chí có thể tìm thấy các url cửa hàng playstore. Ví dụ: https://play.google.com/store/apps/details?id=com.dropbox.android

Do đó, các nhà phát triển chọn sử dụng các tên gói này để tạo các thư mục để tránh xung đột với các ứng dụng khác. Cách này không đảm bảo rằng sẽ không có xung đột nhưng nó ngăn chặn nó ở một mức độ lớn.

Một lý do khác là: khi người dùng di chuyển dữ liệu ứng dụng sang thẻ SD, dữ liệu từ không gian riêng của ứng dụng sẽ được chuyển sang không gian công cộng (thẻ SD). Không gian riêng tư này được đặt tên theo cách sau: -

Ví dụ: /data/data/com.dropbox.android. Vì vậy, điều này được chuyển đến /sdcard/s Something / com.dropbox.android


Khắc phục: Nếu mọi ứng dụng sử dụng tên riêng của mình, nó sẽ ngăn va chạm, vì hai ứng dụng có cùng tên không thể được cài đặt cùng một lúc (đối với Android, cùng một ứng dụng).
Darkhogg

Thậm chí chính xác hơn: Luôn ngăn chặn va chạm miễn là cả hai ứng dụng đều từ cửa hàng Play. Nếu bạn có một ứng dụng và tải xuống một ứng dụng có cùng tên gói từ bên ngoài cửa hàng play, tôi nghĩ rằng nó sẽ thay thế ứng dụng trước đó khi cài đặt. Không chắc chắn những gì cảnh báo hệ thống có thể cung cấp.
MPeti
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.