Vậy là đã hết tháng 12/2019, đồng thời … cũng hết năm 2019 luôn rồi. 2020 đã sang, Tết âm lịch cũng sắp đến. Chúc mọi người một năm mới … với nhiều dự định mới, may mắn và thành công nhé 😀
Và như thường lệ cứ hết tháng mình lại … tổng hợp lại những gì đã làm được, học được trong tháng vừa qua. Vậy nên giờ chúng ta bắt đầu nào !!!
Mục lục
I. Những gì đã làm được
1. Blog
Tháng 12 này blog có hai bài mới:
- 03/12/2019: Note tháng 11/2019 – Ra khơi
- 17/12/2019: Service trong Android – Những khái niệm cơ bản – Phần 2
Tháng này blog ra ít bài hơn, với tần suất 2 tuần/bài. Mình thấy đây là tần suất phù hợp. Ra bài mới, sau nghỉ ngơi chút rồi lại viết bài mới. Và quan trọng là mình có thêm thời gian để … chau chuốt, tìm hiểu sâu hơn, đem lại kiến thức tốt nhất cho các bạn.
” Chia sẻ để tiến bước “, mình đã lấy phương châm này cho blog của mình. Giúp người khác, làm cho người khác hiểu hơn cũng chính là giúp mình hiểu hơn 😀
Vậy nên mong các bạn tiếp tục ủng hộ blog, comment, chia sẻ, subscribe mail nhé 😀 Cảm ơn các bạn
- Comment bên dưới mỗi bài nếu có thắc mắc
- Để lại địa chỉ email của bạn để nhận được thông báo sớm nhất khi có bài viết mới
- Chia sẻ các bài viết của Code cùng Trung đến nhiều người khác
Ok nào giờ chúng ta sang tiếp mục 2
2. Công việc – cuộc sống – bla – bla
- Trên cty có buổi workshop chia sẻ về “Cyber security” – an ninh mạng. Cơ bản nó là về các hình thức, kiểu tấn công mạng và cách phòng tránh. Nhiều cái khá hay, lý thú.
- Mình đã đọc xong cuốn “Đại dịch tâm lý thời hiện đại“ ở tháng trước. Có nhiều điều hay ở cuốn sách, nhưng một số điều mình thấy hay nhất là:
“Đừng bao giờ để những quan niệm xã hội của số đông đánh mê đầu óc mình”
Con người dễ bị mắc kẹt trong những cảm xúc tiêu cực và tư duy hạn hẹp của chính mình
Hãy ” lắng nghe” các giác quan của mình, sử dụng chúng cho đúng. Hãy “xây dựng” thói quen, đừng chạy theo kết quả
Trong xã hội thông tin như hiện nay, cái gì cũng có thể “vừa là đúng vừa là sai”. Vậy nên hãy cẩn trọng 😀
- Hết cuốn trên mình lại đọc sang một quyển mới tên “Đến Nhật bản học về cuộc đời“.
Bạn sẽ hiểu được thêm về … con người Nhật, quá đỗi lịch sự, chu đáo, nguyên tắc, dễ gần.
Đồng thời khám phá đất nước … xinh đẹp này, nơi bảo lưu sự tĩnh lặng truyền thống và náo nhiệt hiện đại.
Cuốn sách là những dòng tâm sự, những chuyến đi, cảm nhận đầy sâu lắng, rất thật, gần gũi của tác giả.
- Tháng 12 này mình ăn chơi nhiều hơn các tháng trước. Một số hình ảnh :3
- Sắm lịch … cho năm 2020
Tháng 12 của mình đó. Các bạn làm gì, chơi ở đâu share lại ở comment nhé !!!
II. Những gì mình học được
Nào giờ sẽ đến phần những kiến thức mình học được, lượm được trong tháng. Let’s go !!!
1. Làm một cái recycler view xịn xò
Các bạn có thể làm một cái recycler view với hiệu ứng như trong video
Link thư viện: https://github.com/saket/InboxRecyclerView
2. Nhận diện chữ viết
Thuật ngữ cho phần này là: OCR (Optical character recognition). Hiểu đơn giản là chuyển các chữ viết, in ấn trên bìa, … thành các văn bản tài liệu.
Google đã cung cấp sẵn cho chúng ta API để xử lý vấn đề này, đó là Google Mobile Vision. Ngoài nhận diện chữ viết, nó còn có nhận diện khuôn mặt, barcode.
Các bạn có thể xem hướng dẫn trên medium tại đây
3. Sử dụng String
- Hiển Thị Dấu (‘), Dấu gạch chéo và thấy báo lỗi ??? Dấu (“) thì sẽ không hiện lên trên màn hình
Cách fix, chỉ cần thêm dấu gạch chéo trước mỗi kí tự là ok
- Hiển Thị Các Ký Tự (&), (<), (>), (…) và cũng thấy lỗi ???
Cách fix:
Thay thế mỗi kí tự trên như sau (cụ thể ở trong hình nhé các bạn)
– & thay bằng & amp;
– < thay bằng & lt;
– > thay bằng & gt;
– … thay bằng & #8230;
4. Vị trí đặt các resource như color, string, dimen, …
Thư mục res/values như sau
Bạn hay để màu sắc trong file colors.xml, string trong file strings.xml phải không nào 😀
Tuy nhiên bạn … hoàn toàn có thể để như sau và … hoàn toàn có thể chạy ok :v
Lý do là ” các resource bên trong thư mục này đều có thẻ gốc là thẻ resources ” (folder res đó). Nhưng không nên nha !!!
5. Kotlin để code iOS – bạn đã thử ?
Kotlin sinh ra để … thay thế cho Java. Những gì Java có thể làm thì Kotlin cũng có thể làm được.
Tuy nhiên bạn có thể dùng …Kotlin code iOS thay vì Swift – hay chưa 😀
Các bạn có thể xem tại đây: https://www.jetbrains.com/lp/mobilecrossplatform/
Mình nghe dk là: ” Dùng kotlin code IOS mệt bỏ sử phải dùng run script để compile”.
Thực sự mình …chưa thử code nên chưa hiểu lắm, ai code rồi share lại mình vs nhé, tks !!!
6. MvRx của Airbnb
Bạn đã biết tới các mô hình MVC, MVP, MVVM ?
Ngoài ra Airbnb cũng đã tự phát triển một mô hình phần mềm riêng, gọi là MvRx. Được giới thiệu là ” make building products easier, faster, and more fun “.
Mình xem qua cũng khá hay, các bạn có thể xem tại link dưới
https://github.com/airbnb/MvRx/
7. Đẩy vùng text cần nhập lên trên bàn phím
Bạn muốn nhấn vào EditText mà sau đó nó sẽ được đẩy lên cao so với bàn phím như hình dưới ??
Hãy thử sử dụng thuộc tính android:windowSoftInputMode
trong tag <activity> của file Android manifest. Có 2 lựa chọn là “adjustPan” và “adjustResize”
Chi tiết hơn các bạn có thể xem tại đây
8. Bạn muốn cách khác để code giao diện Android
Bạn vẫn hay … code giao diện Android bằng cách nào ? Chúng có phải là:
Cách 1: code bằng file .xml – easy game 😀
Cách 2: code trong file .java, .kt, sử dụng các đối tượng có sẵn của Android kiểu như: linearLayout.add(new Button())
Các bạn vẫn hay dùng … một trong hai cách trên phải không nào 😀
Nhưng đó chưa hẳn đã hết, còn cách nữa, đó là: Litho: A declarative UI framework for Android
Một số cái hay mình thấy là:
- Asynchronous layout: có thể tính toán kích thước, tính cho view con ở background hết (bình thường là mainthread), chỉ draw là vẽ ở main thread.
- Flatter view hierarchies: giảm số lượng ViewGroup => tăng hiệu suất, cải thiện bộ nhớ, …
Link trang chủ: https://fblitho.com/
Link git: https://github.com/facebook/litho
9. Bạn có hay đọc medium ?
Các bạn có biết tới medium ?? Cho bạn nào chưa biết thì đó là một … mạng xã hội (kiểu facebook, twitter đó :)) ) dưới dạng blog.
Trên đó bạn có thể đọc được .. rất nhiều điều hay, những chia sẻ, kinh nghiệm, câu chuyện các thứ – kiểu như blog của mình này :D. Bạn nào hay đọc share mình một số bài hay nào !!!
Mình cũng rất hay vào đọc, về Android, Kotlin, kiến thức lập trình, kinh nghiệm sống các thứ, … Nói chung là hay, chất, đỉnh.
Nhưng cái bạn sau một thời gian dùng sẽ gặp là như sau
Hiểu đơn giản là bạn đang … đọc miễn phí, dạng free member. Bạn phải nâng cấp lên trả phí (5$/month) đó thì mới dk đọc .. ko giới hạn.
Và bạn không muốn trả phí ? Dễ là điều dễ hiểu mà :3
Bạn có thể xem tại đây để … như trên. Tuy nhiên bạn nên đọc về … những permissons plugin sử dụng – mình thấy khá nhiều và ethic problem này.
Hoặc đơn giản nhất là bạn bật “Cửa sổ ẩn danh” là sẽ ko bị như hình.
10. Set background theo màu ảnh nền
Bạn muốn set background – phần màu tím trên hình đó theo màu nền của bức ảnh ?
Bạn hãy search google từ khóa sau: “dominant color từ image android” là ok
Chính là bạn sẽ sử dụng Palette API, có thể xem tại: https://developer.android.com/training/material/palette-colors
11. AsyncTask trong Android
AsyncTask sẽ bị …deprecated trong Android 11, các bạn có thể xem tại đây và đây
Thay thế các bạn có thể sử dụng Rx, coroutine (trong kotlin)
12. Sequence trong Kotlin – nên thử ?
Bạn chưa học Kotlin, nên … học ngay đi nha. Chưa biết đến sequence, có thể xem tại: https://kotlinlang.org/docs/reference/sequences.html
Xử lý sequence thường nhanh hơn xử lý collection trực tiếp khi chúng ta có nhiều bước xử lý
Ta có đoạn code như sau
Và thời gian chạy trung bình như sau
SequencesBenchmark.productsListProcessing 712 434 ns/op SequencesBenchmark.productsSequenceProcessing 572 012 ns/op
Tính ra nhanh hơn 20% lận. Để chi tiết hơn, các bạn có thể xem tại đây
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é 😀
1 thought on “Note tháng 12/2019”