• Android

    [Android] Tạo tutorial theo từng màn hình

    Khi tạo hướng dẫn sử dụng cho 1 ứng dụng chúng ta có nhiều cách, 1 trong số đó là hiển thị chức năng của từng thành phần trên từng màn hình như sau :   Để làm việc này ta sẽ thực hiện theo các bước sau : 1. Thêm thư viện vào file gradle (trong cấp thư mục app) :    implementation 'com.elconfidencial.bubbleshowcase:bubbleshowcase:LATEST_VERSION'    LATEST_VERSION : Kiểm tra version ở trang chủ theo link ở cuối bài viết, thời điểm hiện tại là 1.3.1 2. Trong mỗi màn hình cần show tutorial cho view nào đó thực hiện add code :    new BubbleShowCaseBuilder(getActivity()) // Activity instance .title("Tiêu đề…

    Comments Off on [Android] Tạo tutorial theo từng màn hình
  • Android,  iOS

    [Mobile][Resources] Quy chuẩn đặt tên resource cho ứng dụng

    Với 1 ứng dụng thì resources (ảnh, text, media …) đóng 1 vai trò vô cùng quan trọng. Tuy nhiên khi phát triển ứng dụng thì đôi khi việc update 1 resource nào đó là ko tránh khỏi. Việc đặt tên các resources sao cho dễ hiểu dễ update là việc rất quan trọng đặc biệt là khi ứng dụng được phát triển cho nhiều os khác nhau (android, ios…) tương ứng với nó là nhiều đội dev khác nhau. Để tiện cho việc update app cũng như update resource thì khi bắt đầu làm cần thống nhất việc đặt tên cho các resource trong app giữa các đội dev…

    Comments Off on [Mobile][Resources] Quy chuẩn đặt tên resource cho ứng dụng
  • Uncategorized

    Cách thêm 1 nhân vật mới vào trong app DX

    1 . Check và thêm thông tin về nhân vật mới vào trong các file a. jp_ios_mainMenu.plist b. jp_ios_situationsInfo.plist c. jp_charaInfo.plist d. ko_ios_mainMenu.plist e. ko_ios_situationsInfo.plist f. ko_charaInfo.plist g. background.plist h. effectTypeData.plist i. ringtone.plist bằng cách đối chiếu với những nhân vật đã có sẵn ở trong app 2 . Với nhân vật thêm offline thì phải thêm data vào trong 2 file a. voice_jp.zip b. voice_ko.zip còn online thì không cần, data cần thêm thì sẽ lấy trong sdk khách đưa, khi thêm data thì sẽ thêm vào file animTable.plist, và 2 file của nhân vật ví dụ: navi.env, navi.mp3 3 . Thêm các hàm và các biến định nghĩa…

    Comments Off on Cách thêm 1 nhân vật mới vào trong app DX
  • Cakephp

    Custom form radio button Cakephp 3

    Trong cakephp 3 radio button sẽ có dạng như sau <label> <input id="#" name="#" type="radio" value="1" /> text </label> sử dụng key sau để custom lại form radio cho mục đích làm css 'templates' => [ 'nestingLabel' => '{{hidden}}<label{{attrs}}>{{text}}{{input}}', 'radioWrapper' => '<div class="radio">{{label}}</div>' ]

  • Html & Css

    CSS Stripes

    Chúng ta thường hay thấy background của một trang có các dòng kẻ (Stripes) có thể là kẻ ngang, chéo hoặc dọc. Đoạn css sau sẽ giúp bạn làm nó mà ko cần sử dụng ảnh. background: repeating-linear-gradient( 45deg, #606dbc, #606dbc 10px, #465298 10px, #465298 20px );

  • Javascript

    Chú ý với mouse out javascript

    Với jquery, có thể dùng hover. Tuy nhiên khi bạn không sử dụng jquery mà dùng javascript. Event thay thế là mouseout khi muốn check con trỏ chuột ra ngoài vùng của 1 phần tử X. Tuy nhiên hàm mouseout vẫn bắt khi con trỏ chuột di chuyển trong vùng phần tử con của phần tử X bạn cần check.

    Comments Off on Chú ý với mouse out javascript
  • Android

    [Android][Widget] Sử dụng ImageView

    Dưới đây là 1 vài chú ý khi muốn hiển thị ảnh trong android (sử dụng trong file layout) :     1. Sử dụng android.support.v7.widget.AppCompatImageView thay cho ImageView mặc định :    + Thêm support compat vào gradle (ở level app) :  implementation ‘com.android.support:appcompat-v7:28.0.0’ + Sử dụng srcCompat thay cho src để định nghĩa nguồn hình ảnh     Bài viết sẽ được bổ sung khi có những chú ý mới, cảm ơn mọi người đã theo dõi.

    Comments Off on [Android][Widget] Sử dụng ImageView
  • Uncategorized

    Fuel: lỗi crypt.php ở php 5.4

    Mô tả lỗi: Fuel\Core\FuelException [ Error ]: Crypt::verify_mac – Argument 1: Message Authentication Code is not the correct length; is it encoded? COREPATH//classes/crypt.php @ line 372 Lỗi này chỉ xảy ra với fuelphp 1.8 ở phiên bảng php 5.4 Cách sửa: 1. Nâng cấp phiên bản php 2. Sửa lại file core/classes/crypt.php Line 257: $auth = Binary::safeSubstr($message, $length - SODIUM_CRYPTO_GENERICHASH_BYTES_MAX); Nguyên nhân function safeSubstr gọi tới hàm substr với 3 tham số: string, start, length. Nhưng dòng code trên chỉ truyền vào 2 tham số. Với php 5.4, với mặc định length = 0 thì nó sẽ trả về null nên dẫn đến lỗi. Sửa lại function trên: $auth =…

  • PHP

    Lỗi xampp load thư viện php_pdo_pgsql.dll, php_pgsql.dll

    Lỗi khi xampp không tìm đươc đường dẫn đến libpq.dll khi bạn vào php.ini enable extension php_pdo_pgsql.dll, php_pgsql.dll bằng cách xóa comment đầu dòng ( xóa dấu 😉 Cần khai báo đường dẫn trực tiếp cho nó, file này nằm ở xampp\php. 1. Vì vậy ở file httpd-xampp.conf, tạo 1 câu lệnh khai báo như sau: LoadFile "C:/xampp/php/libpq.dll" trong đó “C:/xampp/php/libpq.dll” là path trực tiếp, nếu bạn cài xampp ở ổ khác thì hãy thay đổi đường dẫn cho phù hợp. 2. Restart lại xampp Lỗi với php_intl.dll Nguyên nhân lỗi là các thư viện của php không được loại đúng. Các làm: 1. Vào xampp/php 2. Copy tất cả…