Hà Nội 5 ORMs trong Android

Thảo luận trong 'Quảng cáo tổng hợp' bắt đầu bởi nerudite, 18/12/15.

  1. nerudite

    nerudite New Member

    Trong bài viết này, tôi sẽ thảo luận một số ORMs Android, bạn có thể xem xét sử dụng trong ứng dụng của bạn.

    OrmLite

    OrmLite là ORM Android đầu tiên mà nói đến cái tâm của tôi. Tuy nhiên OrmLite không phải là một ORM Android, đó là một ORM Java với cơ sở dữ liệu SQL hỗ trợ. Nó có thể được sử dụng bất cứ nơi nào Java được sử dụng, chẳng hạn như kết nối JDBC, Spring, và cũng Android.

    Nó làm cho việc sử dụng nặng của chú thích, chẳng hạn nhưDatabaseTable cho mỗi class định nghĩa một bảng, hoặcDatabaseField cho từng lĩnh vực trong lớp.

    Một ví dụ đơn giản của việc sử dụng OrmLite để xác định một bảng sẽ là một cái gì đó như thế này:

    Mã:
    @DatabaseTable(tableName = "users")
    public class User {
        @DatabaseField(id = true)
        private String username;
        @DatabaseField
        private String password;
    
        public User() {
            // ORMLite needs a no-arg constructor
        }
        public User(String username, String password) {
            this.username = username;
            this.password = password;
        }
    
        // Implementing getter and setter methods
        public String getUserame() {
            return this.username;
        }
        public void setName(String username) {
            this.username = username;
        }
        public String getPassword() {
            return this.password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
    }
    OrmLite cho Android là mã nguồn mở và bạn có thể tìm thấy nó trên GitHub. Để biết thêm thông tin đọc tài liệu chính thức của mình ở đây.

    SugarORM

    SugarORM là một ORM xây dựng chỉ dành cho Android. Nó đi kèm với một API mà là cả hai đơn giản để tìm hiểu và đơn giản để nhớ. Nó tạo ra các bảng cần thiết của chính nó, cung cấp cho bạn một phương pháp đơn giản của việc tạo ra một-một, một-nhiều mối quan hệ, và cũng đơn giản hóa CRUD bằng cách sử dụng chỉ có 3 chức năng, save(), delete() và find() (hoặc findById()).

    Cấu hình ứng dụng của bạn để sử dụng SugarORM bằng cách thêm bốn thẻ meta-data để AndroidManifest.xml ứng dụng của bạn:


    Mã:
    <meta-data android:name="DATABASE" android:value="my_database.db" />
    <meta-data android:name="VERSION" android:value="1" />
    <meta-data android:name="QUERY_LOG" android:value="true" />
    <meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.my-domain" />
    Bây giờ bạn có thể sử dụng ORM này bằng cách mở rộng nó trong các lớp bạn cần phải thực hiện vào các bảng, như thế này:
    Mã:
    public class User extends SugarRecord<User> {
        String username;
        String password;
        int age;
        @Ignore
        String bio; //this will be ignored by SugarORM
    
        public User() { }
    
        public User(String username, String password,int age){
            this.username = username;
            this.password = password;
            this.age = age;
        }
    }
    So adding a new user would be:


    Mã:
    User johndoe = new User(getContext(),"john.doe","secret",19);
    johndoe.save(); //stores the new user into the database
    Xóa tất cả người dùng của tuổi 19 sẽ là:
    Mã:
    List<User> nineteens = User.find(User.class,"age = ?",new int[]{19});
    foreach(user in nineteens) {
        user.delete();
    }
    Để biết thêm, đọc tài liệu trực tuyến của SugarORM.

    GreenDAO
    Khi nói đến hiệu suất, 'nhanh' và GreenDAO là đồng nghĩa. Như đã nêu trên trang web của mình, "hầu hết các thực thể có thể được chèn, cập nhật và tải ở mức vài nghìn đơn vị mỗi giây". Nếu nó không phải là tốt, các ứng dụng này sẽ không được sử dụng nó. So với OrmLite, nó là nhanh gần như gấp 4,5 lần.
    [​IMG]
    >> Khóa học lập trình android cơ bản tại hà nội !
    greenDAO vs OrmLite
    Nói về kích thước, nó nhỏ hơn 100KB, vì vậy không ảnh hưởng đến kích thước apk rất nhiều.

    Thực hiện theo hướng dẫn này, trong đó sử dụng Android Studio dụng để hiển thị các GreenDAO trong một ứng dụng Android. Bạn có thể xem mã nguồn GreenDAO trên GitHub, và đọc các tài liệu chính thức GreenDAO.

    Hoạt động Android

    Giống như ORMs khác, ActiveAndroid giúp bạn lưu trữ và lấy hồ sơ từ SQLite mà không cần viết các truy vấn SQL.

    Bao gồm ActiveAndroid trong dự án của bạn liên quan đến việc thêm một tập tin jar vào thư mục / libs của dự án Android của bạn. Như đã nêu trong hướng dẫn về khởi đầu, bạn có thể sao chép mã nguồn từ GitHub và biên dịch nó bằng cách sử dụng Maven. Sau đó có nó, bạn nên thêm các thẻ meta-data vào AndroidManifest.xml của ứng dụng của bạn:

    <meta-data android:name="AA_DB_NAME" android:value="my_database.db" />
    <meta-data android:name="AA_DB_VERSION" android:value="1" />


    After adding these tags, you can call ActiveAndroid.initialize() in your activity like this:

    Mã:
    public class MyActivity extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            ActiveAndroid.initialize(this);
    
            //rest of the app
        }
    }
    Bây giờ là ứng dụng được cấu hình để sử dụng ActiveAndroid, bạn có thể tạo ra các mô hình như các lớp Java bằng cách sử dụng chú thích:

    Mã:
    @Table(name = "User")
    public class User extends Model {
        @Column(name = "username")
        public String username;
    
        @Column(name = "password")
        public String password;
    
        public User() {
            super();
        }
    
        public User(String username,String password) {
            super();
            this.username = username;
            this.password = password;
        }
    }
    Đây là một ví dụ đơn giản về cách sử dụng ActiveAndroid. Các tài liệu này sẽ giúp bạn hiểu được cách sử dụng của ActiveAndroid ORM hơn nữa.

    Realm

    Cuối cùng Realm là một 'yet-to-đi' ORM cho Android mà hiện nay chỉ tồn tại. Nó được xây dựng trên C ++, và chạy trực tiếp trên phần cứng của bạn (không hiểu) mà làm cho nó thực sự nhanh chóng. Các mã cho iOS là mã nguồn mở, và bạn có thể tìm thấy nó trên GitHub.

    Trên trang web của bạn sẽ tìm thấy một số trường hợp sử dụng của Realm trong cả Objective-C và Swift, và cũng là một hình thức đăng ký để có được những tin tức mới nhất cho phiên bản Android.

    Final Words

    Đây không chỉ là các ORMs Android trên thị trường. Các ví dụ khác là Androrm và ORMDroid.

    Kiến thức SQL là một kỹ năng mà mỗi nhà phát triển cần phải có, nhưng viết các truy vấn SQL là nhàm chán, đặc biệt là khi có rất nhiều ORMs ra ở đó. Khi họ làm cho công việc của bạn đơn giản, tại sao không sử dụng chúng trong những nơi đầu tiên?

    >> Xem thêm: Khóa hoc photoshop cơ bản tại hà nội
     

Chia sẻ trang này

Đang tải...