0

私は sencha Touch の初心者で、基本的にはブラックベリーの開発者です。現在、Sencha Touch 1.1 をサポートするためにアプリケーションを移行しています。選択した値をローカルデータベースに保存したいなど、いくつかのビジネスソリューションがあります。つまり、複数の画面があり、ユーザーが各画面で値を選択すると、データは以下の形式で保存されます。

[{'key1': "value1", 'key2': "value2", 'key3': "value3" ,'key4': "value4", 'key5': "value5"}]

1. まず、値をキーと値のペアで保存する必要があります

2. キーは主キーの役割を果たす必要があり、キーを複製しないでください。

3. アプリケーションのライフ サイクルまたはアプリケーション セッションまで使用できる必要があります。データを永続的に保存する必要はありません。

LocalStorageProxy、JsonStore などの概念に出くわしました。特定の要件にどちらを使用できるかわかりません。

私の質問はもう少し混乱しているかもしれません。Blackberry Java で vector を使用して同じことを達成したので、これに似たデータ構造が役に立ちます。のような基本的な操作が必要です

  1. 作成
  2. 追加
  3. 削除する
  4. すべて削除する
  5. キーに基づいて要素をフェッチする

これを達成するのに役立つサンプルやコードのスナップショットをいくつか提案してください。

編集: 1

@ Ilya139 の回答に従って変更を行いました。キーを使用してデータを追加できるようになりました。

// this is my Object declared in App.js
NSDictionary: {},

// adding the data to object with key
MyApp.NSDictionary['PROD'] = 'SONY JUKE BOX';

//trying to retrieve the elements from vector 
var prod = MyApp.NSDictionary['PROD'];

Nut は上記の構文を使用して要素を取得できません。

4

1 に答える 1

1

データを永続的に保存する必要がない場合は、必要なプロパティを持つグローバル オブジェクトを使用できます。まず、次のようにオブジェクトを定義します。

 new Ext.Application({
    name: 'MyApp',
    vectorYouNeed: {},
   launch: function () { ...

次に、このようにキーと値のペアをオブジェクトに追加します

 MyApp.vectorYouNeed[key] = value;

そして、このようにそれらを取得します

 value = MyApp.vectorYouNeed[key];

key は文字列オブジェクト、つまりvar key='key1';、value は任意のタイプのオブジェクトであることに注意してください。

1 つの値MyApp.vectorYouNeed[key] = null;を削除し、それらすべてを削除するにはMyApp.vectorYouNeed = {};

于 2011-10-19T14:58:12.310 に答える