Структура данных для использования в Sencha Touch похожа на Vector в Blackberry - PullRequest
0 голосов
/ 19 октября 2011

Я новичок в Sencha Touch, в основном я разработчик Blackberry.В настоящее время мы переносим наше приложение для поддержки Sencha Touch 1.1.Теперь у меня есть несколько бизнес-решений, например, я хочу сохранить выбранные значения в локальной базе данных.Я имею в виду, что у меня есть несколько экранов, где, как только пользователь выбирает значение на каждом экране, данные должны быть сохранены в следующем формате.

[{'key1': «значение1», «ключ2»: «значение2», «ключ3»: «значение3», «ключ4»: «значение4», «ключ5»: «значение5»}]

1.Во-первых, значения должны быть сохранены в парах ключ-значение

2.Ключи должны играть роль первичного ключа, ключ не должен дублироваться.

3.Должно быть доступно до жизненного цикла приложения или сеанса приложения, не требует постоянного сохранения данных.

Я сталкивался с такими понятиями, как LocalStorageProxy, JsonStore и некоторыми другими.Я не понимаю, какой из них я могу использовать для своих конкретных требований.

Может быть, мой вопрос немного более запутанный.Я добился того же, используя vector, в Blackberry Java, поэтому любая структура данных, подобная этой, могла бы помочь мне.Нужны базовые операции, такие как

  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 не может извлечь элементы, используя приведенный выше синтаксис.

1 Ответ

1 голос
/ 19 октября 2011

Если вам не нужно постоянно сохранять данные, вы можете просто иметь глобальный объект с нужными вам свойствами.Сначала определите объект следующим образом:

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

Затем добавьте пары ключ-значение к объекту, как этот

 MyApp.vectorYouNeed[key] = value;

И получите их вот так

 value = MyApp.vectorYouNeed[key];

Обратите внимание, что ключ является строковым объектом, т. Е. var key='key1';, а значением может быть любой тип объекта.

Чтобы удалить одно значение MyApp.vectorYouNeed[key] = null; И удалить все из них MyApp.vectorYouNeed = {};

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...