使用持久性来显示BB应用程序的访问次数?

时间:2011-12-29 06:44:02

标签: blackberry persistence

我开发了一个应用程序。我想在用户开始实现我的应用程序之前显示一条消息。就像第一次使用它时我想显示“Count = 1”。当第二次访问app时,“Count = 2”。

我怎样才能实现它?我使用sharedperferences在android中做过这样的事情。但我怎么能在黑莓手机上做到这一点。我曾尝试使用PersistentStore。但是不能实现这一点,因为我对BB中的持久性一无所知。

另外我希望将使用限制为100.是否可以?

这样的示例代码将是可观的,因为我是这个环境的新手..

2 个答案:

答案 0 :(得分:2)

您可以使用永久存储来实现它。

Check this nice tutorial about storing persistent data

您也可以使用SQLite。链接到描述如何在Java®应用程序中使用SQLite数据库的开发指南:Storing data in SQLite databases

在持久数据的帮助下,您可以使用自己的逻辑限制用户最多尝试100次应用程序。但我认为可能会有一些惯例,所以请尝试谷歌。

答案 1 :(得分:0)

得到它......

我创建了一个实现Persistable的新类。在那个类中,我创建了一个整数变量,并为该整数设置了getter和setter函数......

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

我希望你们现在都能得到它...... 如果有另一种简单的方法,请告诉我...... 感谢