用于Eclipse-.net web服务的BlackBerry Java插件

用于Eclipse-.net web服务的BlackBerry Java插件,blackberry,Blackberry,我有一个接受用户名和密码的web服务,如果登录凭据正确,它将返回用户名、状态、图像和最后已知的gps坐标 至于现在,我被困在“登录”按钮中,应用程序既不会继续,也不会抛出任何错误。模拟器没有产生任何结果,我无法将应用程序加载到我的手机上 package-mypackage; 导入java.io.DataInputStream; 导入java.io.DataOutputStream; 导入java.io.IOException; 导入java.io.OutputStream; 导入java.rmi

我有一个接受用户名和密码的web服务,如果登录凭据正确,它将返回用户名、状态、图像和最后已知的gps坐标

至于现在,我被困在“登录”按钮中,应用程序既不会继续,也不会抛出任何错误。模拟器没有产生任何结果,我无法将应用程序加载到我的手机上

package-mypackage;
导入java.io.DataInputStream;
导入java.io.DataOutputStream;
导入java.io.IOException;
导入java.io.OutputStream;
导入java.rmi.RemoteException;
导入java.util.Hashtable;
导入javacard.framework.UserException;
导入javax.microedition.io.HttpConnection;
导入javax.microedition.location.location;
导入javax.microedition.location.LocationProvider;
导入org.kobjects.base64.base64;
导入org.ksoap2.SoapEnvelope;
导入org.ksoap2.serialization.SoapObject;
导入org.ksoap2.serialization.SoapPrimitive;
导入org.ksoap2.serialization.SoapSerializationEnvelope;
导入org.ksoap2.transport.HttpTransport;
导入org.xmlpull.v1.XmlPullParserException;
导入net.rim.device.api.system.*;
导入net.rim.device.api.ui.*;
导入net.rim.device.api.ui.component.*;
导入net.rim.device.api.ui.component.pane.TitleView;
导入net.rim.device.api.ui.container.*;
导入net.rim.device.api.ui.image.image;
公共类LoginTest扩展了UIC应用程序
{
公共静态void main(字符串[]args)
{
//创建应用程序的新实例
//并在事件线程上启动应用程序。
LoginTest应用程序=新建LoginTest();
app.enterEventDispatcher();
}
公共登录测试()
{
//显示新屏幕。
推屏(新的LoginTestScreen());
}
}
//创建一个新屏幕,扩展MainScreen并提供
//行为与其他应用程序类似。
最终类LoginTestScreen扩展了MainScreen
{
//声明变量供以后使用
私人资讯屏(InfoScreen);;
私有对象选择字段选择字段;
私有int-select;
BasicEditField用户名;
PasswordEditField passwd;
CheckboxField checkBox1;
按钮场登录;
哈希表持久化哈希表;
PersistentObject PersistentObject;
静态最终长键=0x9df9f961bc6d6baL;
//私有静态最终字符串URL=”http://prerel.track24elms.com/Android/T24AndroidLogin.asmx";
字符串strResult;
公共LoginTestScreen()
{
//调用主屏幕构造函数。
超级();
//添加屏幕标题。
setTitle(“Track24ELMS”);
LabelField login=新的LabelField(“ELMS login”,LabelField.FIELD\u HCENTER);
login.setFont(Font.getDefault().derivate(Font.BOLD,30));
login.setMargin(10,0,20,0);//从顶部和底部留出一些空间
HorizontalFieldManager用户=新建HorizontalFieldManager();
user.setMargin(0,0,10,0);
HorizontalFieldManager pass=新建HorizontalFieldManager();
通过设置边距(0,0,20,0);
HorizontalFieldManager复选框=新建HorizontalFieldManager();
复选框.setMargin(0,0,30,0);
HorizontalFieldManager btns=新的HorizontalFieldManager(HorizontalFieldManager.FIELD\u HCENTER);
LabelField usernameTxt=新的LabelField(“用户名:”);
LabelField passwordTxt=新LabelField(“密码:”);
用户名=新的BasicEditField();
passwd=new PasswordEditField();
loginBtn=新建按钮字段(“登录”,按钮字段。点击);
//btn.setChangeListener(新视图侦听器);
//checkBox1=新的CheckboxField(“记住我”,false,Field.FOCUSABLE);
checkBox1=新的CheckboxField(“记住我”,false);
user.add(usernameTxt);
user.add(用户名);
pass.add(passwordTxt);
pass.add(passwd);
//复选框。添加(复选框1);
btns.add(loginBtn);
添加(登录);
添加(用户);
添加(通过);
添加(复选框1);
添加(BTN);
//loginBtn.setChangeListener(BTNLListener);
}
公共void saveChecked(){
persistenthastable.put(“,username.getText());
persistenthastable.put(“,passwd.getText());
persistentHashtable.put(“BoolData”,新布尔值(checkBox1.getChecked());
persistentObject.commit();
}
FieldChangeListener btnlistener=新的FieldChangeListener(){
公共无效字段已更改(字段,int上下文){
//打开一个新屏幕
字符串uname=username.getText();
字符串pwd=passwd.getText();
//如果没有输入
如果(uname.length()==0 | | pwd.length()==0){
alert(“其中一个文本字段为空!”);
}否则{
最终字符串方法\u NAME=“ValidateCredentials”;
最终字符串名称空间=”http://tempuri.org/";
最后一个字符串SOAP\u ACTION=NAMESPACE+METHOD\u NAME;
最终字符串URL=”http://prerel.track24elms.com/Android/T24AndroidLogin.asmx";
SoapObject resultRequestSOAP=null;
HttpConnection httpConn=null;
http传输httpt;
System.out.println(“用户名”+uname+“密码”+pwd);
SoapObject请求=新的SoapObject(名称空间、方法名称);
//字符串usernamecode=Base64.encode(username.getBytes());
//字符串pwdEncodeString=Base64.encode(passwd.getBytes());
request.addProperty(“Username”、“abc”);//第一个参数是web服务提供的标记名
addProperty(“密码”、“xyz”);
System.out.println(“请求为===”+请求.toString());
SoapSerializationEnvelope=新的SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut=请求;
envelope.dotNet=true;
envelope.encodingStyle=SoapSerializationEnvelope.XSD;
envelope.setOutputSoapObject(请求);
System.out.println(“信封的值为++++”+信封.toString());
/*URL+在这里您可以添加参数,这样您就可以在设备simulat上运行