私はAndroidアプリケーションでksoap2を介してmysqlデータベースに接続する開発を試みました.soはdisサイトと呼ばれています:
http://codeoncloud.blogspot.in/2012/03/android-mysql-client.html
アプリケーションで「02-28 06:16:40.267: DEBUG/SntpClient(66): request time failed: java.net.SocketException: Address family not supported by protocol」を繰り返し取得しています。
Disは私のAndroidコーディングです:
package com.retailer.client;
import android.app.Activity;
import android.os.Bundle;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope ;
import org.ksoap2.transport.HttpTransportSE;
import android.widget.TextView;
public class RetailerActivity extends Activity {
private static final String SOAP_ACTION = "retailer.com";
private static final String METHOD_NAME = "customerData";
private static final String NAMESPACE = "retailer.com";
private static final String URL = "http://192.168.1.249:8085/Retailer/services/RetailerWS?wsdl";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE ht = new HttpTransportSE(URL);
try {
ht.call(SOAP_ACTION, envelope);
SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
SoapPrimitive s = response;
String str = s.toString();
String resultArr[] = str.split("&");//Result string will split & store in an array
TextView tv = new TextView(this);
for(int i = 0; i<resultArr.length;i++){
tv.append(resultArr[i]+"\n\n");
}
setContentView(tv);
} catch (Exception e) {
e.printStackTrace();
}
}
}
マニフェスト ファイルにもインターネット アクセス許可を追加しました。
次に、なぜ空白の画面がエミュレーターにのみ表示されるのか..サイト所有者の WSDL リンクを配置すると、それが機能することを意味します...しかし、URL を配置すると、それが機能しないことを意味します..しかし、サイト所有者の WSDL ファイルと私の WSDLファイルは両方とも同じです..両方のファイルをチェックしました.その後、y disエラーdisがここに来ました.私を案内してください...