• Uncategorized

    App Sổ thu chi – chú ý phần test xóa data cho iOS (giống Android)

    TH1: Đăng nhập tk 1 ở máy A. Sau đó tạo 1 bản ghi. Sau đó đăng nhập tk 1 đó ở máy B. -> Bản ghi vừa tạo ở máy A vẫn có bên máy B. Khi đó xóa bản ghi đó đi (xóa bản ghi trong app). Sau đó đăng nhập lại máy A nếu bản ghi đó đã được xóa thì OK TH2: Đăng nhập tk 1 ở máy A. Sau đó tạo 1 bản ghi. Sau đó đăng nhập tk 1 đó ở máy B. -> Bản ghi vừa tạo ở máy A vẫn có bên máy B. Khi đó xóa bản ghi đó đi (xóa bản…

    Comments Off on App Sổ thu chi – chú ý phần test xóa data cho iOS (giống Android)
  • Uncategorized

    Case Re-connect ở các màn hình

    TH Re-connect ở các màn hình, phổ biến nhất là : – Đang dùng app có cuộc gọi đến – Đang sử dụng có tin nhắn SMS, message, zalo, etc. -> xem tin xong vào lại app – Đang dùng bấm phím Home trên Device (cả android, ios) – Đang load màn hình (chuyển round hay chức năng…) bấm Home rồi vào lại – Đang dùng hết pin, sập nguồn -> sạc vào lại – Đang dùng -> sạc pin/rút sạc đang sạc ra – Đang dùng có thông báo pin yếu – Đang dùng có thông báo tới -> xem thông báo -> vào lại app – Load quảng…

    Comments Off on Case Re-connect ở các màn hình
  • 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 =…