2016-03-08 3 views
-1

Я работаю над мобильным приложением, которое будет включать в себя живые данные, которые будут использоваться между пользователями. Проблема в том, что я действительно не знаю, как лучше всего хранить и управлять этими данными, например, какую базу данных я должен использовать, это MySQL? Я полный новичок, поэтому достаточно простого ответа.Как хранить данные мобильного приложения

Редактировать: Я начинаю с android, но я буду нацелен на IOS. Я вижу много ответов о локальных решениях для хранения данных, но я ищу что-то доступное в сети. Хорошим примером того, что я хочу сделать, является Google Maps. Как они управляют своими данными?

+0

Какая платформа вы используете для разработки мобильного приложения ??? Android или iOS ??? Где вы хотите сохранить данные на сервере или на локальном устройстве? Как ваши пользователи подключены друг к другу для обмена данными? –

+0

, так как вы хотите поделиться данными, я бы предложил вам сохранить его на сервере, вероятно, используя сайт, на котором запущена mysql, php в качестве платформы. отправлять и извлекать данные, используя http – hyena

ответ

0

Вы можете использовать php + mysql для создания собственного бэкэнда. Приложение Android будет связываться с вашим php-скриптом (используя json), который будет хранить/обслуживать данные, которые будут использоваться между приложениями в mysql. Другое решение - использовать некоторые готовые бэкэнды, такие как Firebase, но после parse.com shutdown Я бы не стал рекомендовать этот путь.

Локально - на устройстве, используйте (предпочтительно) sqlite или json-файлы.

0

В случае прошивкой, вы можете использовать SQLite, CoreData, плоский файловой системы, JSON файл, .plist файл, NSArchiver и т.д.

Если данные огромна и структурированное использование записи SQLite. Если данные маленькие, просто сохраните состояние кнопки переключения NSUserdefault. Если данные являются небольшими и конфиденциальными и их необходимо зашифровать, используйте Хранилище с ключевыми цепочками.

если данные огромный и структурированы, и вы хотите иметь Wrapper для обработки подчеркнутые Используйте SQLite CoreData

даже андроид поддержки же SQLite.

Так что это зависит от вашего требования, которое функция хранения, которую вы хотели бы использовать.

Примечание: - только для хранения клиентов.

0

Если вы используете Android или IOSSQLite базы данных является good.Because очень легко хранить и управлять data's.otherwise, если вы хотите хранить данные во внутренних хранилищах вы просто идти с Файловая система. Вы также можете хранить большой объем данных.

0

Написать класс, расширяющий SQLiteOpenHelper

public class DBHelper extends SQLiteOpenHelper { 
    public static final String DATABASE_NAME = "MyDBName.db"; 
    private static final int DATATBASE_VERSION = 2; 

    // int count; 
    public DBHelper(Context context) { 
     super(context, DATABASE_NAME, null, DATATBASE_VERSION); 
     this.getWritableDatabase(); 
    } 

    // Create the tables inside the oncreate methode 
    @Override 
    public void onCreate(SQLiteDatabase db) { 
     db.execSQL("CREATE TABLE IF NOT EXISTS table1 " + "(id integer primary key,name text)"); 
     db.execSQL("CREATE TABLE IF NOT EXISTS table2 " + "(id integer primary key,name text,filed1 text,filed2 text)"); 
    } 

    // write methodes for inserting intoo table 
    public boolean insertTable1(int id, String name) { 
     SQLiteDatabase db = this.getWritableDatabase(); 
     ContentValues contentValues = new ContentValues(); 
     contentValues.put("id", id); 
     contentValues.put("name", name); 

     db.insert("work_items", null, contentValues); 
     return true; 
    } 

    // methode for deleting all values from table1 
    public void deleteAllWorkers() { 
     SQLiteDatabase db = this.getWritableDatabase(); 
     db.execSQL("delete from table1"); 
     db.execSQL("vacuum"); 
     db.close(); 
    } 
} 

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

DBHelper dbHelper=new DBHelper(activity); 
dbHelper.insertTable1(id,name); 

Надеюсь, это вам поможет.

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