Thiết kế web Mạng xã hội
Quảng cáo:

Các lỗi thường gặp trong bài học android

Thảo luận trong 'Forum seeding'

  1. tuan1122

    tuan1122 Member

    Quảng cáo:
    _______________________________________________________________________

    Lập trình viên hay mắc phải lỗi gì nhất?

    Android là một nền móng được nhiều người ham chuộng , miễn phí và dễ tùy biến nên đã mau chóng phát triển và có mặt trên nhiều loại thiết bị di động như: telephone , máy tính bảng , đồng hồ sáng dạ , tivi , ô tô…
    Sau sự ra mắt của AOSP và bản update Lollipop , Android đã mang lại cho người dùng khá nhiều Trông mong. Phong cách thiết kế Material hứa hẹn đem lại trải nghiệm tốt hơn.
    Có cả ngàn thiết bị Android khác nhau kích tấc màn hình , chip xử lý , cấu hình phần cứng và phiên bản phần mềm. Sự Đa chủng ấy dẫn tới việc áp dụng Android mà bạn viết có khả năng không hoạt động được trên các thiết bị khác nhau dù cho bạn có là một lập trình viên Android nhiều kinh nghiệm.
    bỏ qua sự dị biệt kia , phần nhiều lỗi Quần chúng biết đến lại là lỗi logic. Những lỗi này có khả năng dễ dàng xử lý nếu chúng tôi làm đúng từ những điều cơ bản.
    Dưới đây là danh sách 10 lỗi thường có ở các lập trình viên Android.

    [​IMG]

    Lỗi đầu tiên: cố gắng bắt chước giao diện iOS
    hiện tại lỗi này đã trở thành ít phổ quát hơn ( một phần vì khách hàng đã nhận ra rằng Apple đã thiết lập những chương trình thiết kế từ lâu rồi ). Nhưng dù cho thế thì chúng tôi vẫn đang và sẽ nối tiếp thấy những áp dụng không giả lại từ iOS.
    Người dùng Android đã quen thuộc với nền móng Android , việc cố gắng nhồi nhét các chuẩn thiết kế của iOS vào Android sẽ rất tối dạ. Nếu bạn không có lý do cực kì đáng giá nào để phá vỡ các nguyên tắc thì đừng làm thế.
    Đây là một số ví dụ phổ quát cho lỗi này:

    1. Bạn không nên tạo các tab một mực mà chúng không ở phía dưới ( ví dụ: Instagram ).
    2. Các Icon thông cáo hệ thống không nên màu mè
    3. Icon của áp dụng không nên có khung viền chữ nhật bo góc ( trừ khi logo của bạn vốn đã có nó , ví dụ như Facebook )
    4. Màn hình load áp dụng ( splash screen ) chỉ nên dùng khi thiết lập lần đầu hoặc giới thiệu , không nền dùng trong các trường hợp khác.
    5. Danh sách không nên có đánh dấu
    Trên đây chỉ là một số ít trong số dồi dào Sự tình vặt vãnh có khả năng phá hỏng trải nghiệm người dùng.

    Lỗi thứ hai: Lập trình viên chỉ thử áp dụng trên đúng thiết bị Android mình có
    Trừ khi bạn muốn tạo ra một áp dụng phổ quát cho riêng loại thiết bị nào đó , nếu không thì áp dụng của bạn có khả năng sẽ trông khá tệ trên các thiết bị khác. Bạn nên lưu ý các Sự tình sau:

    • Density-independent pixels ( dp ) khác với pixel ( px ).
    • Resources được thêm Hai ba lần vào trương mục đối với mật độ và định hướng khác nhau.
    • 9-patch drawables sẽ được kéo dãn cho khít với màn hình.
    chắc chắn bạn không có cả ngàn thiết bị để thử , Android Emulator sẽ giúp giả lập gần đúng cấu hình thiết bị bạn muốn thử. Android Emulator có khả năng chọn được kích tấc màn hình , bộ nhớ , chức năng cảm biến…. Còn nếu bạn muốn một trình giả lập Trội hơn nữa , hãy thử Genymotion , emulator chạy nhanh và có nhiều cài đặt giả lập phổ quát cho các thiết bị.
    Còn một Sự tình nữa , bạn có thử xoay ngang dọc telephone hoặc emulator khi chạy thử áp dụng chưa? Bạn sẽ thấy ngay dồi dào lỗi giao diện phải sửa.

    Lỗi thứ ba: không dùng Intent
    Intent là một trong những thành phần chủ chốt của Android. Nó là một cách để truyền dữ liệu giữa các phần của một áp dụng hoặc hơn thế nữa , giữa các áp dụng khác nhau trong một hệ thống.
    giả như bạn có một áp dụng gallery ảnh cho phép chia sẻ link download ảnh qua SMS. Tuyển trạch nào sau đây sẽ logic hơn?
    tuyển trạch 1:

    • Yêu cầu cấp quyền SEND_SMS
    • Viết code gửi SMS theo cách của bạn , sử dụng SmsManager
    • Giải thích cho người dùng vì sao áp dụng của bạn cần thâm nhập các dịch phụ có khả năng tính phí và vì sao người dùng phải cấp quyền thâm nhập đó cho áp dụng của bạn.
    tuyển trạch 2:

    • Bắt đầu một SMS Intent và để việc gửi Sms cho một áp dụng chuyên gửi Sms
    Intent sendIntent = new Intent( Intent.ACTION_VIEW );
    sendIntent.setData( Uri.parse( "sms:" + telephoneNumber ) );
    sendIntent.putExtra( "sms_body" , x );
    startActivity( sendIntent );
    Nếu bạn còn do dự thì câu đáp lại là: cách thứ 2 là cách tốt nhất.
    biện pháp này có khả năng áp dụng với hầu hết mọi thứ , ví như: chia sẻ nội dung , Chụp hình , quay video , chọn các liên lạc , thêm sự kiện , …
    Trừ trường hợp có một lý do hợp lý để tự làm phần chức năng Sửa sang ( ví dụ: camera có áp dụng các bộ lọc chỉnh ảnh ) , nếu không thì cứ dùng Intent. Nó sẽ tiết kiệm cực kì nhiều thời gian lập tình và giảm bớt các đề nghị cấp quyền không cần thiết trong file AndroidManifest.xml.

    Học php nâng cao với học laravel cơ bản

    Nếu bạn không muốn đào sâu Học hỏi về core Android hay La ó việc sử dụng fragment thì bạn nên dùng fragments bất luận khi nào có thể. Cơ bản thì fragments và cursor loaders có mục tiêu tốt nhưng cách thực hiện thì khá thô.



    Sự tình này từng rất phổ biến trên Android 2.x trong lúc đó các phiên bản mới hơn của hệ thống không cho phép bạn tạo các lời gọi network trong main thread.
    Để tránh bị lỗi này , tối ưu là bạn luôn sử dụng worker/background thread cho các trường hợp sau: gọi network ( network call ) , nạp hình ảnh ( bitmap loading ) , xử lý ảnh ( image processing ) , tra hỏi dữ liệu ( database querying ) , đọc/ghi vào thẻ nhớ ( SD reading/writing ).

    Lỗi thứ sáu: tự code lại những thứ người khác đã làm
    Một số bạn muốn tự code phần giao tiếp với server trong một background thread , đó bất tất là một tuyển trạch tốt. Gọi network , nạp ảnh , truy cập cơ sở dữ liệu , parse JSON hay đăng nhập mạng tầng lớp , đó là những thứ vận dụng của bạn luôn luôn làm nhất. Không chỉ vận dụng của bạn mà tất thảy các vận dụng khác cũng thế. Vậy viết lại làm gì? Hãy nhớ là Android đã phát triển thành một nền móng ổn định và có nhiều thư viện có sẵn tương trợ cho bạn. Ví dụ:

    :

    1. Tính toán khung màn hình bạn muốn hiện ảnh.
    2. Co dãn ảnh hay crop ảnh cho phù hợp.
    3. Chỉ hiển thị cái gì có thể hiển thị.
    Lỗi thứ chín: dùng hệ thống view lan tràn thặng dư cấp
    Đối với Android , layout có thể được biểu hiện qua XML. Để vẽ ra các nội dung nhu yếu , XML cần được phân tách , màn hình cần tính toán kích thước và mọi thành phần đều phải được đặt ở vị trí phù hợp. Đó là một quá trình hao tốn thời gian và tài nguyên hệ thống để tối ưu mọi thứ.
    Dưới đây là cách ListView ( hay mới hơn là RecyclerView ) hoạt động.
    Nếu một layout đã được tăng kích thước một lần , hệ thống sẽ dùng lại nó. Tuy thế , việc tăng kích thước layout vẫn có thể xảy ra ở một vài thời điểm.
    giá dụ bạn muốn tạo một lưới 3×3 với nội dung ảnh. Bạn có thể dùng một LinearLayout dọc có chứa 3 LinearLayout có cùng giá trị weight , mỗi cái lại có 3 ImageViews có cùng giá trị weight.

    [​IMG]

    Với cách này Cuối cùng sẽ là một báo trước “nested weights are bad for performance”.
    Có một cách nói trong giới lập trình Android rằng:

    “Nếu không quan tâm tới hiệu suất thì cấu trúc nào cũng như nhau”.

    Trong trường hợp này RelativeLayout hoặc GridLayout sẽ thay thế được kiểu LinearLayouts lồng nhau một cách hiệu quả.

    Lỗi thứ mười: không thiết lập giá trị minSdkVersion bằng 14
    Đây thực ra cũng không phải là lỗi nhưng lại là một thói thường xấu.
    Android 2.x là một cột mốc quan trọng trong sự phát triển của nền móng Android nhưng có một vài thứ nên bỏ đi. Việc tương trợ các thiết bị cũ gây phức tạp cho bảo trì code và hạn chế quá trình phát triển.
    Những con số thống kê rất rõ ràng đã cho thấy người dùng đang mong chờ nhiều điều ở mai sau và các lập trình viên nên bắt kịp xử phát triển của thời đại.
    Sự tình này không vận dụng đối với một số thị trường lớn với các thiết bị cũ ( giá phỏng Ấn Độ ) , và nếu không đặt minSdkVersion bằng 14 đối với vận dụng Facebook thì vài triệu người dùng yêu thích mạng tầng lớp đã bị thứ lỗi. Nhưng nếu bạn muốn một khởi đầu mới và tạo ra trải nghiệm người dùng tối ưu thì nên xem xét loại thứ lỗi khứ. Khiến người dùng cảm thấy cần phải nâng cần thiết bị , nâng cấp hệ điều hành để có trải nghiệm ưu tú , như vậy mới xúc tiến họ đến với các phiên bản cao cấp của Android và rồi tiêu tiền cho mục tiêu đó.

    Kết luận
    Android là một nền nảng Dữ dội và phát triển rất chóng vánh. Các lập trình viên Android nên luôn luôn tìm cách nâng cao kỹ năng của mình và giảm thiểu sai sót.
    Bài học hôm nay chấm dứt tại đây , các bạn để ý theo dõi các bài học sau nhé.
    Chúc các bạn học tập tốt.
  2. truongdaiquang

    truongdaiquang New Member

    Đúng vậy, thường lập trình hay sai lỗi ngớ ngẩn
  3. Hungfd123

    Hungfd123 Member

    mình muốn lập trình android mà ko dc, máy yếu quá mức cho phép
Similar Threads: Các lỗi
Diễn đàn Tiêu đề Date
Quảng cáo linh tinh Các lợi ích mà mỹ phẩm ohui mang đến cho da khô 6/9/17
Giao lưu - Kết bạn - Tán gẫu Chỉ dẫn cách trị sẹo lồi ở môi hiệu quả nhất 2017 5/9/17
Quảng cáo linh tinh Tỉ lệ lợi nhuận của các nhà cái đưa ra 15/7/17
Giới thiệu website, doanh nghiệp Lợi ích của dịch vụ chữ ký số giá rẻ cho các Doanh Nghiệp tại Việt Nam 12/7/17
Giới thiệu website, doanh nghiệp Nâng mí mắt ở Tuyên Quang với lời khuyên từ các chuyên gia 24/6/17

Chia sẻ trang này