2016-12-27 7 views
0

Сначала извините, если это неправильный сайт для обмена (я подумал, что, возможно, обзор кода, но поскольку у меня нет никакого «кода» для просмотра, я не думал).Каков наилучший способ хранения информации о акселерометре?

Каковы будут наилучшие методы хранения следующих данных.

У меня есть приложение, которое записывает данные датчиков с информацией о последующей:

  • Имя
  • Дата
  • Примечания
  • ArrayList < акселерометр данных>
    • X
    • Y
    • Z
    • Отметка

Я также будет собирать данные датчиков магнитометра, но пока данные акселерометра достаточно.

Моя текущая идея заключается в том, чтобы использовать SQL таблицу со следующими столбцами

------------------------------ 
|Name | Date | Notes | Values| 
------------------------------ 

С значения являются сериализованная список Accelerometer data. Хотя было бы неплохо, чтобы значения находились в отдельной таблице, почти как таблица в таблице. Хотя я считаю, что наличие переменной таблицы в базе данных плохой практике это так? Есть ли лучший способ хранить эти данные?

- Edit -

  • Эти данные действительно должны быть сохранены на диске до тех пор, пока не будет удален по выбору пользователя.
  • В идеале он должен быть защищен от повреждения данных
  • Системе не потребуется обновлять/редактировать его после его сохранения.
  • В какой-то момент в будущем вы сможете получить доступ, чтобы можно было загрузить .
  • Глядя в будущее, данные датчиков должны быть зашифрованы.
+0

Многие факторы не упоминаются в вашем вопросе. Должны ли данные сохраняться с течением времени? Или это необходимо только для немедленного, разового использования. Много ли пользователей одновременно обращаются к нему одновременно/одновременно? нужно ли это сохранять транзакционным способом (с другими данными)? Если он сохраняется, нужно ли его защищать от непреднамеренного повреждения данных? Как только исходная точка данных первоначально создана, система имеет (или нуждается) возможность изменять или обновлять ее? и т. д. и т. д. В зависимости от ответов ваш лучший вариант НЕ может быть базой данных. –

+0

Спасибо @CharlesBretana Я обновил вопрос, извините, что я должен был добавить больше информации с самого начала! – jackdh

ответ

0

Ну, во-первых, имеющей несколько tables в database является своего рода обычной практикой для хранения ДАННЫЕ. просто представьте себе этот сайт, у него есть таблица для пользователя, таблица для комментариев, таблица для вопросов, таблица ответов, таблица для голосов сверху, .....

Теперь лучшая практика в основном основана на мнениях, поэтому я просто расскажу вам о опции SQLite.

Решение может состоять в том, чтобы создать два tables: один для базовых элементов и другой для всего списка значений.

Что-то вроде двух классов:

public class genericDatas{ 
    private UUID id;  
    private String name; 
    private Date date; 
    private String notes; 
    //getter, setter, constructor,... 
} 

public class accelerometerValues{ 
    private UUID id; 
    private UUID GenericValueIdREF; 
    //... 
    //getter, setter, constructor,... 
} 

Теперь сохраните все необходимые ДАННЫЕ и получить их с Select с Join или с двумя отборными или любыми способами вам больше нравится. Here is the guide on how to use SQLite

+0

Вы говорите, что наличие нескольких таблиц в порядке, но все в порядке, чтобы иметь переменное количество таблиц. Мне повезло, что это было плохо. Кроме того, это то, как я в настоящее время сохраняю данные в коде сам по себе, это еще один вариант, который я рассмотрел, - это просто сохранить данные в виде сериализованных объектов, это то, что вы получали? Спасибо за ответ. – jackdh

+0

@jackdh, что тоже не проблема, вы даже можете сохранить данные как сериализованные объекты, но для запросов и доступа к ним лучше использовать обычный объект в sqlite. –