J2ME база данных или управление данными - PullRequest
1 голос
/ 25 марта 2012

Я использую Netbeans IDE (J2ME) для разработки мобильного приложения, словаря, который извлекает значение слова, когда пользователь вводит слово.

Как я могу сохранить / получить эти значения в приложении (в файле .jar) любая база данных?любой метод?И я должен распространять это приложение.

Ответы [ 2 ]

2 голосов
/ 25 марта 2012

С java-me у вас есть поддержка Система управления записями (RMS) , Вы можете хранить там мало данных,

Хорошим способом было бы хранить мало информации, и когда пользователь запрашивает слово, посмотрите, есть ли оно в локальной RMS, предоставьте его, в противном случае вы сделаете вызов веб-службы на свой сервер и предоставите информацию пользователю

0 голосов
/ 26 марта 2012

Словарь - это структура данных ключ / значение, как и Hashtable.Вы можете сохранить свои данные в файле jar как файл свойств Java (http://docs.oracle.com/javase/tutorial/essential/environment/properties.html).

Поскольку Java ME не имеет класса java.util.Properties, вы должны выполнить загрузку вручную.


    public class Properties extends Hashtable {

        public Properties(InputStream in) throws IOException {
            if (in == null) {
                throw new IllegalArgumentException("in == null");
            }

            StringBuffer line = new StringBuffer();

            while (readLine(in, line)) {
                String s = line.toString().trim();

                if (s.startsWith("#") == false) {
                    int i = s.indexOf('=');

                    if (i > 0) {
                        String key = s.substring(0, i).trim();
                        String value = s.substring(i + 1).trim();

                        put(key, value);
                    }
                }
                line.setLength(0);
            }
        }

        private boolean readLine(InputStream in, StringBuffer line) throws IOException {
            int c = in.read();

            while (c != -1 && c != '\n') {
                line.append((char)c);
                c = in.read();
            }

            return c >= 0 || line.length() > 0;
        }

        public String get(String key) {
            return (String) super.get(key);
        }
    }

Вот образец


    InputStream is = getClass().getResourceAsStream("/dictionary.properties");
    Properties dictionary = new Properties(is);

...