如果用户没有SD卡,如何存储文件/响应?

时间:2011-06-09 12:46:43

标签: android storage sd-card android-sdcard

我编写的代码将用户的答案以及录制的音频片段(.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 :(得分:0)

通常的方法是在服务器上保存大文件,应用程序在需要时加载它们。节省内存! : - )

答案 1 :(得分:0)

您应该将一些临时数据存储在项目的行文件夹中。

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) 
                                        {
                                        }

在此代码中完全阅读我的上述代码我已经在项目的行文件夹中打了一个图片文件,然后上传到服务器。

我希望这是有帮助的。

答案 2 :(得分:0)

您应该能够为您的应用创建数据库并将文件存储在blob中。