Saturday, November 18, 2017

Friday, October 20, 2017

Thursday, July 13, 2017

Cách khắc phục khi có thông báo "Screen overlay detected"
Khi đang sử dụng điện thoại Android, đôi khi bạn thấy thông báo như sau "Screen overlay detected". Thông báo này xuất hiện chủ yếu khi bạn đang nhấn chấp thuận permission hay khi chuẩn bị cài file APK thủ công. Hướng dẫn trên thông báo lại quá sơ sài nên phần lớn chúng ta không biết phải làm gì tiếp theo. Đừng lo, cách làm ngay bên dưới, và cũng không phức tạp gì cả.

Ý nghĩa của thông báo này:

Trong Android, Google hỗ trợ một chức năng tên là Screen Overlay. Nó cho phép một app xuất hiện bên trong những app khác. Ví dụ, nút Chat Head của Facebook sử dụng Screen Overlay để có thể trôi nổi trên màn hình dù cho bạn có đang mở app nào đi nữa. Các app trên Play Store hoặc phần mềm cài sẵn từ các hãng sản xuất có tính năng thu nhỏ cửa sổ cũng dùng Screen Overlay để hoạt động, chẳng hạn như Multi View của Samsung.

Tính năng này hay, nhưng Google lo ngại rằng nó có thể bị kẻ xấu lợi dụng để lén chấp thuận permission hoặc lén cài app mà bạn không chú ý. Do đó, Android sẽ hiển thị một thông báo cảnh báo lên cho bạn biết và bạn cần vô hiệu hóa Screen Overlay để có thể tiếp tục cài app mong muốn.

Cách vô hiệu hóa Screen Overlay:
  1. Vào Settings > Apps
  2. Nhấn vào biểu tượng bánh răng ở góc trên bên phải, hoặc nếu không có thì ấn biểu tượng ba dấu chấm > Configure Apps
  3. Chọn vào "Draw over other apps" (nếu không thấy, bạn có thể chọn Advanced > Draw over other apps)
  4. Ở đây bạn sẽ có một danh sách các app có thể xuất hiện bên trên những app khác, chính là tính năng Screen Overlay đấy.
  5. Tạm thời tắt những ứng dụng nào mà bạn nghi ngờ là thủ phạm. App đó thường được chạy lên trước khi bạn cài file APK hay chấp thuận permission nên cũng dễ xác định. Ví dụ: trước khi mình cho phép permission truy cập vào ổ cứng mình đã chạy Facebook Messenger. Vậy thì tắt Screen Overlay của Messenger đi.
  6. Quay trở lại làm cho xong việc khi nãy của bạn rồi bật lại Screen Overlay cho Messenger.
Từ những lần sau trở đi, bạn có thể lưu ý tắt app Screen Overlay này trước khi cho phép permission hay cài file APK là sẽ không còn bị nữa.
thủ thuật,android,screen overlay

Saturday, June 3, 2017

Hướng dẫn xây dựng và dùng thư viện trong lập trình Android
Chào các bạn, việc các bạn tự tay code một dự án Android hoàn chính là khá khó nên việc dùng thêm những thư viện ở ngoài được một nhóm hay một người nào đó code sẵn là rất cần thiết. Sau khi tìm hiểu rõ về thư viện đó thì ta chỉ việc đưa vào rồi thực hiện theo code có sẵn là xong, đây là một công việc rất khuyến khích.
Bởi vì thủ thuật xử lý thư viện nhà một kĩ năng lập trình loại bậc cao, cũng có khá là ít tài liệu nhắc tới vấn đề này, do vậy sau đây mình sẽ tổng hợp một số kỹ năng xử lý thư viện do chính mình sưu tập được trong quá trình tìm hiểu về Android rất mong các bạn góp ý thêm.

