2010-08-16 55 views
12

Tôi hiện đang phát triển một ứng dụng Field-Service lưu trữ dữ liệu trong cơ sở dữ liệu sqlite cục bộ trên thiết bị Android. Tại một số điểm, thường là sau khi hoàn thành các vòng thu thập dữ liệu, db sqlite cục bộ sẽ được đồng bộ hóa với một máy chủ sql từ xa trên máy chủ, cũng như tôi cần cập nhật một số bảng cục bộ từ máy chủ sql db.kết nối với máy chủ sql từ android

Bất kỳ đề xuất nào về cách thức này có thể đạt được hoặc được thiết kế như một giải pháp? Hoặc thậm chí tốt hơn, có lựa chọn thay thế để đồng bộ hóa dữ liệu trong một ứng dụng như vậy?

+0

Ngay cả khi đang thực hiện cùng một dự án, hãy cho tôi biết nếu bạn nhận được Mã làm việc – VenomVendor

Trả lời

18

Tôi nghĩ rằng tốt nhất là sử dụng trung gian như dịch vụ web hoặc lớp logic dựa trên TCP của riêng bạn cho ứng dụng sẽ kết nối với máy chủ SQL và thực hiện các yêu cầu của ứng dụng của bạn. Đừng cố gắng kết nối với máy chủ SQL của bạn trực tiếp từ Android. Bạn có thể viết một số mã phụ trợ trên máy chủ của bạn (hoặc webservice) và sau đó gọi các phương thức mã đó từ thiết bị Android của bạn bằng cách sử dụng Http.

Và cũng có rất nhiều chủ đề trong stackoverflow như bạn:

Về cách viết các dịch vụ web. Đó là một câu hỏi lớn, và bạn phải chọn công nghệ, có rất nhiều thư viện, khung công tác và nền tảng giúp bạn chỉ cần viết một dịch vụ web. Bạn phải chọn giao thức giao tiếp, nó có thể là SOAP, WSDL hoặc có thể loại bỏ thủ tục gọi điện thoại, nó có thể là ứng dụng còn lại. Nếu bạn sử dụng java chồng, có một số khuôn khổ phổ biến tại thời điểm này:

Bạn có thể bắt đầu từ việc đọc những gì một dịch vụ web là:

Ngoài ra một số liên kết mà cung cấp ví dụ về việc tiếp cận các dịch vụ web từ android:

+1

Không chắc chắn OP đang tìm kiếm gì, nhưng tôi đã hy vọng một số lời khuyên về cách kiến ​​trúc sư một dự án tương tự. Tôi đã thử sử dụng SOAP nhưng tôi không thể nhận được phân tích cú pháp XML để làm việc trong khung android? Tất cả các thư viện tôi đã cố gắng sử dụng đều không sử dụng hoặc phụ thuộc vào những thứ tôi không thể nhập. – Yamikuronue

+0

@Yamikuronue IMHO SOAP quá chậm. Tôi đang sử dụng thành công [Apache Thrift] (http://thrift.apache.org/) trong một dự án đồng bộ hóa từ xa PostgreSQL từ PostgreSQL của Android SQLite và hoạt động như một sự quyến rũ. – m0skit0

0

Bạn sẽ phải giữ một lớp giữa máy chủ trực tuyến. Mà có thể giao tiếp và fro giữa các ứng dụng của bạn và MSSQL db.May được servlet hoặc một xử lý yêu cầu mà đồng bộ hóa được tween SQLite và SQL Server db.

0

Cách tiếp cận khác dễ dàng hơn là sử dụng Trình điều khiển JDBC ảo dựa trên kiến ​​trúc ba tầng bảo mật: mã JDBC của bạn được gửi qua HTTP tới Servlet từ xa để lọc mã JDBC (bảo mật cấu hình &) trước khi chuyển vào trình điều khiển JDBC MySql. Kết quả được gửi lại cho bạn thông qua HTTP.

Có một số phần mềm miễn phí sử dụng kỹ thuật này. Chỉ Google "Trình điều khiển JDBC Android trên HTTP".

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