Foro sobre Android > Android Studio, el nuevo IDE de Google
Bueno les comento, la empresa donde trabajo tiene una aplicacion Web, y debo crear una aplicación android que realizara unos procedimientos específicos pero es en resumidas cuentas enviar y recibir datos, el Web service ya esta hecho, pero al momento de hacer la prueba del login, me sale un error en la clase HiloTask, a continuación envio todo el codigo.
-- Clase MainActivity
package com.example.andres.login;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
public class MainActivity extends ActionBarActivity {
private final String NAMESPACE = "http://schemas.xmlsoap.org/soap/encoding/";
private final String URL = "http://10.0.0.56/ws_separador_bodega/ws_separador_bodega.php?wsdl";
private final String SOAP_ACTION = "http://10.0.0.56/DUSOFT_FFMM_HOMIC/ws_separador_bodega/ws_separador_bodega.php/login";
private final String METHOD_NAME = "login";
private static String fahren;
EditText et_nombre, et_apellido, et_resultado;
Button btnAceptar;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnAceptar = (Button) findViewById(R.id.btnAceptar);
btnAceptar.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
new HiloTask().execute();
MainActivity mAuth = new MainActivity();
loginAction();
}
});
}
public void loginAction() {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
//et_resultado = (EditText) findViewById(R.id.et_resultado);
//String resultado = et_resultado.getText().toString();
et_nombre = (EditText) findViewById(R.id.et_nombre);
String nombre = et_nombre.getText().toString();
et_apellido = (EditText) findViewById(R.id.et_apellido);
String apellido = et_apellido.getText().toString();
PropertyInfo unameProp = new PropertyInfo();
unameProp.setName("et_nombre");
unameProp.setValue(nombre);
unameProp.setType(String.class);
request.addProperty(unameProp);
PropertyInfo passwordProp = new PropertyInfo();
passwordProp.setName("et_apellido");
passwordProp.setValue(apellido);
passwordProp.setType(String.class);
request.addProperty(passwordProp);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
//Invole web service
androidHttpTransport.call(SOAP_ACTION, envelope);
//Get the response
SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
//Assign it to fahren static variable
fahren = response.toString();
} catch (Exception e) {
e.printStackTrace();
}
}
}
--Clase HiloTask
package com.example.andres.login;
import android.app.ProgressDialog;
import android.graphics.Color;
import android.os.AsyncTask;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.text.style.RelativeSizeSpan;
import android.util.Log;
/**
* Created by Andres on 23/07/2015.
*/
class HiloTask extends AsyncTask<String, Void, String> {
ProgressDialog pDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
Log.d("Hola", "Descargando");
pDialog = new ProgressDialog(MainActivity.this); " AQUI ME SALE ERROR EN LA PARTE MainActivity.this, dice: COM.EXAMPLE.ANDRES.LOGIN.MAINACTIVITY IS NOT AN ENCLOSING CLASS"
pDialog.setMessage("Cargando base...");
String message= "Ejecutando el proceso";
SpannableString ss2 = new SpannableString(message);
ss2.setSpan(new RelativeSizeSpan(2f), 0, ss2.length(), 0);
ss2.setSpan(new ForegroundColorSpan(Color.BLACK), 0, ss2.length(), 0);
pDialog.setMessage(ss2);
pDialog.setCancelable(false);
pDialog.show();
}
@Override
protected String doInBackground(String... params) {
MainActivity mAuth = new MainActivity();
mAuth.loginAction();
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
Log.d("Holas", "descargando.");
pDialog.dismiss();
}
}
-- Android Manifest
--<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.andres.login" >
<uses-permission android:name="android.permission.INTERNET" />
<category android:name="android.intent.category.LAUNCHER" />
</manifest>
-- vista
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="289dp"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Nombre:"
android:id="@+id/textView"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="230dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/et_nombre"
android:hint="Nombre" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Apellido:"
android:id="@+id/textView2" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/et_apellido"
android:hint="Apellido" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Aceptar"
android:id="@+id/btnAceptar"
android:onClick="onClickAceptar" />
</LinearLayout>
LES AGRADECERIA SI TIENEN LA SOLUCION O UN EJEMPLO CLARO QUE FUNCIONE DE COMO HACER EL LOGIN EN ANDROID.
Creo que el problema es que llamando a MainActivity.this dentro de la clase Hilo y no lo está encontrando.
Aquin un ejemplo parecido.
http://stackoverflow.com/questions/25274972/java-app-developement-error-is-not-enclosing-class
Tab ejemplo de como hacer un progress bar desde un asyncTask, dentro de esta creo que no puedes meter nada gráfico.
http://stackoverflow.com/questions/25232343/android-async-task-progress-bar-onprogressupdate
Una pequeña consulta, Cuando minimizo el layout de mi aplicación android, y empieso a usar otras aplicaciones, pero a medida que voy usando mas memoria con otras aplicaciones pierdo los valores registrados en memoria de mi aplicación, probé con SharedPreferences pero cuando vuelvo a maximizar ya se perdieron valores.
Buenas tardes, una consulta quisiera saber como incorporar los tweets de una cuenta publica a una aplicación android, solo quiero ver los tweets publicados por esa cuenta.
Gracias de antemano
Hola amigos.
Estoy empezando con android studio, pero al instalar cualquier version, y descargar las api, sólo me simula las api 22 y 21, las demas, aunque muestra el dispositivo, y lo simula, no me carga la app que estoy haciendo, tampoco le puedo configurar teclado, no logro hacer que aparezca en las que me carga el app, aunque si me recibe el teclado de la laptop. me podrian guiar cosn esto. Gracias.
Para que le echen una ojeadita
http://www.genbeta.com/movil/android-studio-el-nuevo-ide-de-google-para-desarrollar-en-android?utm_source=feedly&utm_medium=feed&utm_campaign=Feed%3A+genbeta+%28Genbeta%29