1. Thư viện là gì?
·         Thư viện (library) là một thuật ngữ gần hơn framework,  nó là tập hợp những đoạn code do team nào đó hay ai đó đã viết sẵn ra với mục đích là thực hiện sẵn công việc dài dòng phức tạp để đạt kết quả như mong muốn.
·         Ngày nay để viết ra được 1 ứng dụng có đầy đủ các chức năng thì bạn cần tìm hiểu thật nhiều thư viện khác nhau và gom chúng vào để đưa ra những gì mà bạn cảm thấy cần thiết vào ứng dụng của riêng mình.
2. Các thủ thuật khi sử dụng thư viện trong lập trình android:
·         Khởi tạo 1 thư viện
·         Kiểm tra xem project hiện tại có phải là library hay không
·         Build Project là thư viện hiện tại thành 1 tập tin .jar để dùng nó trên các project khác
·         Cách add 1 thư viện hiện tại vào 1 thư viện khác để kiểm tra kết quả.
3. Chú ý:
·         Vấn đề vi phạm bản quyền
·         Nếu có thời gian khởi tạo 1 thư viện cho riêng mình thì hay đảm bảo nó bao gồm nhưng class java thôi nha, nếu có file XML thì sẽ hỏng đấy.
·         Code cần đơn giản và chính xác, tham khảo những người đi trước để rút ra kinh nghiệm.
4. Video hướng dẫn:

Sunday, February 19, 2017

Setting up Android Studio (alternative to Eclipse)
1) When you have created a project already, choose "1: Project" on the very left side, then "Project" on the drop-down-menu just right of it - you should see the full project now.
2) Go to "File" - "Project Structure" and click on the green plus on the left side. Choose "Import existing project" and browse to the directory where you downloaded AndEngine and import it. Repeat for the PhysicsBox Extension.
3) Go to the Project Structure again and click on "app". Now go to the "Dependencies" Tab and click the green plus on the right side. Choose "Module dependency" and add both AndEngine modules.
4) Open the default activity you have created and try changing "implements Activity" to "implements SimpleBaseGameActivity". You will need to import it and implement all missing methods. If that works, you have successfull set up AndroidStudio with AndEngine!

Tuesday, January 24, 2017

Giới thiệu cơ bản về ConstraintLayout Android Studio

1. Lời mở đầu

Trong phiên bản Android Studio 2.2 Preview mà Google để cho các lập trình viên review trước khi release bản chính thức có thêm một Layout mới có tên là ConstraintLayout. Mặc dù bạn có thể chỉnh sửa trực tiếp ConstraintLayout trong XML nhưng bây giờ bạn sẽ không cần phải làm thế nữa. Bạn đã hoàn toàn có thể xây dựng một Giao diện người dùng từ đầu đến cuối trên công cụ Layout Editor dễ dàng hơn bao giờ hết.
Một khi bạn kéo thả một View vào trong ConstraintLayout bạn có thể thêm các định nghĩa về constrants về vị trí của View bằng cách kéo một dây neo vào các phần tử khác cùng nằm trong ConstraintLayout. Công cụ Layout Editor cũng tự tìm ra tất cả các constrants của một View với một Click chuột duy nhất.
ConstraintLayout hiện đã có sắn trong gói thư viện hỗ trợ mới tương thích với Android 2.3 (Gingerbread) và cao hơn, nhưng công cụ Layout Editor mới chỉ có trong Android Studio 2.2 Preview.
Chú ý : Đối với việc phát hành ban đầu của ConstraintLayout, không có tài liệu API tham khảo. Một khi Google đạt được một phiên bản API ổn định hơn. Họ sẽ làm tài liệu API tham khảo. Nhưng mọi thứ bạn cần để xây dựng một ConstraintLayout đã có sẵn trong công cụ Layout Editor trong Android Studio 2.2 Preview
Layout_editor_image.png
Ảnh 1 : Công cụ Layout Editor mới đang hiển thị ConstraintLayout với cả Design và Bluesprint View.
Để được hưỡng dẫn các kỹ thuật bố trí cơ bản và nâng cao của layout với Công cụ Layout Editor mới thì xem qua link này : ConstraintLayout Codelab

2. Tổng quan về ConstaintLayout

Một constraint là phần mô tả làm thế nào để một View nên được định vị trên màn hình tương đối với các phần tử khác trong layout. Bạn có thể xác định một constraintcho một hay nhiều mặt của một view bằng cách chế độ kết nối bất kỳ sau đây :
  • Điểm neo nằm trên một View khác.
  • Một cạnh của layout.
  • Một guideline vô hình.
