Problema em acessar uma Servlet pelo Android

Galera estou iniciando com android

Eu estou com problema em acessar uma Servlet pelo android, sempre lança a seguinte exception

04-03 20:32:15.796: W/System.err(275): org.apache.http.conn.HttpHostConnectException: Connection to http://localhost:8080 refused
04-03 20:32:15.826: W/System.err(275): 	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:178)
04-03 20:32:15.826: W/System.err(275): 	at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
04-03 20:32:15.836: W/System.err(275): 	at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
04-03 20:32:15.836: W/System.err(275): 	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
04-03 20:32:15.836: W/System.err(275): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
04-03 20:32:15.836: W/System.err(275): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
04-03 20:32:15.836: W/System.err(275): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
04-03 20:32:15.836: W/System.err(275): 	at br.com.teste.TesteAndroidActivity.onCreate(TesteAndroidActivity.java:39)
04-03 20:32:15.846: W/System.err(275): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-03 20:32:15.846: W/System.err(275): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
04-03 20:32:15.846: W/System.err(275): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
04-03 20:32:15.846: W/System.err(275): 	at android.app.ActivityThread.access$2300(ActivityThread.java:125)
04-03 20:32:15.846: W/System.err(275): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
04-03 20:32:15.856: W/System.err(275): 	at android.os.Handler.dispatchMessage(Handler.java:99)
04-03 20:32:15.856: W/System.err(275): 	at android.os.Looper.loop(Looper.java:123)
04-03 20:32:15.866: W/System.err(275): 	at android.app.ActivityThread.main(ActivityThread.java:4627)
04-03 20:32:15.866: W/System.err(275): 	at java.lang.reflect.Method.invokeNative(Native Method)
04-03 20:32:15.866: W/System.err(275): 	at java.lang.reflect.Method.invoke(Method.java:521)
04-03 20:32:15.866: W/System.err(275): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-03 20:32:15.876: W/System.err(275): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-03 20:32:15.876: W/System.err(275): 	at dalvik.system.NativeStart.main(Native Method)
04-03 20:32:15.876: W/System.err(275): Caused by: java.net.ConnectException: /127.0.0.1:8080 - Connection refused
04-03 20:32:15.896: W/System.err(275): 	at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:254)
04-03 20:32:15.896: W/System.err(275): 	at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:533)
04-03 20:32:15.896: W/System.err(275): 	at java.net.Socket.connect(Socket.java:1055)
04-03 20:32:15.906: W/System.err(275): 	at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
04-03 20:32:15.906: W/System.err(275): 	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:143)
04-03 20:32:15.906: W/System.err(275): 	... 20 more

Na minha aplicação android eu fiz o seguinte:

public class TesteAndroidActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TextView tv = new TextView(this);
        tv.setText("Hello, Android");
     
        DefaultHttpClient httpClient = new DefaultHttpClient();  
        URI uri;  
        InputStream data = null;  
        try {  
            uri = new URI("http://localhost:8080/testeServlet/TesteServlet");  
            HttpGet method = new HttpGet(uri);  
            HttpResponse response = httpClient.execute(method);  
            data = response.getEntity().getContent();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
                
        setContentView(tv);
     
     
    }
}

O meu manifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="br.com.teste"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".TesteAndroidActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

O meu servlet

package br.com.servlets;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class TesteServlet
 */
@WebServlet("/TesteServlet")
public class TesteServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public TesteServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    @Override  
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {  
        System.out.println("INICIOU CONEXÃO");  
    }  
    
	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		
		System.out.println("============= DO GET =============");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("============= DO POST =============");
	}

}

O servet está rodando no tomcat 7.

Alguém sabe o porque está acontecendo esse prolblema?

Att.

Também sou iniciante em Android e já fiz essa comunicação então vamos lá, a primeira vista você deve está rodando a aplicação no emulador android? E seu servlet na sua máquina local onde roda o emulador?
Se sim para acessar sua servlet pelo emulador android em vez de localhost você usa o IP 10.0.2.2 ou seja em vez de

substitui por

Lembre de liberar a permissão de INTERNET para realizar essa ação, teste ai e avisa, flw!

Opa fumegou

Valew ivann