In Java, we use System.out or System.err.println() to show messages in the console. However, these don’t work in Android. These methods do not produce errors on compilation and does nothing during runtime. Chris Glover made this nifty class to actually be able to use System.out and System.err in your programming needs.

package ***;


import android.util.Log;

public class LogTool extends OutputStream {
  private ByteArrayOutputStream bos = new ByteArrayOutputStream();
  private String name;
  public LogTool(String name)   { = name;
  public void write(int b) throws IOException {
    if (b == (int)'\n') {
  String s = new String(this.bos.toByteArray());
  Log.v(, s);
  this.bos = new ByteArrayOutputStream();
    } else {

At the startup of your code, use these lines

System.setErr(new PrintStream(new LogTool("System.err")));
System.setOut(new PrintStream(new LogTool("System.out")));

Then you can use System.out and System.err.println(). If you want to convert Exception messages generated from the printStackTrace() method of Exception classes, use this Exception to String method converter that I have.

public static String getExceptionStackTraceAsString(Exception exception) {
  StringWriter sw = new StringWriter();
  exception.printStackTrace(new PrintWriter(sw));
  return sw.toString();

GoDaddy is a hosting provider. You can either apply for a shared hosting or a dedicated server. Shared hosting means your hosting account is shared inside a server with all other customers. At least this is how I see it. A dedicated server meanwhile is like having your own server where you have total control over it. You can only access it remotely as the server itself does not have a physicality. Whatever you do with your server, just connect to it remotely. They also have this policy that since you are your own administrator, they won’t install things for you unless you apply for their maintenance fee. I encountered a problem with them before, took a lot of email exchanges before they finally gave me a good answer. If you need to add windows components like network services and others, you would need an OS installer for the components to be installed. They actually have an i386 folder in drive C in case you want to install or uninstall components. I was thinking of connecting my remote desktop application to my dvd-rom drive and install it from there but it was a good thing that GoDaddy placed that i386 folder in case we need something. Took probably 5 customer service agents exchanging emails till the last one gave me that tip, which solved my problem

Currently Google’s Android is under version m5 rc15. Instead of dabbling on converting all my java applet games to possibly android’s format, I focused on checking if Android is capable of calling web services or not. The answer is no. Android’s API doesn’t contain classes that support this capability.

However, a 3rd party library called KSoap2 is available for use. From their sourceforge website, “kSOAP is a SOAP web service client library for constrained Java environments such as Applets or J2ME applications (CLDC / CDC / MIDP)”. And how lucky that Android uses Java as its developmental language.

I am not sure if it is possible to build an Android application and call a remote web service by compiling it using a builder app like Ant. Most posts in the mailing list do cover making it work using the Eclipse IDE, as does most of Android’s tutorial focuses on.

I kept swarming the net looking for possible ways and solutions with using just Ant and not an IDE as i abhor using it. In the end, I had no choice but to use Eclipse to be able to at least verify that the sample code and solution provided by someone in the mailing list does indeed work.

Download the KSoap2 library. Extract the jar file library and add it in your Eclipse project. Create a lib folder and import the jar file there. Next, right click the project name and select properties. Under the Java Build Path, add the KSoap2 jar so that it will be included in the classpath during compilation and deployment. Click OK.

The following 2 files are needed for web service communication

The Android app code is pretty self explanatory. Just fill in the your values to the pre-defined variables. The request.addProperty() method is where you place your parameters in case the webservice method you want to call needs parameters supplied to it.

Requests will still be passed as XML. I hope this can help those who would want their Android apps to call webservices. I pretty had was stuck with this for probably a week browsing through the web, mailing lists or anything that I could come upon that would give me a hint as to how to make this work.

These codes were from someone in a mailing list who posted a solution. But I modified parts of it because they didn’t work in my case. Hit the run in the RUN menu of Eclipse to deploy your Android app. If you wish to see the System.out.println() messages in the console, run logcat. You won’t see those messages in the Eclipse console.

Related Posts Plugin for WordPress, Blogger...