Lĩnh vực mongodb-android

Bạn đang phát triển một ứng dụng, bây giờ bạn cần lưu trữ dữ liệu cụ thể của người dùng trên máy chủ đám mây, bạn sẽ làm gì? . Trong trường hợp này, bạn sẽ cần kết nối ứng dụng Android với cơ sở dữ liệu MongoDB và hôm nay chúng ta sẽ giải quyết vấn đề này bằng SDK lĩnh vực do MongoDB cung cấp để phát triển ứng dụng di động với nó



THỰC TẾ LÀ GÌ?

Realm là dịch vụ do MongoDB cung cấp để kết nối ứng dụng di động với cơ sở dữ liệu. MongoDB Realm có sẵn SDK mã nguồn mở cho hầu hết các ngôn ngữ, khung và nền tảng phổ biến. Mỗi SDK là thành ngữ ngôn ngữ và bao gồm

  • API cơ sở dữ liệu cốt lõi để tạo và làm việc với cơ sở dữ liệu trên thiết bị

  • Các API bạn cần để kết nối với chương trình phụ trợ của Realm để bạn có thể sử dụng các tính năng phía máy chủ như Đồng bộ hóa, Xác thực, Chức năng, Trình kích hoạt, v.v.


CÁCH SỬ DỤNG REALM?

Để sử dụng lĩnh vực này, trước tiên, chúng tôi cần tạo ứng dụng lĩnh vực trong giao diện người dùng MongoDB, chỉ chủ sở hữu dự án mới có thể tạo ứng dụng lĩnh vực, vì vậy hãy đảm bảo bạn đã đăng nhập với tư cách là chủ sở hữu dự án


Điều hướng đến tab lĩnh vực trong MongoDB

Lĩnh vực mongodb-android


Nhấp vào tab Xây dựng ứng dụng của riêng bạn lưu áp dụng nó

Lĩnh vực mongodb-android


Cung cấp tên ứng dụng của bạn và chọn cụm cơ sở dữ liệu nơi bạn lưu trữ dữ liệu người dùng

Lĩnh vực mongodb-android


Nhấp vào Tạo ứng dụng Realm


Bây giờ chúng ta phải xác định các quy tắc bảo mật để truy cập dữ liệu cụm


Điều hướng đến tab quy tắc


Lĩnh vực mongodb-android

Chọn bộ sưu tập rồi chọn mẫu quyền như trong sơ đồ

Lĩnh vực mongodb-android

Trong tên trường của khối id người dùng, bạn có thể viết tên trường của giá trị mà bạn đang lưu trữ userId trong thời gian hiện tại, bạn có thể sử dụng userId như trong hình


Lĩnh vực mongodb-android

nhấp vào định cấu hình bộ sưu tập và bây giờ bạn có thể thấy nút XEM LẠI VÀ TRIỂN KHAI ở trên cùng, nhấp vào nút này để xuất bản các thay đổi của bạn


Bây giờ, Chuyển đến trang chủ của Vương quốc và sao chép ID ứng dụng từ trang chủ, chúng tôi sẽ sử dụng nó trong tương lai

Lĩnh vực mongodb-android


Chúng tôi đã hoàn thành với giao diện người dùng lĩnh vực, chúng tôi sẽ triển khai nó trong ứng dụng của mình trong phần tiếp theo


TRIỂN KHAI REALM TRONG ỨNG DỤNG ANDROID?

Mở bản dựng cấp dự án. gradle và thực hiện các thay đổi sau

  1. trong bản dựng. kho thêm jcenter()

  2. Trong tất cả các dự án. kho thêm mavenCentral()

  3. trong bản dựng. phụ thuộc thêm đường dẫn lớp "io. vương quốc. lĩnh vực-gradle-plugin. 10. 9. 0"

Cuối cùng, bản dựng cấp dự án của bạn. tập tin lớp sẽ trông như thế này


Lĩnh vực mongodb-android

Bây giờ hãy mở bản dựng cấp ứng dụng. gradle và thêm plugin lĩnh vực ở trên cùng vào tệp của bạn

áp dụng plugin. 'vương quốc-android'


Lĩnh vực mongodb-android


GHI CHÚ. Nếu dự án của bạn đang sử dụng kotlin thì bạn cần thêm plugin kotlin trước khi plugin thực hiện plugin lĩnh vực. 'kotlin-kapt'


Bây giờ hãy đồng bộ hóa dự án của bạn và sau khi đồng bộ hóa thành công, bạn đã sẵn sàng sử dụng MongoDB trong ứng dụng của mình


KHỞI TẠO REALM TRONG ANDROID STUDIO

Trước khi sử dụng lĩnh vực trong ứng dụng của chúng tôi, trước tiên chúng tôi cần khởi tạo lĩnh vực

Vương quốc. init( this );

Viết dòng trên vào MainActivity của bạn. java bên trong phương thức onCreate (bạn chỉ phải gọi dòng này một lần trong vòng đời ứng dụng của mình, bạn có thể gọi nó ở bất kỳ đâu trong ứng dụng trước khi sử dụng các tính năng của MongoDB)


