Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 04/08/14, 16:42:02
Avatar de rafaxplayer
rafaxplayer rafaxplayer no está en línea
Miembro del foro
Mensajes: 224
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
problema login

saludos compañeros estoy intentando hacer un sistema de login desde un dispositivo a mi foro php , el caso es que via navegador la url que paso funciona bien pero desde android me tira errores , este es el código:

Código:
public class MainActivity extends Activity {
	TextView tx;
	EditText user, pass;
	Button but;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		tx = (TextView) findViewById(R.id.textView1);
		user = (EditText) findViewById(R.id.editText1);
		pass = (EditText) findViewById(R.id.editText2);
		but = (Button) findViewById(R.id.button1);
		but.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				connect();

			}
		});

	}

	public void connect() {

		try {
			String us = URLEncoder.encode(user.getText().toString(), "UTF-8");
			String passw = URLEncoder
					.encode(pass.getText().toString(), "UTF-8");
			String url = String
					.format("http://www.mipaginaweb.com/login.php?username=%s&password=%s",
							us, passw);

			postLoginData();

		} catch (UnsupportedEncodingException ex) {
			ex.printStackTrace();
		}

	}

	public void postLoginData() {
		// Create a new HttpClient and Post Header
		HttpClient httpclient = new DefaultHttpClient();

		/* login.php returns true if username and password is equal to saranga */
		HttpPost httppost = new HttpPost(
				"http://www.amsspecialist.com/login.php");

		try {
			// Add user name and password

			String username = user.getText().toString();

			String password = pass.getText().toString();

			List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
			nameValuePairs.add(new BasicNameValuePair("username", username));
			nameValuePairs.add(new BasicNameValuePair("password", password));
			httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

			// Execute HTTP Post Request
			Log.w("SENCIDE", "Execute HTTP Post Request");
			HttpResponse response = httpclient.execute(httppost);

			String str = convertInputStreamToString(
					response.getEntity().getContent()).toString();
			Log.w("SENCIDE", str);

			
			tx.setText(str.toString());
			

		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	private static String convertInputStreamToString(InputStream inputStream)
			throws IOException {
		BufferedReader bufferedReader = new BufferedReader(
				new InputStreamReader(inputStream));
		String line = "";
		String result = "";
		while ((line = bufferedReader.readLine()) != null)
			result += line;

		inputStream.close();
		return result;

	}
}
y este el logcat con el error

Código:
08-04 16:39:27.730: D/memalloc(15364): /dev/pmem: Mapped buffer base:0x51727000 size:2580480 offset:1966080 fd:46
08-04 16:39:28.400: D/memalloc(15364): /dev/pmem: Mapped buffer base:0x51b4d000 size:3194880 offset:2580480 fd:49
08-04 16:39:28.520: D/memalloc(15364): /dev/pmem: Mapped buffer base:0x51fd9000 size:1474560 offset:860160 fd:52
08-04 16:39:30.120: W/SENCIDE(15364): Execute HTTP Post Request
08-04 16:39:30.180: W/dalvikvm(15364): threadid=1: thread exiting with uncaught exception (group=0x40da51f8)
08-04 16:39:30.200: E/AndroidRuntime(15364): FATAL EXCEPTION: main
08-04 16:39:30.200: E/AndroidRuntime(15364): android.os.NetworkOnMainThreadException
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at java.net.InetAddress.lookupHostByName(InetAddress.java:426)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at java.net.InetAddress.getAllByNameImpl(InetAddress.java:277)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at java.net.InetAddress.getAllByName(InetAddress.java:251)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at com.example.login_prueva.MainActivity.postLoginData(MainActivity.java:94)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at com.example.login_prueva.MainActivity.connect(MainActivity.java:64)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at com.example.login_prueva.MainActivity$1.onClick(MainActivity.java:47)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at android.view.View.performClick(View.java:3524)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at android.view.View$PerformClick.run(View.java:14194)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at android.os.Handler.handleCallback(Handler.java:605)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at android.os.Handler.dispatchMessage(Handler.java:92)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at android.os.Looper.loop(Looper.java:137)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at android.app.ActivityThread.main(ActivityThread.java:4476)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at java.lang.reflect.Method.invokeNative(Native Method)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at java.lang.reflect.Method.invoke(Method.java:511)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:816)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:583)
08-04 16:39:30.200: E/AndroidRuntime(15364): 	at dalvik.system.NativeStart.main(Native Method)
no se que estoy haciendo mal , los permisos de internet en el manifest ya estan.
Responder Con Cita


  #2  
Viejo 04/08/14, 17:03:32
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Solo con poner el nombre de la excepción en google (android.os.NetworkOnMainThreadException) te sale la respuesta.

También se ha comentado por aquí alguna vez, el acceso a la red tiene que hacerse desde otro hilo (una AsyncTask por ejemplo) para no bloquear el hilo principal de ejecución de Android y de la app.
Responder Con Cita
  #3  
Viejo 04/08/14, 18:56:19
Avatar de rafaxplayer
rafaxplayer rafaxplayer no está en línea
Miembro del foro
Mensajes: 224
 
Fecha de registro: jun 2013
Localización: en la barcelona media
Mensajes: 224
Modelo de smartphone: LG-E610
Tu operador: Orange
Mencionado: 0 comentarios
Tagged: 0 hilos
ok, gracias solucionado
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 13:34:52 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007