Pregunta

necesito para almacenar de forma segura los datos de usuario privada por lo que puede continuar en mi aplicación se inicia, así como restablecimientos de dispositivos.

Esta será una suposición acerca de cuerda que 1000 caracteres como máximo.

Me dijeron que puedo utilizar la API de RIM almacén de claves para esto.

Bueno, me pasaba horas buscando en Google cualquier Gide en el uso de la API de RIM almacén de claves. JDE muestras no contienen nada útil en este sentido.

Parece que este es una cosa rara en el desarrollo de BB, así que no hay información casi no oficial sobre esto.

He leído esta y esta . De los entendí la mejor opción para mí es utilizar PersistableRIMKeyStore (que persiste a través de dispositivo se reinicia). Sin embargo, yo no soy capaz de averiguar qué es exactamente debería ser la aplicación.

cualquier ayuda puede con el código de ejemplo o que me señale alguna guía? También tal vez hay una / forma / mejor enfoque más simple para mi tarea, así que, por favor, hágamelo saber al respecto.

Muchas gracias por adelantado !!!

¿Fue útil?

Solución

El PersistableRIMKeyStore se utiliza para conservar el almacén de claves de RIM. De persistir los datos del usuario al otro lado restablece sólo tendrá que usar la PersistentStore, si desea que el deta a ser protegido podría utilizar el ContentProtectedHashtable o ContentProtectedVector.

Otros consejos

Si utiliza el almacén de la misma era como el "PersistentStoreDemo", que si no se sabe que puede obtener por ir a Archivo -> Importar -> Muestras Blackberry, permite cifrar la información en la tienda. Además de esto, si el usuario tiene la protección de contenidos en adelante, se puede utilizar un ContentProtectedHashtable saber automáticamente que esa información se encripta. Por lo tanto, sin la protección del contenido, la información se encripta una vez, con él en, sería cifrada por partida doble, así como almacenado con una difícil de adivinar a largo hash del espacio de nombres de aplicaciones (obviamente, ya que el registro de la tienda que lo necesite). A continuación es lo que uso:

package ca.dftr.phillyd.lib.persistables;

import net.rim.device.api.system.ApplicationDescriptor;
import net.rim.device.api.util.ContentProtectedHashtable;
import net.rim.device.api.util.Persistable;

/**
 * Basic class for storing application specific information. 
 * Information such as application settings or whether the license agreement was accepted.
 * For more complex and specific classes they should be implemented separately and implement persistable 
 * @author deforbes
 */
public class AppInfo extends ContentProtectedHashtable  implements Persistable {

    private String _appName = null;
    private String _version = null;

    /**
     * Constructs the application info, creates and persists a hashtable for application settings.
     * @param uniqueHexAppIdentifier Can be automatically created in resource class (BUNDLE_ID) or generated using other unique information.
     */
    public AppInfo() {    
        ApplicationDescriptor appDesc = ApplicationDescriptor.currentApplicationDescriptor();
        _appName = appDesc.getName();
        _version = appDesc.getVersion();
    }

    /**
     * Get the Name of the application
     * @return The application name from the app descriptor
     */
    public String getName()
    {
        return _appName;
    }

    /**
     * Get the Version of the application
     * @return The application version from the app descriptor
     */
    public String getVersion()
    {
        return _version;
    }
}

Junto con una clase de constantes (que podría ser incluido en el anterior si lo desea). Por ejemplo, desde mi PhillyD aplicación:

ca.dftr.phillyd.lib.persistables paquete;

/**
 * Keys for the AppInfo array
 * @author deforbes
 */
public class AppInfoKeys {
    public static final String QUALITY = "Quality";
    public static final String CHANNEL = "Channel";
    public static final String CHANNEL_NAME = "Channel_Name";
    public static final String SEARCH = "Search";
    public static final String LICENSE_ACCEPTED = "isLicenseAccepted";
    public static final String VIDEOS_PER_PAGE = "NumPerPage";
    public static final Boolean DOWNLOAD_THUMBS = new Boolean(true);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top