2015-04-22 4 views
1

Возможно ли читать и записывать примитивные типы данных в/из файла во внутреннем хранилище?Android: чтение и запись примитивных типов для внутреннего хранилища

Я нашел много учебников и примеров для использования read (bytes []) и подобных функций, но ничего для чтения и записи, например, для членов данных для класса, или из набора int, double, и Строки. Опираясь на функцию, которая слепо читает некоторое количество байтов, а затем пытается проанализировать результат с помощью смещений, и приведение типов кажется мне очень не Android, но я не могу найти альтернативы.

Возможно, я пытаюсь использовать неправильный инструмент для неправильной работы, и именно поэтому я столкнулся с этим препятствием. Я пишу приложение, которое подключается через BluetoothLE (используя, вероятно, самый худший API, который я когда-либо видел, но это то, чего требуют требования к проекту, поэтому я застрял с ним), и после того, как я подключился к устройству, я хочу сохраните «имя» устройства, которое похоже на что-то похожее на MAC-адрес, но для Bluetooth, и в следующий раз, когда я увижу устройство, я хочу отобразить его «дружественное имя», которое является более понятным для человека именем, которое я буду знать после подключение к устройству в первый раз. Это позволяет мне отображать дружественное имя для устройства, которое было подключено ранее, и пропустить этап аутентификации. Есть ли, пожалуй, лучший механизм, чем внутреннее хранилище для хранения таких данных? то есть несколько строк и int.

+0

Ответы Lamorak и SuNnY_sYeD - это оба оправданных подхода к тому, что я хотел выполнить, но они действительно не отвечают на вопрос заголовка. Я оставлю это открытым еще немного и посмотрю, появляется ли действительно хороший ответ. – LostOracle

ответ

1

Существует несколько способов, читайте documantation. Для вашего случая вы могли бы использовать SharedPreferences или лучше создать простую базу данных SQLite.

+0

Я рассматривал использование SharedPreferences, но я понимаю, что вам нужно использовать пары ключ-значение и хранить только примитивы. Возможно, мне нужно будет хранить несколько наборов именных имен-имен «structs», поскольку они не имеют лучшего термина и должны связывать списки с каждым ключом. Может ли SharedPreferences обрабатывать это? Мне нужно заглянуть в базу данных SQLite и посмотреть, не слишком ли это для моего приложения. – LostOracle

+0

Да 'SharedPreferences' может хранить только простые пары ключ-значение, то, что вы описали, определенно для SQLite. Использование его в android не очень сложно, я бы не стал считать его излишним. – Lamorak

1

Используйте SharedPreferences, но преобразуйте свой объект в объект json, затем сохраните его в SharedPreferences и отмените процесс, когда хотите прочитать данные.

+0

Это похоже на простое решение - мне нравится легко, не поймите меня неправильно, но это похоже на обман. Используются ли SharedPreferences таким образом? – LostOracle

 Смежные вопросы

  • Нет связанных вопросов^_^