سؤال

أحتاج إلى تخزين بيانات المستخدم الخاصة بشكل آمن حتى يمكن أن يستمر عبر تطبيقي وكذلك إعادة ضبط الجهاز.

ستكون هذه سلسلة أعتقد أن حوالي 1000 Chars بحد أقصى.

قيل لي إنني أستطيع استخدام API keystore rem لهذا.

حسنًا ، لقد أمضيت ساعات في غوغري أي غيد على استخدام API keystore rem. عينات JDE لا تحتوي على أي شيء مفيد في هذا.

يبدو أن هذا شيء نادر في تطوير BB ، لذلك لا توجد معلومات رسمية تقريبًا حول هذا الموضوع.

أنا أقرا هذه و هذه. من أولئك الذين فهمت أن أفضل خيار بالنسبة لي هو استخدام perferalerimkeystore (يستمر عبر إعادة ضبط الأجهزة). ومع ذلك ، أنا غير قادر على معرفة ما ينبغي أن يكون التنفيذ بالضبط.

هل يمكن لأي شخص أن يساعد في نموذج رمز أو يوجهني إلى بعض الدليل؟ ربما هناك طريقة/نهج أفضل/أبسط لمهمتي ، لذا ، من فضلك ، أخبرني بذلك.

شكرا جزيلا مقدما!!!

هل كانت مفيدة؟

المحلول

يتم استخدام perstistablerimkeystore لاستمرار متجر Key Rim. لاستمرار إعادة تعيين بيانات المستخدم ، تحتاج فقط إلى استخدام StixentStore ، إذا كنت تريد حماية Deta ، يمكنك استخدام ContentProtectedHashTable أو ContentProtecteVector.

نصائح أخرى

إذا كنت تستخدم المتجر في نفس الوقت كان "Perfectiststoredemo" والذي إذا كنت لا تعرف أنه يمكنك الحصول على ملف -> استيراد -> عينات BlackBerry ، يمكنك تشفير المعلومات في المتجر. علاوة على ذلك ، إذا كان لدى المستخدم حماية المحتوى ، فيمكنك استخدام ContentProtectedHashTable لمعرفة أن المعلومات سيتم تشفيرها تلقائيًا. لذلك ، بدون حماية المحتوى ، سيتم تشفير المعلومات مرة واحدة ، معها ، سيتم تشفيرها بشكل مضاعف بالإضافة إلى تخزينها مع صعوبة في تخمين تجزئة طويلة من مساحة اسم التطبيق (من الواضح ، لأنه لتسجيل المتجر الذي تحتاجه). أدناه هو ما أستخدمه:

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;
    }
}

جنبا إلى جنب مع فئة من الثوابت (والتي يمكن تضمينها في ما سبق إذا كنت تريد). على سبيل المثال ، من تطبيق Phillyd الخاص بي:

حزمة ca.dftr.phillyd.lib.persistables ؛

/**
 * 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);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top