Note tháng 11/2019 – Ra khơi

Vậy là đã hết tháng 11/2019 rồi. Tháng 12 đã tới, đây cũng là lúc mình nhìn lại những gì đã làm được, học được trong tháng 11 vừa qua 😀

I. Những gì làm được

1. Blog

Blog được release chính thức vào ngày 19/11/2019. Trước đó cũng đã có một số bài viết nhưng vẫn theo lối văn cũ, chưa thể bình luận, subscribe, chưa có thông tin About me, …

Các bài viết đã ra

Thực sự thì viết blog rất nhọc, mình phải nói là như vậy. Câu văn phải trau chuốt, viết sao cho hay, cho biểu cảm, … Nhiều lúc mình khá căng thẳng 🙁

Tuy nhiên như đã nói ở About me, chia sẻ cũng là cách giúp đỡ chính mình, cho mình cơ hội nhìn lại những gì mình học được. Vậy nên mình sẽ cố gắng tiếp tục viết, đọc thêm, tìm hiểu rồi share lại cho các bạn 😀

Các bạn hãy subscribe mail để không bỏ lỡ những bài mới nhất nhé. Cảm ơn các bạn.

Code cùng Trung – Chia sẻ để tiến bước ^.^

2. Công việc – cuộc sống – bla – bla

  • Trên cty có 2 buổi workshop khá hay là về ” 5 Why ” (Wifi) và “Be a leader, not a follower“. Mình rất thích tham gia các workshop 😀
  • Tháng này mình đang đọc quyển “Đại dịch tâm lý thời hiện đại“. Cuộc sống hiện đại tràn ngập tin tức, thông tin, báo đài, tivi, facebook, twitter, …. Con người sử dụng điện thoại, máy tính 24/24. Và chúng dẫn đến điều gì ư ?? Đó là tin giả, tin thật, “trò chơi cá voi xanh“, bệnh trầm cảm, rối loạn tâm lý,…, với tỉ lệ ngày càng gia tăng. Sách còn rất nhiều điều hay nữa
Các bạn có thể xem tại Tiki
  • Sắm được cái “cốc” cây nhỏ
Mới sắm cái cốc cây nhỏ – khá đẹp ha
  • Xem Frozen 2 – đã xem phần 1 – khá hay
Frozen 2

II. Những gì học được

Những cái mình học được, lượm được để chia sẻ lại. Có gì các bạn góp ý để đầy đủ hơn nhé 😀

1.Custom cái response của retrofit trước khi nó parse từ json sang object.

Có hai cách:

  • Tự code dk
Tự custom lại

2. Thư viện emoji

Các bạn có thể xem tại: https://github.com/vanniktech/Emoji .

Android cũng đã cung cấp sẵn lib cho phần này, các bạn có thể xem tại: https://developer.android.com/guide/topics/ui/look-and-feel/emoji-compat

3. Tích hợp thanh toán vào app

Momo cung cấp giải pháp thanh toán các dịch vụ trên nhiều nền tảng khác nhau: Desktop Website, Mobile Website, Mobile Application, POS, Pay In Bill, Web In App MoMo

Bạn có thể xem hướng dẫn, thông tin chi tiết tại trang chủ: https://developers.momo.vn/#/

Code demo: https://github.com/momo-wallet/payment

4. toString() trong class View

