|
|
(Chilkat for Android™ API) Send XMLHttpRequest using PUT, GET, DELETE, or any HTTP Request Method
The PostXml method is the easiest way to send an XMLHttpRequest using the POST HTTP verb (which is by far the most common). To use a different HTTP request method (such as PUT, GET, DELETE, etc.), the SynchronousRequest method should be called. It provides more flexibility in constructing the exact HTTP request desired.
Download: Chilkat for Android™ Java Libraries
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;
import android.app.Activity;
import com.chilkatsoft.*;
import android.widget.TextView;
import android.os.Bundle;
public class SimpleActivity extends Activity {
// Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
String outStr = "";
CkHttp http = new CkHttp();
boolean success;
// Any string unlocks the component for the 1st 30-days.
success = http.UnlockComponent("Anything for 30-day trial");
if (success != true) {
outStr += http.lastErrorText() + "\n";
tv.setText(outStr);
setContentView(tv);
return;
}
// The XML sent in the body of the request is application
// specified -- it should contain whatever the server-side
// application is expecting..
String xmlStr;
xmlStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><appXml><something>123</something></appXml>";
// If the service endpoint is "http://www.chilkatsoft.com/xmlEcho.asp",
// then we have the following arguments to be passed to
// SynchronousRequest:
String endpointDomain;
endpointDomain = "www.chilkatsoft.com";
int endpointPort;
endpointPort = 80;
boolean endpointSsl;
endpointSsl = false;
// Prepare the HTTP request object:
CkHttpRequest request = new CkHttpRequest();
request.put_Path("/xmlEcho.asp");
// This example will use the "PUT" HTTP request method
// (also known as HTTP verb)
request.put_HttpVerb("PUT");
request.put_ContentType("text/xml");
request.put_Charset("utf-8");
request.LoadBodyFromString(xmlStr,"utf-8");
CkHttpResponse response;
response = http.SynchronousRequest(endpointDomain,endpointPort,endpointSsl,request);
if (response == null ) {
outStr += http.lastErrorText() + "\n";
tv.setText(outStr);
setContentView(tv);
return;
}
// The raw HTTP request sent by the above call is:
//
PUT /xmlEcho.asp HTTP/1.1
Content-Type: text/xml
Host: www.chilkatsoft.com
Content-Length: 81
<?xml version="1.0" encoding="UTF-8"?><appXml><something>123</something></appXml>
// Examine the Body of the HTTP response
// This would be the XML response sent by the server.
outStr += response.bodyStr() + "\n";
tv.setText(outStr);
setContentView(tv);
}
static {
// Important: Make sure the name passed to loadLibrary matches the shared library
// found in your project's libs/armeabi directory.
// for "libchilkat.so", pass "chilkat" to loadLibrary
// for "libchilkatemail.so", pass "chilkatemail" to loadLibrary
// etc.
//
System.loadLibrary("chilkat");
// Note: If the incorrect library name is passed to System.loadLibrary,
// then you will see the following error message at application startup:
//"The application <your-application-name> has stopped unexpectedly. Please try again."
}
}
|