Archive | Lập trình

Fix drawableStart resource not found API 19

Hôm nay thử chạy trên máy Android 4.4 (api 19) thì bị lỗi drawableStart resource not found API 19 khi dùng drawableStart cho TextView: android.content.res.Resources$NotFoundException: File res/drawable/ic_add.xml from drawable resource ID #0x7f020 Mình đã kiểm tra lại trong file build.gradle đã có hỗ trợ vector như dưới đây nhưng vẫn lôi: Cuối cùng mình đã khắc phục bằng cách sử dụng thư viện appcompat version 1.1.0-alpha01 (hoặc mới hơn) implementation “androidx.appcompat:appcompat:1.1.0-alpha01” Sau đó thay TextView […]

[Java log] P3: Ghi log bất đồng bộ vào Database sử dụng ExecutorService

Bài viết được đăng lại từ blog của Tùng Huynh, đã được sự đồng ý của tác giả.  Chào các bạn, ở 2 phần trước về ghi log[Java log] P1: Tầm quan trọng của ghi log trong phát triển phần mềm[Java log] P2: Tích hợp log4j vào phần mềmmình đã đề cập về tầm quan trọng của ghi log, một số nguyên tắc khi ghi log, và hướng dẫn cách tích hợp log4j vào một chương trình […]

[Java log] P2: Tích hợp log4j vào phần mềm

Bài viết được đăng lại từ blog của Tùng Huynh, đã được sự đồng ý của tác giả. Chào mọi người, ở bài trước ([Java log] P1: Tầm quan trọng của ghi log trong phát triển phần mềm) mình đã chia sẻ về tầm quan trọng của ghi log và một số nguyên tắc khi ghi log. Bài này mình sẽ hướng dẫn cách tích hợp một module log cơ bản vào ứng dụng. Các bạn nên tập thói quen […]

[Java log] P1: Tầm quan trọng của ghi log trong phát triển phần mềm

Bài viết được đăng lại từ blog của Tùng Huynh, đã được sự đồng ý của tác giả. Chào mọi người. Dạo này bận việc quá, tranh thủ mãi mới ngồi viết bài được. Hôm nay mình sẽ chia sẻ kinh nghiệm của mình liên quan đến vấn đề ghi log trong phát triển phần mềm. Ghi log là gì? Nói đến ghi log thì chắc đã nhiều bạn biết đây là một công việc lưu […]

Git – Một số lệnh hay dùng

Xóa branch local Dùng một trong 2 lệnh sau: git branch -d branch_namegit branch -D branch_name Tùy chọn -d là viết tắt của –delete, sẽ xóa nhánh, chỉ khi bạn đã push và merger nó với các remote branch (trên server). của bạn. Tùy chọn -D là viết tắt của –delete –force, xóa chi nhánh dù trạng thái push và merger đã làm hay chưa, vì vậy hãy cẩn thận khi sử dụng cái này! […]

Tìm hiểu về pathData của VectorDrawable trong Android

Bài viết được dịch và sửa từ: medium.com của tác giả Ali Muzaffar Mở bất kỳ một file xml VectorDrawable nào bạn sẽ thấy một số ký tự khó hiểu trong thuộc tính pathData. Những người làm việc thường xuyên với paths có thể hiểu được nó và giải thích cho bạn biết nó vẽ cái gì. Còn những người không làm nhiều thì nó sẽ là một bí ẩn. VectorDrawable là gì VectorDrawable là […]

[Share Book] Beginning iOS 11 Programming with Swift by Simon Ng

Chào các bạn, mình đã tìm hiểu và thấy bài viết trên appcoda rất hay và chi tiết về IOS cho người mới bắt đầu. Ở đây mình chia sẻ sách IOS 11 (bản cũ), bản mới IOS 12 các bạn có thể mua sách mới nhất của Simon Ng tại đây để ủng hộ tác giả. Download Beginning iOS 11 Programming with Swift by Simon Ng

Lập trình C: Bài 11 – Con trỏ trong c

Sử dụng con trỏ trong c cho phép chúng ta quản lý bộ nhớ, tránh lãng phí dư thừa hoặc thiếu hụt. Bài hôm nay mình sẽ hướng dẫn các bạn cách sử dụng con trỏ như thế nào.

Android nâng cao 42: Mạng và xử lý dữ liệu mạng – Retrofit – P12

 

Android nâng cao 41: Mạng và xử lý dữ liệu mạng – Retrofit – P11