0

我编写了代码,将用户的答案以及录制的音频片段 (.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());
4

3 回答 3

0

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

于 2011-06-09T12:51:10.293 回答
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) 
                                        {
                                        }

仔细阅读此代码中的上述代码,我在项目的行文件夹中有一个图片文件,然后上传到服务器。

我希望这是有帮助的。

于 2011-06-09T12:51:58.220 回答
0

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

于 2011-06-09T12:58:54.630 回答