(Part 1) Android background processing với Handlers, AsyncTask và Loaders

Android Threads, Handlers AsyncTask. Bài viết này mô tả cách sử dụng của tiến trình bất đồng bộ trong ứng dụng android (asynchronous ). Bao gồm làm thế nào để xử lý vòng đời ứng dụng với Threads. Được dựa trên Android Studio. 1. Background processing in Android 1.1. Why using concurrency? Theo mặc định, code được chạy trong main thread. Do đó mỗi câu lệnh được thực hiện theo trình tự. Nếu bạn thực hiện một hoạt động với thời gian lâu, ứng dụng sẽ bị khóa cho đến khi hoạt…

Read More

Looper, Handler and HandlerThread in android

MultiThreading và Task running là những khái niệm quen thuộc trong lập trình. Trong Java java.util.concurrent là package chứa các utility class hữu ích trong việc lập trình song song (concurrent programming) và Fork/Join framework là một framework hiện thực của ExecutorService interface giúp tận dụng tối đa khả năng của bộ đa xử lý multiple processors. Trong Android, Looper, Handler và HandlerThread là cách giải quyết các vấn đề liên quan tới lập trình bất đồng bộ. Đặt vấn đề Trong java, Thread thông thường (Normal Thread) mang ý nghĩa chỉ sử dụng một lầnnghĩa là khởi tạo và chết đi sau khi thực thi hàm run(). Bản thân Thread là con dao 2 lưỡi, chúng ta có…

Read More

HƯỚNG DẪN SỬ DỤNG THREAD VÀ HANDLER TRONG ANDROID

Ở bài hôm nay mình sẽ trình bày cách xử lý đa tiến trình sử dụng Message của Handler class. Cụ thể mình sẽ hướng dẫn các bạn làm ví dụ Vẽ button lúc run time dùng Thread và Handler trong Android. 1. Giới thiệu về Thread và Handler trong Android Thread. Cũng giống như trong các hệ điều hành khác, trong Android mỗi thread là một đơn vị thực thi song song (concurrent unit of execution). Mỗi thread có call stack riêng cho các phương thức được gọi, các tham số…

Read More

Android từ đầu: Sử dụng REST API

Hầu hết chúng ta đều trưởng thành nhờ tìm hiểu các thông tin mới, những thứ như Internet là một phần quan trọng trong cuộc sống. Mọi thứ đang trở nên gắn kết hơn bao giờ hết, vì vậy xây dựng những ứng dụng Android có nội dung tĩnh có thể là một ý tưởng tồi. Thay vào đó, bạn nên xem xét việc xây dựng các ứng dụng có thể hiển thị nội dung mới mỗi khi người dùng mở chúng. Điều đó nghe có vẻ khó khăn, nhưng…

Read More

Thiết lập Realm cho Android

Giới thiệu Nếu bạn đã cập nhật xu hướng mới nhất trong phát triển Android, thì bạn có thể đã nghe nói về Realm. Realm là cơ sở dữ liệu nhẹ, có thể thay thế cả thư viện SQLite và ORM trong dự án Android của bạn. So với SQLite, Realm nhanh hơn và có rất nhiều tính năng hiện đại, chẳng hạn như hỗ trợ JSON, một API linh hoạt, thông báo thay đổi dữ liệu và hỗ trợ mã hóa, tất cả đều nhằm giúp cho các nhà phát…

Read More

Giới thiệu về Realm Mobile Database

I. Realm Mobile Database là gì? Ngày nay, việc phát triển ứng dụng di động đang trở thành xu hướng và phổ biến khắp mọi nơi. Hiện nay đang có khá nhiều hệ điều hành di động phổ biến và đi kèm đó là ngôn ngữ riêng cho từng hệ điều hành riêng biệt (Java cho Android; Swift hoặc Objective-C dành cho iOS,…). Trong mỗi ứng dụng thì phần quan trọng không kém chính là Cơ sở dữ liệu. CSDL phổ biến nhất được sử dụng hiện nay trên hầu…

Read More

Giới thiệu Realm database cho Android

Giới thiệu Realm là một cơ sở dữ liệu nhẹ, có thể thay thế cả hai thư viện SQL và ORM trong các ứng dụng Android. Realm không sử dụng SQLite làm engine của nó. Thay vào đó, nó dùng core C++ nhằm mục đích cung cấp một thư viện cơ sở dữ liệu thay thế SQLite. Realm lưu trữ dữ liệu trong các bảng viết bằng core C++. Việc này cho phép Realm được truy cập dữ liệu từ nhiều ngôn ngữ cũng như một loạt các truy vấn…

Read More

Giới thiệu Realm – Giải pháp thay thế cho SQLite

Bối cảnh Để làm việc với SQLite, ta phải thực hiện rất nhiều thao tác: xây dựng khung chương trình, mô hình, heplers, truy vấn, blah blah. Thực sự việc này tốn rất nhiều thời gian trong tiến trình phát triển phần mềm. Những người mới tiếp cận với SQLite sẽ phải bỏ ra nhiều giờ loay hoay trong khởi tạo, nhập xuất, xây dựng câu truy vấn và đặc biệt là code sẽ rất khó quản lý. Giải pháp trước kia Viết thư viện hỗ trợ Hồi ở Nikme, công…

Read More

Giới thiệu về Realm.io

Hôm nay chúng ta sẽ tìm hiểu về Realm một cơ sở dữ liệu mới được xây dựng để chạy trên thiết bị di động, máy tính bảng,vvv. Realm sử dụng rất it tài nguyên, dễ sử dụng và việc tương tác với dữ liệu nhanh hơn bất kể những sự lựa chọn hiện tại. SWIFT: // Using Realm in Swift var mydog = Dog(); mydog.name = “Rex”; mydog.age = 9 let realm = RLMRealm.defaultRealm() realm.beginWriteTransaction() realm.addObject(mydog) realm.commitWriteTransaction() var results = Dog.objectsWhere(“name contains ‘Rex'”) Không giống như một số các…

Read More

Android SDK: Unit Testing with the JUnit Testing Framework

In this tutorial, you will learn how to use Eclipse to create an Android JUnit Test Project, create automated unit tests and run them under a variety of conditions. Before You Begin The authors are assuming the reader has some basic knowledge of Android and have all of the tools such as Eclipse and the Android SDK installed and working. The examples given here are engineered to show how the Android JUnit framework can be used to test Android applications. Specifically, this tutorial will show you how to test aspects…

Read More