Bởi layout của từng View được định nghĩa bởi sự kết hợp với các phần tử khác nhau trong Layout. Bạn có thể tạo một giao diện phức tạp với hệ thống View Hierachy. Mặc dù nó có khái niệm tương tự như RelativeLayout nhưng ConstraintLayout là linh hoạt hơn và được thiết kế sử dụng hoàn toàn từ công cụ Layout Editor mới.
Các loại của constaint bạn có thể xác định như sau :
  • Connection phía bên các cạnh của Layout
    Connection phía bên của một View sang bên tương ứng với Layout. ví dụ Connection phía trên của một View vào mép trên cùng của ConstraintLayout
  • Connect phía bên cạnh của một View.
    Connect phía bên cạnh của một View đến phía đối diện của một View khác. Ví dụ : Connect cạnh trên top của View A vào cạnh dưới bottom của View B, như vậy thì A luôn luôn ở bên dưới B
  • Chỉnh thẳng hàng với một View. Canh thẳng hàng các cạnh của một view để các cạnh và góc của view khác tương tự. Ví dụ sắp xếp bên trái của View A đến phía bên trái của View B sao cho chúng được xếp chồng theo chiều dọc và canh trái.
  • Chỉnh cơ bản với một View : Căn đường cơ bản của văn bản nằm trong view với một đường cơ bản của vản bản trong view khác. Sử dụng điều này để gắn kết các view theo chiều ngang khi nó quang trọng hơn là các văn bản trong view hơn là căn các cạnh trong view.
Khi bạn thêm một constraint vào View để xem trong công cụ layout editor. Bạn có thể kéo để đặt lại vị trí của View và thêm những constraint để đảm bảo bố trí của bạn đáp ứng các kích cớ màn hình khác nhau một cách thích hợp.
Bạn có thể đảm bảo rằng tất cả các view sẽ có khoảng cách đồng đều bằng cách xác định lề mặc định cho tất cả các view với Android Studio 2.2 Preview và công cụ layout-editor.
Hướng dẫn thay đổi font chữ trong Android Studio
Ở bài hôm này mình sẽ hướng dẫn các bạn làm sao để có thể sử dụng nhiều loại font cho ứng dụng của mình trể nên đẹp và đỡ nhàm chán hơn.

1. Giới thiệu về fonts trong Android

Font là tập hợp hoàn chỉnh các chữ cái, các dấu câu, các con số, và các ký tự đặc biệt, theo một kiểu loại, định dạng (thường hoặc đậm nét), hình dáng (thẳng hoặc nghiêng) và kích cỡ phù hợp và có thể phân biệt khác nhau. Thường thuật ngữ “typeface” được dùng không đúng để chỉ về kiểu loại.

2. Demo hướng dẫn thay đổi fonts trong Android

Sau đây mình sẽ hướng dẫn các bạn làm 1 ví dụ để thay đổi được font chữ của 1 đoạn văn bản. Ví dụ của mình đơn giản là sẽ có 1 edittext cho phép người dùng nhập nội dung bất kỳ vào đó, và có 4 radiobutton cho phép người dùng chọn fonts mình mong muốn và khi đó font của đoạn văn bản cũng thay đổi theo.
B1. Tạo Project mới có tên là FontsDemo
B2.Tạo thư mục chứa fonts
Đâu tiên các bạn tạo thư mục assets trong project của mình theo cách như sau.
137
tiếp tục ta tạo thư mục fonts trong thư mục assets chúng ta vừa tạo xong. Sau đó coppy các loại fonts mà các bạn muốn sử dụng vào đó
138
B3. Thiết kế giao diện màn hình chính
code của actiivity_main.xml như sau
 B4. Code MainActivity.java
 trong đoạn code trên các bạn chỉ cần chú ý 2 dòng code sau
Typeface face = Typeface.createFromAsset(getAssets(), “fonts/FORTE.TTF”);
edtContent.setTypeface(face);
ở dòng đầu tiên, đó là chúng ta tiến hành load font trong thư mục assets/fonts
dòng tiếp theo là chúng ta set fonts cho edittext của chúng ta. Cũng không quá khó hiểu đúng không ạ. Và sau đó run và được kết quả như mong muốn.
134