Está en la página 1de 5

UNIVERSIDAD

POLITECNICA DE PACHUCA
DESARROLLO DE APLICACIONES MÓVILES

Reporte Practica
MTRO. JUAN AUGUSTO VALDEZ HERNANDEZ

ALUMNO. TATIANA LLUDI BAUTISTA ZUÑIGA


Introducción

Las preferencias compartidas le permiten almacenar pequeñas cantidades de datos


primitivos como pares clave / valor en un archivo en el dispositivo. Para obtener un
identificador de un archivo de preferencias y para leer, escribir y administrar datos de
preferencias, use la SharedPreferences clase. El marco de Android administra el archivo
de preferencias compartidas en sí. Todos los componentes de su aplicación pueden
acceder al archivo, pero otras aplicaciones no pueden acceder a él.

SharedPreferences

Interfaz para acceder y modificar datos de preferencias devueltos por


Context#getSharedPreferences. Para cualquier conjunto particular de preferencias, hay
una única instancia de esta clase que comparten todos los clientes. Las modificaciones a
las preferencias deben pasar por un Editorobjeto para garantizar que los valores de
preferencia permanezcan en un estado y control consistentes cuando se comprometan
con el almacenamiento. Los objetos que se devuelven de los distintos getmétodos deben
ser tratados como inmutables por la aplicación.

Nota: Esta clase ofrece fuertes garantías de consistencia. Está utilizando operaciones
costosas que podrían ralentizar una aplicación. El cambio frecuente de propiedades o
propiedades donde se puede tolerar la pérdida debe usar otros mecanismos. Para más
detalles lea los comentarios en Editor#commit() y Editor#apply().

Nombre de Practica: HelloSharedPrefs

• El recuento (mCount) se define como un entero. El countUp() método onClick


incrementa este valor y actualiza el principal TextView.
• El color ( mColor) también es un número entero que se define inicialmente como
gris en el colors.xmlarchivo de recursos como default_background.
• El changeBackground()método onClick obtiene el color de fondo del botón en el
que se hizo clic y luego establece la vista de texto principal en ese color.
• Tanto los enteros mCountcomo los mColorenteros se guardan en el paquete de
estado de instancia onSaveInstanceState()y se restauran en onCreate(). Las
teclas de paquete para conteo y color están definidas por variables privadas
( COUNT_KEY) y ( COLOR_KEY).
MainActivity.java
package com.example.android.hellosharedprefs;
import android.content.SharedPreferences;
import android.graphics.drawable.ColorDrawable;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {


// Current count
private int mCount = 0;
// Current background color
private int mColor;
// Text view to display both count and color
private TextView mShowCountTextView;
// Key for current count
private final String COUNT_KEY = "count";
// Key for current color
private final String COLOR_KEY = "color";
// Shared preferences object
private SharedPreferences mPreferences;
// Name of shared preferences file
private String sharedPrefFile =
"com.example.android.hellosharedprefs";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Initialize views, color, preferences


mShowCountTextView = findViewById(R.id.count_textview);
mColor = ContextCompat.getColor(this,
R.color.default_background);
mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);
// Restore preferences
mCount = mPreferences.getInt(COUNT_KEY, 0);
mShowCountTextView.setText(String.format("%s", mCount));
mColor = mPreferences.getInt(COLOR_KEY, mColor);
mShowCountTextView.setBackgroundColor(mColor);
}
/**
* Handles the onClick for the background color buttons. Gets background
* color of the button that was clicked, and sets the TextView background
* to that color.
*
* @param view The view (Button) that was clicked.
*/
public void changeBackground(View view) {
int color = ((ColorDrawable) view.getBackground()).getColor();
mShowCountTextView.setBackgroundColor(color);
mColor = color;
}
/**
* Handles the onClick for the Count button. Increments the value of the
* mCount global and updates the TextView.
*
* @param view The view (Button) that was clicked.
*/
public void countUp(View view) {
mCount++;
mShowCountTextView.setText(String.format("%s", mCount));
}
/**
* Handles the onClick for the Reset button. Resets the global count and
* background variables to the defaults and resets the views to those
* default values.
*
* @param view The view (Button) that was clicked.
*/
public void reset(View view) {
// Reset count
mCount = 0;
mShowCountTextView.setText(String.format("%s", mCount));
// Reset color
mColor = ContextCompat.getColor(this,
R.color.default_background);
mShowCountTextView.setBackgroundColor(mColor);
// Clear preferences
SharedPreferences.Editor preferencesEditor = mPreferences.edit();
preferencesEditor.clear();
preferencesEditor.apply();
}
/**
* Callback for activity pause. Shared preferences are saved here.
*/
@Override
protected void onPause() {
super.onPause();
SharedPreferences.Editor preferencesEditor = mPreferences.edit();
preferencesEditor.putInt(COUNT_KEY, mCount);
preferencesEditor.putInt(COLOR_KEY, mColor);
preferencesEditor.apply();
}
}
• La SharedPreferencesclase permite que una aplicación almacene pequeñas
cantidades de datos primitivos como pares clave-valor.
• Las preferencias compartidas persisten en diferentes sesiones de usuario de la
misma aplicación.
• Para escribir en las preferencias compartidas, obtenga un
SharedPreferences.Editorobjeto.
• Utilice los diversos métodos de "colocación" en un
SharedPreferences.Editorobjeto, como putInt()o putString(), para colocar datos en
las preferencias compartidas con una clave y un valor.
• Utilice los diversos métodos "obtener" en un SharedPreferencesobjeto, como
getInt()o getString(), para obtener datos de las preferencias compartidas con una
clave.
• Use el clear()método en un SharedPreferences.Editorobjeto para eliminar todos
los datos almacenados en las preferencias.
• Use el apply()método en un SharedPreferences.Editorobjeto para guardar los
cambios en el archivo de preferencias.

También podría gustarte