android/eclipseからsoapメソッドでWebサービスを利用する必要があります。
つまり、ユーザーの入力に従って、入力を行い、Webサービスから適切な結果を表示する必要があります。これを行うにはどうすればよいですか?
javaクラス
public class Demo_webserviceActivity extends Activity
{
/** Called when the activity is first created. */
private static String NAMESPACE = "http://tempuri.org/";
private static String METHOD_NAME = "GetName";
private static String SOAP_ACTION = "http://tempuri.org/GetName";
private static String URL = "http://122.248.240.105:234/Service1.asmx";
Button btnFar;
EditText txtFar,txtCel;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnFar = (Button)findViewById(R.id.btnFar);
txtFar = (EditText)findViewById(R.id.txtFar);
txtCel = (EditText)findViewById(R.id.txtCel);
btnFar.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
//Initialize soap request + add parameters
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
//Use this to add parameters
request.addProperty("Fahrenheit",txtFar.getText().toString());
//Declare the version of the SOAP request
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
envelope.dotNet = true;
try
{
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
//this is the actual part that will call the webservice
androidHttpTransport.call(SOAP_ACTION, envelope);
// Get the SoapResult from the envelope body.
SoapObject result = (SoapObject)envelope.bodyIn;
if(result != null)
{
//Get the first property and change the label text
txtCel.setText(result.getProperty(0).toString());
}
else
{
Toast.makeText(getApplicationContext(), "No Response",Toast.LENGTH_SHORT).show();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
});
}
}
ウェブメソッド
public class GetName
{
public String GetName(String Fahrenheit){
return(Fahrenheit);
}
}
logcat
06-12 17:40:00.322: W/InputManagerService(59): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@44f60478 (uid=10040 pid=345)
06-12 17:40:00.352: W/IInputConnectionWrapper(345): showStatusIcon on inactive InputConnection
06-12 17:40:07.292: D/AndroidRuntime(352): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
06-12 17:40:07.292: D/AndroidRuntime(352): CheckJNI is ON
06-12 17:40:07.477: D/AndroidRuntime(352): --- registering native functions ---
06-12 17:40:08.062: D/AndroidRuntime(352): Shutting down VM
06-12 17:40:08.062: D/dalvikvm(352): Debugger has detached; object registry had 1 entries
06-12 17:40:08.102: I/AndroidRuntime(352): NOTE: attach of thread 'Binder Thread #3' failed
06-12 17:40:08.502: D/AndroidRuntime(360): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
06-12 17:40:08.502: D/AndroidRuntime(360): CheckJNI is ON
06-12 17:40:08.633: D/AndroidRuntime(360): --- registering native functions ---
06-12 17:40:09.152: I/ActivityManager(59): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.demo.webser/.Demo_webserviceActivity }
06-12 17:40:09.222: D/AndroidRuntime(360): Shutting down VM
06-12 17:40:09.222: D/dalvikvm(360): Debugger has detached; object registry had 1 entries
06-12 17:40:09.252: I/AndroidRuntime(360): NOTE: attach of thread 'Binder Thread #3' failed
どうもありがとう