시나리오 :안드로이드 WindowsMobile 대 WebService에
- 은 내가
Eclipse
와Android
에 대한 응용 프로그램을 개발하고Vb.net
2005 - 으로,
Windows Mobile
에 대한 응용 프로그램을 개발하고있다.
두 앱 모두 동일한 로직을 사용합니다. 두 앱 모두 동일한 웹 서비스를 사용합니다.
서버가 Windows Server 2003
에서 실행 중이고 서비스 응용 프로그램이 VB.net 2005
을 사용하여 배포되었습니다.
테스트 : Android
와
- 삼성 갤럭시 S2.
- 누군가 중국산
Windows Mobile
기기입니다.
같은 웹 서비스 호출을 취
Android
시간 : 3 분 44초.Windows Mobile
시간 : 0 분 54 초.
시간은 시계를 사용하여 계산되었으며 사용자를 나타냅니다.
차이 :
Windows Mobile
는 보내고 datatables를 수신한다.Windows Mobile
(5 개 사진 각 30KB)Android
는 보내고JSON
(5 개 사진 각 30KB)
Android
는 Base64로 순차로 사진을 전송한다 (데이터 테이블은 JSON
로 전환된다)를 수신 Base64로 순차로 사진을 전송 왜 시간이 이렇게 다른가요? 당신이 ksoap2 - 안드로이드 사용하는 스 니펫 코드에서 판단
공용 클래스 Func_WebService {
private static int Ksoap_timeout = 40000;
private static String NAMESPACE = "http://tempuri.org/";
private static String URL="http://XXX.137.xxx.79/Sincro_test_android/Service1.asmx";
private static SoapObject request=null;
private static SoapSerializationEnvelope envelope=null;
private static SoapPrimitive resultsRequestSOAP=null;
public static String PRIMERLOGGIN(String Usuario,String Contrasena,String Emei){
final String METHOD_NAME = "PRIMERLOGGIN";
final String SOAP_ACTION ="http://tempuri.org/PRIMERLOGGIN";
request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("user", Variables.Usuario);
request.addProperty("pass", Variables.Contrasena);
request.addProperty("X", Variables.Emei);
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true; //se asigna true para el caso de que el WS sea de dotNet
envelope.setOutputSoapObject(request);
HttpTransportSE transporte = new HttpTransportSE(URL);
try {
transporte.call(SOAP_ACTION, envelope);
resultsRequestSOAP = (SoapPrimitive)envelope.getResponse();
return resultsRequestSOAP.toString() ;
}
catch (Exception e) {
return Estados_Sincro.Error_coneccion;
}
}
작동합니다. 나는 분명히 json을위한 웹 서비스 메소드를 채택했다. 그러나 서비스 방법은 동일한 논리를가집니다. – AAP