Mostrando entradas con la etiqueta Android. Mostrar todas las entradas
Mostrando entradas con la etiqueta Android. Mostrar todas las entradas

Tutorial para poner gráficos en android

Ver tutorial

Debes añadir MPAndroidChart al proyecto y todos los pasos vienen indicados en la página.
Para añadirlo: compile 'org.quanqi:mpandroidchart:1.7.5'

Ocultar teclado al entrar en un intent android

android:windowSoftInputMode="stateHidden"

debes poner esto en cada activity del AndroidManifest.xml
<activity android:name=".Programa"    android:windowSoftInputMode="stateHidden">
</activity>

Alert Dialog con botones Android

Creamos un objeto de la clase AlertDialog a través de la clase Builder:
        AlertDialog.Builder dialogo1 = new AlertDialog.Builder(this);
Configuramos el título del diálogo:
        dialogo1.setTitle("Importante");
Configuramos el mensaje del diálogo:
        dialogo1.setMessage("¿ Acepta la ejecución de este programa en modo prueba ?");          
Evitamos que el diálogo sea salteado por cualquier medio distinto a presionar alguno de los dos botones:
        dialogo1.setCancelable(false);
Llamamos al método setPositiveButton indicando el texto a mostrar en el botón y la clase anónima que capturará el evento clic del botón:
        dialogo1.setPositiveButton("Confirmar", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialogo1, int id) {
                aceptar();
            }
        });
De forma similar procedemos con el botón de cancelar:
        dialogo1.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialogo1, int id) {
                cancelar();
            }
        });          
Mostramos el diálogo:
        dialogo1.show();      
Definimos los métodos del Activity que se llamaran desde las clases anónimas:
    public void aceptar() {
        Toast t=Toast.makeText(this,"Bienvenido a probar el programa.", Toast.LENGTH_SHORT);
        t.show();
    }
   
    public void cancelar() {
        finish();
    }

Cambiar titulo de toolbar de Android

En el método OnCreate():

        getSupportActionBar().setTitle("Inicio");

Poner en lugar de "Inicio" el texto que desees.
Ademas puedes ir cambiándolo dependiendo de si se producen una serie de condiciones que tu desees.

Mantener la pantalla del móvil en horizontal Android

Añade lo siguiente en el manifest .xml:
        android:screenOrientation="portrait"


Ej.:
<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.miapp.miusuario.MainActivity"
            android:screenOrientation="portrait"
            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>

Web view en Android

Clase Main


public class MainActivity extends AppCompatActivity {
    public final static String url = "192.168.4.200";
    private WebView mWebView;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // INI AGREGADO        mWebView = (WebView) findViewById(R.id.web_view);
        // Activamos javascript        WebSettings webSettings = mWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        // Url que carga la app (webview)        mWebView.loadUrl("http://"+url);
        // Forzamos el webview para que abra los enlaces internos dentro de la la APP        mWebView.setWebViewClient(new WebViewClient());
        // Forzamos el webview para que abra los enlaces externos en el navegador        //mWebView.setWebViewClient(new MyAppWebViewClient());        // FIN AGREGADO    }
    @Override    // Detectar cuando se presiona el botón de retroceso    public void onBackPressed() {
        if(mWebView.canGoBack()) {
            mWebView.goBack();
        } else {
            super.onBackPressed();
        }
    }
}

Clase .java


import android.webkit.WebViewClient;
import android.content.Intent;
import android.net.Uri;
import android.webkit.WebView;
/** * Created by  on 09/01/2017. */public class MyAppWebViewClient extends WebViewClient {
    public final static String url = "192.168.4.200";
    @Override    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        // Url base de la APP (al salir de esta url, abre el navegador) poner como se muestra, sin http://        if(Uri.parse(url).getHost().endsWith(url)) {
            return false;
        }
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        view.getContext().startActivity(intent);
        return true;
    }
}

main.xml

<WebView    android:layout_width="match_parent"    android:layout_height="match_parent"    android:id="@+id/web_view"/>

Permisos

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

Devolver valor desde una actividad secundaria Android

Actividad Principal

Creamos el siguiente método:
 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        if ((requestCode == request_code) && (resultCode == RESULT_OK)){
            data.getDataString() //cogemos los datos que devuelve la segunda actividad
        }
    }
Este método sirve para ejecutar las acciones que se realizará la clase una vez la segunda actividad haya devuelto los datos.
Iniciamos la segunda actividad de tal forma que reciba los datos una vez esta acabe:
int request_code = 1; //declarado como global
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, request_code);

Actividad Secundaria

Devolvemos desde el segundo activity los datos que queramos.
Intent data = new Intent();
data.setData(Uri.parse(cad));
setResult(RESULT_OK, data);
finish();
cad --> es la cadena que devolvemos al activity principal.

Ejemplo, creamos una ListView y el elemento elegido es el que se devuelve:
lvString = (ListView)findViewById(R.id.lv_Strings);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, cargarListView());
lvString.setAdapter(adapter);
        
lvString.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
  long arg3) {
   // TODO Auto-generated method stub
   String cad = (String)lvString.getAdapter().getItem(arg2);
   Intent data = new Intent();
     data.setData(Uri.parse(cad));
     setResult(RESULT_OK, data);
     finish();
  }     
});