Теперь я делаю приложение для износа, которое записывает акселератор, магнитное поле, гироскоп (50 Гц) и записывает их в файл .db (который содержит 3 таблицы (ускорение, магнитное поле, гироскоп) с помощью SQLiteOpenHelper.
Раз в день я хотел бы отправить файл .db на свой КПК.
Я думаю, что лучше всего использовать DataApi, и я попытался заменить Realm на SQLite в этом коде (https://gist.github.com/tajchert/dc30560891bc6aee76fb).
В этом коде я думал, что эта часть
public static void syncRealm(Context context){
File writableFolder = context.getFilesDir();
File realmFile = new File(writableFolder, Realm.DEFAULT_REALM_NAME);
Asset realAsset = Tools.assetFromFile(realmFile);
new FileSender(realAsset, context).execute();
}
надо менять так
public static void syncDB(Context context) {
WearSqliteOpenHelper helper = new WearSqliteOpenHelper(context);
String dbPath = helper.getReadableDatabase().getPath();
File dbFile = new File(dbPath);
Uri dbUri = Uri.fromFile(dbFile);
Asset realAsset = Asset.createFromUri(dbUri);
new FileSender(realAsset, context).execute();
}
но я не знаю, как преобразовать (byte [] byteArray) в файл .db на портативном компьютере. (Какова альтернативная функция «toFile» ниже. Этот код также находится в https://gist.github.com/tajchert/dc30560891bc6aee76fb)
private void toFile(byte [] byteArray){
File writableFolder = ListenerService.this.getFilesDir();
File realmFile = new File(writableFolder, Realm.DEFAULT_REALM_NAME);
if (realmFile.exists()) {
realmFile.delete();
}
try {
FileOutputStream fos=new FileOutputStream(realmFile.getPath());
fos.write(byteArray);
fos.close();
}
catch (java.io.IOException e) {
Log.d(TAG, "toFile exception: " + e.getLocalizedMessage());
}
}
Пожалуйста помогите!!!