Siêu tổng hợp android code snippets (cập nhật thường xuyên)

Siêu tổng hợp android code snippets (cập nhật thường xuyên)
5 (100%) 5 votes

Tổng hợp các đoạn code hữu ích khi làm việc với android hãy xem vì nó được cập nhật thường xuyên.

Khung sườn của bài viết này.

Kiểm tra service đang chạy hay không?

Chủ động dừng:

Bị động dừng:

Dùng Handler trong Android

tạo Handler và lấy kết quả từ thằng background trả về:

Tạo một thằng thread chạy background để trả về cho UI thread thông qua Handler. Ở đây là hàm sau 5s sẽ trả về cho main Ui 1 message.

Tham khảo https://developer.android.com/guide/components/processes-and-threads.html

Google họ bảo nên dùng AsyncTask.

Cách dùng AsyncTask

Dùng cái này chạy nền thì vô cùng đơn giản:

Tạo 1 lớp thừa kế lớp AsyncTask và cài đặt các hàm bên trong nó sau đó bên UI thread chỉ cần tạo đối tượng từ lớp đã tạo ở trên và gọi execute(tham số truyền lần lượt) là ok.

https://developer.android.com/reference/android/os/AsyncTask.html

Dùng git thế nào?

  • cài git theo OS
  • cài 1 cái tool quản lý source như github windows
  • Setup tài khoản

Đưa source có sẵn lên repo

  • Tạo repo online.
  • Vào folder chứa source.
  • git init
  • git add .
  • git commit -m “first source”
  • git remote add origin [email protected]:dotrinh/tstt.git (Link này lấy online đã tạo)
  • Lệnh cuối git push -u origin master
  • Lên repo và check again.

 

Chuyển đổi qua lại độ C và độ F

Dựa vào hướng của điện thoại hiện ra tên của hướng ấy

Có các breakpoint sau:

Copy file vào điện thoại Android từ MacOS

  • Cài https://www.android.com/filetransfer/
  • Vào điện thoại bật “Settings” > “Storage” > 3 chấm dọc góc phải > “USB computer connection” > chọn “Media device (MTP)
  • OK mở App Anroid File Transfer lên và copy vào.

Đường dẫn Android SDK trong MacOS

/Users/ten_cua_ban/Library/Android/sdk

Các lỗi hay gặp khi làm In-App Purchase

Lỗi inventory bị null do sai public RSA key -1003:Purchase signature verification failed – Ngớ ngẩn không hiểu đội dev của google nghĩ gì ?? Tại sao lại để cái Base64Key kia bị thay đổi??

  • https://github.com/myflashlab/inAppPayments-ANE/issues/23 – public RSA key has been wrong
  • https://stackoverflow.com/questions/14600664/android-in-app-purchase-signature-verification-failed?noredirect=1&lq=1

 

Click vào button và chuyển sang activity mới.

Lấy số phiên bản hiện tại của ứng dụng android

Hiện Toast khi click vào button

Cách Decode file apk android trên Macos

Cách Decode file apk android trên Windows

Hiển thị một AlertDialog trong android

Hiển thị một Dialog trong android

Tạo chức năng chia sẻ khi click vào nút nào đó trong android

Play nhạc local khi click vào nút trong android

Bắt sự kện xoay màn hình trong android

Đơn giản chỉ cần ghi đè lại hàm onConfigurationChanged. Nếu đang dùng 2 file layout riêng cho màn hình thì cần set lại content view trong hàm này.

Và đừng quên thêm android:configChanges=”orientation|screenSize” vào Manifest nhưu thế này.

Trang thống kê mức độ phổ biến của các phiên bản Android

👉 Developer Android

Có thể thêm nhiều style trong một thẻ item không?

Câ trả lời là không.

Nhưng có nhều cách có thể thực hiện việc  kết hợp nhiều style lại với nhau:

  • Thừa kế style bằng thuộc tính parent

  • Lồng nhau như thế này

Lấy tên của tài khoản email đang dùng trong android

Show/Hide Status Bar

Lưu ý trước khi đưa app lên store

  • Xem lại số. Nếu là update thì versionCode đã cao hơn phiên bản trước chưa? Còn upload mới thì để mặc định là 1.
  • Tên phiên bản để cho user nhìn thấy versionName
  • Nếu có tích hợn In-App Billing thì đã tắt chế độ debug?
  • Kiểm tra trên các bản Android cũ hơn lần cuối.
  • Đã chuyển sang Build Variant là Release?
  • Đã tạo bản Signed APK?

