(從SymmetricDS論壇X-POST)SymmetricDS Android的演示都註冊,但不同步
你有使用SymmetricDS 3.8同步與演示根節點的Android應用程序的工作的例子嗎?我已經通過了兩個JumpMind的例子,並且兩個都使用ECONNREFUSED對localhost:31415失敗。
即使他們知道如何在不同的機器上註冊根節點,他們也會嘗試在本地主機上同步它。
下面是如何構建和(不成功)運行兩個現有樣本的演練。
示例1:
Jumpmind's original demo from 2012使用記事本應用程序,和許多的步驟假定你在Eclipse中運行,並有自己的專業版。有幾個箍環可以讓它在具有免費版本的SymmetricDS的現代Android Studio中編譯。
- Studio中,新建項目 - >導入從
Android/Sdk/samples/android-23/legacy/NotePad
- 做一個測試編譯和運行,以確保這個前綴
- download and extract sample 2得到庫
- 提取庫到記事本/應用/庫/
編輯你的Gradle應用規則,添加編譯依賴,因此:
dependencies { compile fileTree(dir: 'libs', include: '*.jar') }
- 同步的gradle
- 從教程推薦的代碼粘貼到秒 OnCreate中在NotePadProvider.java。(第一個是在
static class DatabaseHelper
) - 修改REGISTRATION_URL指向您根節點
- 修改適當的NODE_GROUP_ID。如果你使用的是演示服務器,這應該是「存儲」。
- 我使用了外部ID「android-003」,因爲這就是樣本#2中使用的。
不要忘記打開您的外部ID註冊。像
symadmin東西--properties corp-000.properties開放註冊商店下載Android-003
觀察logcat的失敗
Building transport url: http://localhost:31415/sync/corp-000/push?nodeId=android-003&securityToken=88b79dcc9617099aec015ae5ed800b&hostName=localhost&ipAddress=10.0.2.15 Could not communicate with node 'corp:000:000' at http://localhost:31415/sync/corp-000 because of unexpected error org.jumpmind.exception.IoException: java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 31415) after 20000ms: isConnected failed: ECONNREFUSED
示例2:
Jumpmind's newer sample包含對文件同步的支持,我不支持現在關心。但它應該可以直接用於演示節點corp-000。至少對我而言,事實並非如此。
下面是你必須做的:在本教程
- download the source
- 修改REGISTRATION_URL(使用開發機的非本地主機IP地址)
- 修改清單要運行該應用程序將失敗,
INSTALL_FAILED_CONFLICTING_PROVIDER
,我不得不將更改清單中定義的提供程序爲com.jumpmind.syncds3.DbProvider
,因爲默認Android圖像上已經有一個應用程序使用提供程序com.google.provider.NotePad
。 - 在服務器/根節點上的android-003的公開註冊
- 通過查看服務器的sym_node_security表來確認註冊。
- 有趣的是,該行沒有initial_load_time,並且沒有顯示同步的跡象。
- 回到您的Android應用程序,觀察嘗試與本地主機上的corp-000節點同步的logcat相同的錯誤。