我遇到了让教程在设备上工作的问题
它在模拟器中运行良好,但是当我尝试在设备上运行它时它不起作用。
我放了一些日志,似乎来自登录功能
===JASONROGERS292C 2480 supAdmin s3pAdmin
[0.0] TAC:TAI.handleRegRsp : ALREADY_REGISTERED
[0.0] TAC:TAI.handleRegRsp : (ALREADY_REGISTERED), registered entry found:{{APN=,id=2,state=CLOSED,waf=WAF[0.0] _3GPP,keepAlive=300,IP=0.0.0.0,dnsSrv=0.0.0.0}}
[0.0] [TMM.TunnelAllocator]:runNotReadyListeners: registered listeners found
[0.0] TAC:TAI.handleListenerDeRegRsp: not existent tunnel in TAC, tid=2
[0.0] SIM cache not loaded
有没有人知道我在设备上运行代码时忘了做什么?
干杯 杰森
编辑:
我正在做的几个链接(我可以发布人们想要的所有代码,但它的标准生成代码形式SUP,这意味着很多代码大声笑)
教程 http://infocenter.sybase.com/help/topic/com.sybase.infocenter.dc01214.0200/doc/html/title.html
已完成教程的zip: http://www.sdn.sap.com/irj/bpx/index?rid=/webcontent/uuid/40ea4956-b95c-2e10-11b3-e68c73b2280e
解决方案: 我错过了几件事: 1)指定应用程序应使用Wifi
SUP101DB.getSynchronizationProfile().setString("transport", "WIFI");
2)检查DNS:在我的情况下服务器是我的Windows本地(通过parallels)所以我必须指定ip而不是命名空间
getSynchronizationProfile().setServerName("10.50.30.108");//"JASONSERVER");
答案 0 :(得分:2)
我下载了SUP 101 - BlackBerry Project并检查了来源。
它不包含通常的BB应用程序形式的网络代码。
但是我看到SUP101.SUP101DB
类有以下方法:
private static String getSyncTransportSuffix() {
com.sybase.persistence.ConnectionProfile syncProfile =
getSynchronizationProfile();
return com.sybase.afx.util.NetworkUtil.getTransportUrlSuffix(syncProfile);
}
因此代码使用com.sybase.afx.util.NetworkUtil
来获取url后缀。通过将这样的后缀附加到url,我们向底层BB API说要使用什么网络传输。不幸的来源不包含com.sybase.afx.util.NetworkUtil
来查看它是如何工作的。
我应该说,即使使用本机Java BB开发,检测到正确的网络传输也可能变得非常棘手。 OS 5+提供了一个更好的新网络API,但对于较旧的操作系统来说,它很难。此SUP项目使用BlackBerry JRE 4.6.1构建,因此无法使用新的OS 5+网络API。谁知道也许SUP根本无法检测到正确的网络传输?
任何方式,只需要尝试一些想法: