2011-11-10 28 views
7

Tôi đang cố gắng tạo một ứng dụng trên thiết bị Android sẽ điều khiển ứng dụng trên máy tính bảng iPad hoặc Android. (Tôi đang thử nghiệm với Samsung Galaxy S2 và iPad 2).Biến thiết bị di động thành điều khiển từ xa cho máy tính bảng?

Ứng dụng này khá đơn giản ngay bây giờ. Khi người ta chọn một màu trên điện thoại di động Android, màu đó sẽ hiển thị trên thiết bị máy tính bảng.

Câu hỏi là, cách kết nối hai thiết bị. Chỉ cần bây giờ tôi đã xác minh rằng tôi có thể ghép nối hai thiết bị bằng cách sử dụng Bluetooth. Ngoài ra, Samsung còn có tính năng Wifi trực tiếp "Kies" (mà tôi không hiểu đầy đủ), cho phép iPad kết nối với Galaxy như một điểm truy cập wifi.

Các kết nối có ở đó, nhưng tôi không biết liệu một trong hai giao thức có thể được sử dụng để thực sự làm cho các ứng dụng trò chuyện với nhau để có được sự kiểm soát mà tôi đang tìm kiếm hay không.

Tôi có nên sử dụng Bluetooth, Wifi hoặc cái gì khác không?

Và trong trường hợp nào, làm cách nào?

+0

Bạn có muốn kết nối trực tiếp giữa hai thiết bị trong tình huống mạng wifi không tồn tại hoặc kết nối gián tiếp không? I E. cả hai bạn có thể được kết nối với cùng một wifi (tương tự như cách hoạt động của remote boxee) nếu bạn muốn có kết nối gián tiếp. Hoặc như bạn đã đề cập đến việc ghép nối, đó sẽ là trực tiếp. Các thiết bị có cùng một hệ điều hành hoặc hệ điều hành có thể bị trộn lẫn không? I E. iPhone và Android Tablet hoặc ngược lại? – onaclov2000

Trả lời

7

Ý kiến ​​của tôi là bạn không nên dính quá nhiều vào môi trường vật lý được sử dụng để kết nối hoặc là WiFi hoặc Bluetooth. Bạn nên trừu tượng khía cạnh này, trong cả hai trường hợp bạn sẽ sử dụng ổ cắm (tôi đang nói về Android), nếu đó là Bluetooth, bạn sẽ sử dụng Bluetooth Sockets, nếu đó là WiFi: TCP socket. Bạn có thể có một lớp trung gian tóm tắt loại kết nối và thông qua một nhà máy để sử dụng Bluetooth hoặc TCP.

Bluetooth - http://developer.android.com/guide/topics/wireless/bluetooth.html

Đối với WiFi bạn nên nghiên cứu nếu P2P có thể trợ giúp.

Bạn sẽ cần hai ứng dụng: - một trên máy tính bảng - máy chủ lắng nghe lệnh từ máy khách (thay đổi màu, thực hiện việc này hoặc điều này) - thứ hai trên điện thoại thông minh - ứng dụng khách gửi lệnh.

5

Tôi đã xây dựng một số ứng dụng thực hiện chính xác điều đó giữa iPhone và iPad. Nhưng nguyên tắc thì giống nhau. Tôi đã sử dụng mạng Bonjour. Nó chỉ là một cái tên lạ mắt cho mạng ZeroConfig giữa các thiết bị. Nó được viết ban đầu bởi Apple nhưng nó là nguồn mở vì vậy cần có sự hỗ trợ của Android trên mạng cho nó. Thực sự đơn giản và dễ làm việc.

4

Nếu bạn đã có kết nối đang hoạt động thì bạn đã có nửa câu trả lời đầu tiên, bạn nên cân nhắc triển khai giải pháp sử dụng nhiều loại kết nối, WIFI, Bluetooth, v.v. bạn thực sự hỏi là làm thế nào để truyền dữ liệu và thông điệp giữa các ứng dụng khi bạn có kết nối.

Có rất nhiều cách để thực hiện việc này. Bạn có thể triển khai hệ thống truyền thông điệp nhẹ của riêng mình. Nếu bạn chưa làm điều này trước khi nó phức tạp hơn ban đầu, đặc biệt khi bạn được yêu cầu triển khai hệ thống cho từng hệ điều hành mà bạn sử dụng.

1

Tôi có nên sử dụng Bluetooth, Wifi hoặc cái gì khác không?

Nó phụ thuộc vào những tình huống bạn muốn chương trình của bạn để làm việc.

Bluetooth có thể cung cấp một kết nối trực tiếp giữa các thiết bị của bạn. Một vấn đề tiềm tàng với bluetooth là nó có phạm vi giới hạn. Nếu bạn là thiết bị cần phải xa nhau, bạn có thể muốn đi với wifi. Nếu không, bluetooth có thể hoạt động tốt.

Nếu cả hai thiết bị được kết nối với internet, bạn có thể làm cho chúng nói chuyện với nhau thông qua đó. Ưu điểm của phương pháp này là không quan trọng cách xa các thiết bị của bạn miễn là chúng đều trực tuyến. Một bất lợi là bạn sẽ phải tìm ra cách để tìm địa chỉ IP của máy tính bảng trước khi bạn có thể nói chuyện với nó. Điều này thực sự là một bất lợi HUGE bởi vì nó có thể khá vấn đề nếu cả hai thiết bị của bạn không có trên cùng một wifi. Bạn có thể có loại người dùng trong địa chỉ ip đích, nhưng bạn sẽ gặp phải các vấn đề khiến nó hoạt động nếu người dùng ở phía sau một bộ định tuyến (hầu như luôn luôn như vậy). Vấn đề là, nó bị lông.

Nếu cả hai thiết bị của bạn ở cùng một wifi, bạn có thể sử dụng ZeroConf AKA bonjour (như Dancreek đã nói) để tìm ra địa chỉ ip nào bạn cần gửi thông tin. Trước đây tôi đã sử dụng một thư viện có tên là jmdns (dễ tìm với google) để triển khai mạng cấu hình không. Nó là tốt bởi vì người dùng không phải lo lắng về địa chỉ ip ... nó trực quan cho người dùng.

Và trong trường hợp nào, làm cách nào?

Mạng là một chủ đề khá lớn, vì vậy tôi không thể mở rộng câu hỏi này nhiều. Câu trả lời ngắn gọn là, nó phụ thuộc vào phương pháp bạn chọn. Tìm kiếm một số hướng dẫn và bắt đầu bằng cách nhận một trong các thiết bị của bạn để gửi một cái gì đó đơn giản như một int cho người khác.

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