Sau khi khởi tạo vương quốc, chúng ta phải khởi tạo cơ sở dữ liệu và bộ sưu tập mongo

nhưng để khởi tạo cơ sở dữ liệu và bộ sưu tập, chúng tôi cần tham chiếu người dùng MongoDB và để tạo người dùng MongoDB, chúng tôi sẽ sử dụng xác thực ẩn danh MongoDB, vì vậy hãy kích hoạt nó trong MongoDB


Chuyển đến Giao diện người dùng lĩnh vực MongoDB và điều hướng đến Xác thực và chọn Cho phép người dùng xác thực ẩn danh bật nhà cung cấp và nhấp vào lưu dưới dạng bản nháp, bây giờ nhấp vào nút xem xét và triển khai


Lĩnh vực mongodb-android

Bây giờ chúng tôi có thể đăng nhập người dùng ứng dụng của mình dưới dạng ẩn danh và do đó chúng tôi có thể khởi tạo bộ sưu tập MongoDB


Bây giờ, hãy mở MainActivity. java và khai báo biến sau

Realm uiThreadRealm;
MongoClient mongoClient;
MongoDatabase mongoDatabase;
MongoCollection<Document> mongoCollection;
User user;
App app;
String AppId = YOUR APP ID FROM REALM UI";

và bên trong phương thức onCreate khởi tạo ứng dụng như sau

app = new App(new AppConfiguration.Builder(AppId).build());

Sau khi khởi tạo ứng dụng xác thực người dùng


if (app.currentUser() == null) {
    Toast.makeText(this, "user is null", Toast.LENGTH_SHORT).show();
    app.loginAsync(Credentials.anonymous(), new App.Callback<User>() {
        @Override
        public void onResult(App.Result result) {
            if (result.isSuccess()) {
                Log.v("User", "Logged In Successfully");
                initializeMongoDB();
                Toast.makeText(getApplicationContext(), "Login Successful", Toast.LENGTH_LONG).show();
            } else {
                Log.v("User", "Failed to Login");
                Toast.makeText(MainActivity.this, "Failed to login", Toast.LENGTH_SHORT).show();
            }
        }
    });
} else {
    Toast.makeText(this, "user is not null", Toast.LENGTH_SHORT).show();
    initializeMongoDB();
}

Triển khai phương thức khởi tạoMongoDB()

//implementation of initializeMongoDB() method 
private void initializeMongoDB() {
    user = app.currentUser();
    mongoClient = user.getMongoClient("mongodb-atlas");
    mongoDatabase = mongoClient.getDatabase("YOUR DATABASE NAME");
    mongoCollection = mongoDatabase.getCollection("YOUR COLLECTION NAME");
}


Bây giờ tất cả các biến của chúng ta đã được khởi tạo, chúng ta sẽ thấy thao tác chèn tài liệu trong phần tiếp theo


CHÈN TÀI LIỆU

Để chèn tài liệu, hãy tạo một nút mới và chỉnh sửa văn bản trong Activity_main. xml và cung cấp cho chúng nút id và tên tương ứng trong listner onClick của nút dán đoạn mã sau

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (user == null)
                    user = app.currentUser();

                Document document = new Document().append("Name", b.name.getText().toString()).append("myid", "1234").append("userId", user.getId());
                mongoCollection.insertOne(document).getAsync(result -> {
                    if (result.isSuccess()) {
//                        BsonObjectId insertedId = result.get().getInsertedId().asObjectId();
//                        Log.v("adding", "result");
                        Toast.makeText(MainActivity.this, "Inserted successfully", Toast.LENGTH_LONG).show();
                    } else {
//                        Log.v("adding", "result failed" + result.getError().toString());
                        Toast.makeText(MainActivity.this, "Error " + result.getError(), Toast.LENGTH_LONG).show();
                    }
                });
            }
        });


Xin lưu ý rằng trong tài liệu. trường chắp thêm, bạn có thể đặt bất kỳ giá trị nào bạn muốn chèn vào MongoDB nhưng. append("userId",người dùng. getId());


đoạn mã trên sẽ tạo một tài liệu mới trong tập bản đồ mongoDB


tương tự, bạn có thể thực hiện nhiều thao tác hơn như ghi, xóa, cập nhật, v.v. sử dụng cùng một tài liệu tham khảo để biết thêm chi tiết truy cập liên kết này


LIÊN KẾT QUAN TRỌNG

  1. Tạo ứng dụng cảnh giới

  2. Cài đặt vương quốc trong android

  3. Truy vấn MongoDB bằng cách sử dụng lĩnh vực



Codersarts là trang web được xếp hạng hàng đầu về Trợ giúp bài tập ứng dụng Android, Trợ giúp dự án, Trợ giúp bài tập về nhà và Cố vấn. Đội ngũ chuyên gia phân công Android tận tâm của chúng tôi sẽ giúp đỡ và hướng dẫn bạn trong suốt hành trình phát triển ứng dụng Android của bạn