2009-12-20 43 views
8

Tôi muốn viết ứng dụng khách cho Android sử dụng Google App Engine làm cơ sở dữ liệu phụ trợ. Ứng dụng khách Android của tôi sẽ kết nối với App Engine để lưu thông tin, sau đó nó sẽ kết nối sau này cho các báo cáo. Có thể sử dụng App Engine làm chương trình phụ trợ như thế này không?Có thể sử dụng Google App Engine làm cơ sở dữ liệu phụ trợ cho các ứng dụng Android không?

Trả lời

8

Nếu bạn đang tìm kiếm một cái gì đó giống như api từ xa mà App Engine có trong python, thì bạn sẽ thất vọng khi thấy nó bị thiếu trong Java.

Điều đó nói rằng, hoàn toàn không có gì ngăn bạn khỏi nhấn ứng dụng của bạn và đăng dữ liệu thông qua POST/JSON/XML/bất kỳ định dạng nào khác mà bạn có thể nghĩ đến. Điều tương tự cũng xảy ra khi bạn nhận được báo cáo của mình.

Nếu bảo mật là mối quan ngại, giao thức OAuth cho phép bạn xác thực với công cụ ứng dụng từ thiết bị Android của bạn.

Đây là một sang một bên, nhưng theo như báo cáo là có liên quan, bạn có thể không tìm thấy công cụ ứng dụng một nền tảng rất phù hợp cho các ứng dụng loại báo cáo. Chỉ cần chắc chắn rằng bạn hiểu những hạn chế của nó - thiếu sự tham gia, giới hạn đối tượng 1000, không có tổng/trung bình, chỉ mục cần thiết, v.v. Nó chắc chắn không phải là không thể, nhưng hãy suy nghĩ kỹ về cách bạn định mô hình dữ liệu của mình.

5

Có, điều đó là có thể.

Nếu không có thêm chi tiết trong câu hỏi của bạn, mọi chi tiết khác trong câu trả lời sẽ là đầu cơ.

+1

Làm cách nào? Tôi đã tìm kiếm trên tất cả các tài liệu nhưng dường như không thể tìm thấy các API cho Java cho phép ứng dụng khách kết nối trực tiếp với cơ sở dữ liệu GAE. Bạn có thể chỉ cho tôi một liên kết giải thích về API không? – Doughy

+4

+1 cho ngắn gọn ..... – JasonSmith

+5

Không có API - bạn sẽ phải HTTP POST và GET chuyển dữ liệu qua lại bằng tay. Tôi đang làm điều đó với một ứng dụng và nó hoạt động tốt, nhưng nó hoạt động nhiều hơn là chỉ kết nối với một API. –

1

Có, rất có thể. Tuy nhiên, bạn sẽ không kết nối trực tiếp với cơ sở dữ liệu GAE. Kiến trúc tốt hơn sẽ làm cho ứng dụng của bạn truy cập URL ghi vào DB. Ví dụ: bạn có thể set up a Struts 2 action lấy giá trị của các tham số truy vấn của bạn và sau đó biến đổi và xác thực chúng khi cần thiết trước khi lưu giữ chúng.

2

số

Trong trả lời của bạn để Laurence, bạn nói bạn muốn có một DB connetion trực tiếp. Máy khách không thể kết nối trực tiếp với kho dữ liệu GAE. Bạn phải viết trình xử lý web để giao tiếp giữa máy khách và dữ liệu của bạn. Nó không phải là nhiều, nhưng nó phải là một cái gì đó.

3

Có, rất nhiều khả năng của nó. Đó là điều tôi hiện đang làm việc.

Mã của tôi sử dụng HTTP GET và HTTP POST và tôi đang sử dụng dịch vụ RESTful trên GAE.

Tôi xin lỗi vì tôi không thể cung cấp bất kỳ mã nào vì tôi vẫn đang học tuy nhiên thư viện tôi đang sử dụng được gọi là RESTLET. Họ có thư viện cho cả GAE và Android tuy nhiên tôi chỉ sử dụng RESTLET trên GAE và tôi chỉ sử dụng thư viện HTTP trong SDK Android cho khách hàng.

http://www.restlet.org/

Phiên bản bạn yêu cầu là 2.0 M6 và không phải là bản phát hành ổn định.

Các vấn đề liên quan