2016-12-04 1 views
0

Я создаю приложение для Android, которое позволяет пользователю нарисовать жест, , и я сохраняю жесты в файле res/raw, чтобы получить их позже, чтобы сделать какой-то процесс (например, открыть Facebook при рисовании «f» на экране) , У меня есть код, чтобы сделать все это, но моя проблема в том, что когда я закрываю приложение, необработанный файл удаляет все содержимое (жесты и их имена), которые хранятся пользователем.Android, почему raw-файл удаляет его содержимое (gesturs) после закрытия приложения?

Поэтому мне нужно сохранить жесты и их имена, даже если пользователь закрывает приложение.

К сожалению, для плохого английского

Thx заранее.

Кодекс:

submitButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 


      gesture=gv.getGesture(); 

      GestureLibrary store = GestureLibraries.fromRawResource(NewDrawing.this,R.raw.gesture2); 
      store.addGesture(t.getText().toString(), gesture); 
      store.save(); 

и получить жесты я использовать код:

GestureLibraries lib = GestureLibraries.fromRawResource(MainActivity.this,R.raw.gesture2); 
    if (!lib.load()) { 
     System.out.println("ERROR ,,,,,"); 
     finish(); 
    } 
// To test the raw file contents 
    Set<String> set=lib.getGestureEntries(); 
    Object[] entries=set.toArray(); 

    for(int zz=0;zz < set.size();zz++) 
    { 
    System.out.println(">>>>"+entries[zz].toString()); 
    } 

и единственная запись "о" характер.

+0

afaik, вы не можете хранить данные в необработанной папке, он будет сброшен, когда пользователь перезапустит приложение. Вместо этого попробуйте сохранить в sharedPreference. –

+0

Thx для ур ответ ,,, пожалуйста, как я могу использовать sharedPreference для хранения жестов и их имен, и получить их позже (поставить/установить их в библиотеке для использования функции распознавания() ..etc ???) –

ответ

0

Не используйте общие настройки или необработанные файлы для хранения данных. Я предлагаю хранить в локальном файле. При первом запуске вы можете прочитать необработанный файл. при первом сохранении сохраняются данные в файле. А во втором - просто проверьте, существует ли файл. если это так - читать данные из него. Если не читать данные снова из raw.

if(localFileExist){ 
    data = localFile.read(); 
} else { 
    data = readDataFromRaw(); 
} 
+0

я попробую that, thx body ^^ –

+0

Я не знаю, как создать новый файл в SD-карте и сделать жесты загрузки приложения из него! –

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