Как сохранить файл / ответы, если у пользователя нет SD-карты? - PullRequest
0 голосов
/ 09 июня 2011

Я написал код, который сохраняет ответы пользователя, а также записанный аудиофрагмент (.3gp) на его SD-карту, которая затем загружается на сервер.Я знаю, что это, вероятно, не лучший способ сделать это, потому что у пользователя может не быть SD-карты.Я знаю, что могу вставить код, чтобы проверить, есть ли у пользователя SD-карта, но это не сильно поможет.Есть ли альтернативный способ хранения информации или файлов на устройстве, у которого нет SD-карты, или лучший способ сделать это?Спасибо за помощь!

РЕДАКТИРОВАТЬ: приведенный ниже код был рабочим решением

try{
File pathCacheDir = getCacheDir();
System.out.println("Got the Cache directory");
File newCacheFile = new File(pathCacheDir, cacheFileName);
newCacheFile.createNewFile();
FileOutputStream stream = new FileOutputStream (newCacheFile.getAbsolutePath());

Ответы [ 3 ]

0 голосов
/ 09 июня 2011

Вы должны сохранить некоторые временные данные в папке строк проекта.

if (android.os.Environment.getExternalStorageState()
                                            .equals(android.os.Environment.MEDIA_MOUNTED))
                                            cacheDir = new File(android.os.Environment.getExternalStorageDirectory(),
                                                            "LazyList");
                                        else
                                            cacheDir = Login.this.getCacheDir();
                                        if (!cacheDir.exists())
                                            cacheDir.mkdirs();
                                        File f = new File(cacheDir,"profileimage.jpg");
                                        try 
                                        {
                                            InputStream is = new URL(userImageurl).openStream();
                                            OutputStream os = new FileOutputStream(f);
                                            Utils.CopyStream(is, os);
                                            os.close();
                                        } catch (Exception ex) 
                                        {
                                        }

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

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

0 голосов
/ 09 июня 2011

Вы должны иметь возможность создать базу данных для своего приложения и сохранить файл в blob .

0 голосов
/ 09 июня 2011

Обычный способ - хранить большие файлы на сервере, а приложение загружает их при необходимости. Экономьте память! : -)

...