Использование постоянства для отображения количества посещений приложения BB? - PullRequest
0 голосов
/ 29 декабря 2011

Я разработал приложение. Я хочу отобразить сообщение, прежде чем пользователь начнет реализацию моего приложения. Например, когда он используется в первый раз, я хочу показать «Count = 1». И когда приложение посещается во второй раз, "Count = 2".

Как мне этого добиться? Я сделал это в Android, используя sharedperferences. Но как я могу сделать это в ежевике. Я пробовал что-то с PersistentStore. Но не могу этого достичь, потому что я ничего не знаю о Сопротивлении в ББ.

Также я хотел бы ограничить использование 100. Возможно ли это?

примеры кодов для этого будут заметны, так как я новичок в этой среде ..

Ответы [ 2 ]

2 голосов
/ 29 декабря 2011

Этого можно добиться с помощью постоянного хранилища.

Проверьте это хорошее руководство по хранению постоянных данных .

Также вы можете использовать SQLite. Ссылка на руководство по разработке, которое описывает, как использовать базы данных SQLite в приложениях Java®: Хранение данных в базах данных SQLite .

Вы можете ограничить пользователя тем, что он будет пробовать ваше приложение не более 100 раз, используя собственную логику с помощью постоянных данных. Но я думаю, что может быть какое-то соглашение, так что попробуйте Google для этого.

0 голосов
/ 30 декабря 2011

понял ...

Я создал новый класс, который реализует Persistable.В этом классе я создал целочисленную переменную и установил функцию получения и установки для этого целого числа ...

import net.rim.device.api.util.Persistable;


public class Persist implements Persistable
{
    private int first;

    public int getCount()
    {
        return first;
    }

    public void setCount()
    {
        this.first += 1;
    }
}

Затем в классе, который инициализирует мой экран, я объявил переменные постоянства и 3 функции для использования.мой Persist.java, initStore (), savePersist () и getPersist ()

public final class MyScreen extends MainScreen implements FieldChangeListener
{
     /*
     * Declaring my variables...
     */
    private static PersistentObject store;
    public Persist p;  

public MyScreen()
{
//my application codes

//here uses persistence
initStore();
        p = getPersist();
        if(p.getCount()<100)
        {
            savePersist();
        UiApplication.getUiApplication().invokeLater(new Runnable() 
        {
            public void run() 
            {
                Dialog.alert(p.getCount.toString());
                        }
        });
        }
                else
                {
                     close();
                     System.exit(0);
                }
}

//three function....
public static void initStore()
    {
        store = PersistentStore.getPersistentObject(0x4612d496ef1ecce8L);
    }

    public void savePersist()
    {
        synchronized (store) 
        {
            p.setCount();
            store.setContents(p);
            store.commit();
        }
    }

    public Persist getPersist()
    {
        Persist p = new Persist();
        synchronized(store)
        {
            p = (Persist)store.getContents();
            if(p==null)
            {
                p = new Persist();
            }
        }
        return p;
    }
}

Надеюсь, у вас все получится прямо сейчас .... Если есть другой простой способ, плз, дайте мне знать... Спасибо

...