Khi log 1 view lên nó ra như này
ConstraintLayout{6f5453 V.E…… ……I. 0,0-0,0 #7F0A0226 app:id/toolbar}
thì từng giá trị nó là gì ?

Xem hàm toString() của class View là hiểu mấy số đó là gì. Nó … cộng chuỗi lại

Hàm toString() trong class View

Ví dụ

`7b14550` - hash code xác định view
`I` - view đang invisible  
`F` - view đang focusable  
`E` - view đang được enabled  
`C` - view đang clickable  
`0,0-1440,315` thông số  mLeft, mTop, mRight và mBottom. Bạn có thể xem như ở hình dưới
Các thông số là căn theo view cha chứa nó

5. Làm bottomdialog như Tiki

Bottom dialog của Tiki
  • Trong code ta gọi nó là “Bottom sheet”. Bạn search Bottom sheet trên Google là bạn sẽ thấy có rất nhiều ví dụ.
  • Bạn có thể xem ngay tại Android hive.

6. Lỗi khi nâng cấp Android Studio lên v3.5.2

  • Package tồn tại nhưng build cứ báo lỗi không thấy

Cách fix: build lại + restart mấy lần + init cache and restart

  • Lỗi không có suggest code

Cái này mình chưa biết cách fix. Bạn nào biết chỉ mình với nhé, tks 😀

7. Khi màn hình có nhiều list, xử lý thế nào ??

Nhiều list kiểu như app Tiki
  • C1: Nhiều recycler view + nested scroll view: vấn đề có thể xảy ra là performance, vấn đề khi vuốt các view
  • C2: Một recycler view cha, bên trong các item là các recycler view con: sử dụng getItemViewType. Như trong hình là sách là một type, danh mục sản phẩm là một type khác chẳng hạn. Cách này đơn giản, giúp đỡ phải tạo nhiều recycler view, adapter, .. nhưng nếu nhiều type lại phải tạo nhiều

==> Khá mất công

  • C3: Sử dụng sealed class – chỉ trong Kotllin thôi :(( . Mình cũng chưa dùng bao giờ, nhưng nghe bảo là sẽ rất hay, tiện nên share lại cho các bạn thử ^.^. Ai dùng rồi comment phát nhé !
Sealed class, lưu ý đây là trong Kotlin :3

8. Dùng android 9, mấy app như Zing mp3 hay Nhaccuatui đang chạy mà tắt màn hình tầm vài phút là nó dừng luôn.

Gián đoạn thế này

Fix: zing mp3 nó có hướng dẫn để khắc phục tại đây

9. Hướng dẫn khi lần đầu vào app

Giới thiệu ban đầu
Trên youtube
  • Bạn search từ khóa “Spotlight Android” là ra nhé 😀

Mình thấy có 2 lib ngay trên cùng của Google search, các bạn có thể xem

10. Tooltip

Là cái popup màu xanh như hình dưới

Tooltip trong Android

Cách làm

  • Sử dụng: Popupwindow (có sẵn trong Android)
  • Hoặc bạn có thể dùng lib
  • Ngoài ra các bạn có thể Search thêm trên Google nhé 😀

11. Hiệu ứng ảnh động các thứ

  • Bạn muốn làm các hiệu ứng ảo diệu như dưới ? Đừng bỏ qua lottie
Ảo diệu nhờ lottie

Giới thiệu chút về lottie:

Lottie là thư viện cho Android, IOS, Web và Window mà phân tích hiệu ứng tạo bởi Adobe After Effects – ở định dạng json, sử dụng Bodymovin – một plugin trên Adobe After Effects để tạo và render chúng trên các nền tảng.

Có một câu rất hay mà trên trang chủ của lottie có nói là: “They say a picture is worth 1,000 words so here are 13,000” (Họ nói một bức ảnh đáng giá 1000 từ nhưng ở đây là 13.000). Thực sự mình thấy các hiệu ứng của lottie rất … chất, xịn xò 😀

Hướng dẫn Code cho Android bạn có thể xem tại đây: http://airbnb.io/lottie/#/android.

Trên này còn có code cho iOS, Web, …

Hiệu ứng trái tim, like xịn xò như facebook:

https://github.com/jd-alexander/LikeButton

12. Cho bạn nào thích vọc code, decode

http://virtuous-ten-studio.com/downloads/

Tạm kết

Vậy là hết rồi. Có gì các bạn để lại ý kiến, subscibe mail để nhận những bài mới nhất nhé

À bạn nào có nhu cầu học thêm về Android có thể tham khảo hai bài học ở dưới của Duy Thanh nhé – khá nổi tiếng đó ^.^

Link unica: Khóa cơ bản
Link unica: Khóa nâng cao

4 thoughts on “Note tháng 11/2019 – Ra khơi”

  1. Góp ý với mục 7: recyclerView.
    theo mình c3 của bạn ko phải là cách giải quyết cho vấn đề này, mà nó là chỉ là 1 cách để xử lý viewType cho cách 2 của bạn thôi. Đừng nhầm lẫn nhé.

    1. Tks b đã comment. Mình ko bảo đó là cách giải quyết mà chỉ bảo “nhưng nghe bảo là sẽ rất hay, tiện” thôi nhé !!!

Để lại comment