2010-03-25 50 views
5

Android có tính năng đẩy Gmail, có nghĩa là thư mới đến trong hộp thư mà không cần kiểm tra hoặc làm mới hộp thư.Gmail Sync trên điện thoại Android

Theo tôi được biết, các quá trình đồng bộ hóa là như thế này:
1) tài bật đồng bộ
2) Sẽ có một msg tỉnh táo và lá cờ đồng bộ trong Gmail DB của thiết bị này sẽ được True
3) Khi email mới đến được Máy chủ Gmail, email sẽ kiểm tra xem giá trị đồng bộ hóa của thiết bị có đúng không, sau đó gửi email

OK, tại đây, tôi hoàn toàn không hiểu chính xác nó hoạt động như thế nào,
kết nối Wi-Fi và tín hiệu di động, điện thoại có mở ổ cắm TCP không tiếp tục nghe Máy chủ Gmail hay khi một email mới đến Máy chủ và nó gửi cảnh báo SMS đến điện thoại và điện thoại sẽ mở kênh dữ liệu để tìm nạp email? Hai cách kết nối có cách tiếp cận khác nhau không?

Và câu hỏi thứ hai là phương pháp nào là ưu tiên?
Giả sử khi bạn đang ở giữa nhận dữ liệu (email) và đột nhiên điện thoại kết nối với mạng không dây, ổ cắm dữ liệu có được đóng lại và sau đó mở lại cho mạng WiFi không? Hành vi của vụ việc khi kênh dữ liệu và sóng Wi-Fi của nhà cung cấp dịch vụ di động là gì?

Tôi cũng đã tải xuống mã nguồn, bất kỳ ai cũng biết phần nào tôi nên xem xét để giải quyết các câu hỏi của mình? Tôi tìm thấy một thư mục có tên "email" bên trong thư mục "gói", tôi có nên xem mã của nó không?

Tôi biết tôi đã hỏi khá nhiều câu hỏi ở đây, tôi rất cảm kích nếu bạn biết câu trả lời cho bất kỳ câu hỏi nào, cảm ơn rất nhiều!

+0

Hãy nhớ rằng ứng dụng khách Gmail không phải là nguồn mở. Nó không có trong mã bạn đã tải xuống. – CommonsWare

Trả lời

6

Về mặt kỹ thuật này không phải là một phần của Android, mà là bộ ứng dụng độc quyền của Google chạy trên Android. Nó cũng không thực sự được triển khai trong Gmail - các ứng dụng của google có kết nối dữ liệu đẩy với các máy chủ của google (được xây dựng trên giao thức dữ liệu gtalk, nhưng chủ yếu vì lý do lịch sử) mà chúng chia sẻ. Khi có sẵn thư mới, kết nối đẩy được sử dụng để gửi "tickle" tới thiết bị để nói rằng có điều gì đó đã thay đổi trong thư và trên thiết bị này sau đó được gửi đến ứng dụng gmail mở ra kết nối socket mới với máy chủ của nó để đồng bộ hóa trạng thái địa phương với bất kỳ thay đổi nào đã xảy ra. Cơ chế tương tự này được sử dụng cho danh bạ và đồng bộ hóa lịch, cũng như những thứ như instigating tải xuống từ thị trường.

Cách hoạt động này là chi tiết triển khai, nhưng hiện tại nó được thực hiện bằng cách giữ kết nối ổ cắm mở. Trên mạng không thể thực hiện thoại và dữ liệu, kết nối sẽ bị ngắt khi cuộc gọi thoại diễn ra. Khi chuyển đổi giữa wifi và ô, kết nối sẽ bị ngắt và khởi động lại. Lưu ý rằng việc thực hiện các thông báo đẩy theo cách này là khá nhiều tài nguyên trên thiết bị, đó là lý do tại sao điều này đã được thiết kế cẩn thận để cho phép một ví dụ như vậy hỗ trợ tất cả các dịch vụ của Google.

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