Trong tab Store Listing

  • Tên app sẽ được hiện ra cho người dùng
  • Phần hiển thị ngắn khi mới mở app
  • Mô tả đầy đủ cho app
  • Screenshot hiển thị các anh để slide qua lại
  • Hi-res Icon là icon cho ảnh 512×512
  • Feature Graphic là ảnh để hiển thị trên thiết bị
  • Đánh giá nội dung rate 3+ chẳng hạn
  • Email sẽ được hiện cho ngừoi dùng
  • Website cũng hiện cho user

Tạo index cho một trường trong SQLite

    • Truy cập file trong cmd: sqlite3 duong_dan_den_file
    • Xem tất cả các bảng trong db: .tables
    • Tạo ra index cho một trường trong bảng: CREATE INDEX tên_index ON tên_bảng (tên_trường);. ex:  CREATE INDEX english_index ON phrase (english);
    • Chọn theo điều kiện: SELECT * FROM phrase WHERE english = ‘Hello’;
    • Kiểm tra xem có những cột nào được index: .indices tên_bảng
    • Xem cái trường đang thao tác có được index hay không thêm Explain query vào đầu câu lệnh

Ex: EXPLAIN QUERY PLAN SELECT * FROM phrase WHERE english = ‘Hello’;
Kết quả: 0|0|0|SEARCH TABLE phrase USING INDEX salary_index (english=?)

Failed to resolve: com.google.firebase:firebase

  • Lỗi thứ nhất có thể là do bạn chưa setup proxy hoặc thông tin proxy bị sai.
  • Lỗi thứ 2 có thể do bạn chưa thêm google play service và google Repository trong SDK Tool hãy thêm vào rồi sync lại là ok.

Tích hợp thanh toán trong android App

  • Dùng In-App Purchase của Google
  • Cái này không test được ở chế môi trường dev, phải test khi app được đưa lên store tức là bản này đã đc signed.
  • Có 2 loại là bán theo từng item (bán đứt 1 sản phẩm) hoặc theo subscription (bán theo kỳ như tháng, năm)

Tạo danh sách dạng list hay grid trong Android

  • Dùng thư viện RecylerView và CardView cách này được khuyến khích nhất.
  • Có thể dùng Listview cách cũ của Google.

Về thư viện hỗ trợ trong Android

Giấu code trong android

  • Thực ra cái này là làm rối code thì đúng hơn.
  • Dùng file gradle mức module và chú ý biến proguardFiles

Tóm tắt Broadcast

  • Broadcast dùng để nghe những sự kiện mà hệ điều hành bắn ra hoặc từ những app khác bắn ra.
  • Lắng nghe theo 2 cách, cách 1 là định nghĩa trong Manifest, cách 2 là extends Broadcast trong lúc runtime.
  • Nghe trong manifest thì nó sẽ luôn luôn lắng nghe dù có tắt app (destroy activity) hay nó luôn chạy ngầm.
  • Nghe trong lúc runtime thì khi nào activity bị destroy thì các broadcast ấy cũng bị hủy đăng ký (unregister).
  • Mình cũng có thể bắn broadcast cho app khác được.

Cách dùng SharedPreferences trong Android

Tạo và ghi giá trị mới:

Đọc giá trị:

Lỗi Android Studio Emulator “/dev/kvm is not found” trên

MacOS

Mở terminal lên và thực hiên các bước sau:

B1: cd /Users/trinh.thanh.do/Library/Android/sdk

B2: cd /extras/intel/Hardware_Accelerated_Execution_Manager/

B3: ./HAXM\ installation -u

Sau đó vào Setting của hệ điều hành và chọn Security & Privacy, click vào Allow là ok.

Lấy ngày cài đặt App

Tạo hàm này:

Dùng nó:

Gửi Email khi click vào nút

Gọi điện thoại đến 1 số bất kỳ

Thiết lập chức năng hệ thống

Đọc thêm blog https://dkstudiostore.blogspot.jp/2017/

 

Các bài viết không xem thì tiếc:

Chia sẻ là sexy

Đô Trịnh

Một lập trình viên vui vẻ, hòa đồng, luôn sống tích cực và anh ấy quay tay khỏe và khéo trong môn bi lắc :)

Bình luận qua khung của website

1 Bình luận trong bài "Siêu tổng hợp android code snippets (cập nhật thường xuyên)"

avatar
  Subscribe  
Mới nhất Cũ nhất Thích nhiều nhất
Nhận thông báo:
thanhhai
Khách đến chơi nhà

Thanks admin