Articles of android file

使Android图库中的图像文件在棒棒糖上可见

我正在尝试在应用程序中显示一些图片(可以在应用程序外部进行共享和查看),但是我想将图片自己保存在应用程序的数据目录中,以便应用程序被删除,所以他们被保存在“{sdcard} / Android / data / {appID} / Pictures / {subfolder} /” )。 我已经看了很多的答案和Android的旧版本,以下解决scheme的工作,但他们似乎并不工作在棒棒糖: MediaScannerConnection.scanFile(this, new String[]{file.toString()}, new String[] { "image/jpeg" }, new MediaScannerConnection.OnScanCompletedListener() { public void onScanCompleted(String path, Uri uri) { Log.i("ExternalStorage", "Scanned " + path + ":"); Log.i("ExternalStorage", "-> uri=" + uri); } }); Uri contentUri = Uri.fromFile(file); Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,contentUri); […]

Android – 将文件从资产复制到/ data / data文件夹

我需要在我的应用程序中使用一些文件。 他们被保存在资产文件夹中。 我在SO上看到了有关文件从资产文件夹复制到内部存储上的/ data / data /的讨论,然后被使用。 我得到的代码,但我没有得到的是,有什么需要将资产复制到内部存储? 如果有人有这方面的经验,帮助!

为什么FileOutputStream抛出FileNotFoundException?

Android开发人员参考( 本页 )说: Throws FileNotFoundException 但是一开始就说: 打开与此Context的应用程序包关联的私有文件以进行写入。 如果文件不存在,则创build该文件。 如果是这样的话, 为什么会抛出FileNotFoundException? 我只是想确保我正确处理所有情况。 我正在使用默认function,所以我可以把它封装在一个try..catch块中,而catch块中什么也不做,因为FileNotFoundException不可能被抛出默认的function。 编辑: “默认function”的例子: String FILENAME = "hello_file"; String string = "hello world!"; FileOutputStream fos = context.openFileOutput(FILENAME, Context.MODE_PRIVATE); fos.write(string.getBytes()); fos.close();

为什么在Android棒棒糖上需要使用getExternalCacheDir()的WRITE_EXTERNAL_STORAGE权限?

我的应用程序将caching文件写入(并读取)到getExternalCacheDir()位置。 在Android棒棒糖之前(API 21)我一直在成功地使用这个权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" /> maxSdkVersion在那里,因为API v18之后不需要这个权限: http : //developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE 但是,在Android棒棒糖(5.0)我得到了像这样的访问权限(我的日志输出显示实际使用的path): 11-19 13:01:59.257 4462-4541/com.murrayc.galaxyzoo.app E/android-galaxyzoo﹕ createCacheFile(): IOException for filename=/storage/emulated/0/Android/data/com.murrayc.galaxyzoo.app/cache/52 java.io.IOException: open failed: EACCES (Permission denied) at java.io.File.createNewFile(File.java:941) at com.murrayc.galaxyzoo.app.provider.ItemsContentProvider.createCacheFile(ItemsContentProvider.java:528) 我在模拟器和Nexus 4上看到了这一点。有没有改变,还是我一直在做错事? 我只想访问我自己的应用程序的caching。 更新:我现在只能在我的设备上看到这个(Nexus 4运行标准的Android 5.1.1,从我第一次有这个问题,甚至有一个新的Android刷新)。 我不再在模拟器中看到这个 – 当然系统映像已经被更新了好几次。

读/写文件到内部专用存储

我将应用程序从Symbian / iPhone移植到Android,其中一部分是将一些数据保存到文件中。 我使用FileOutputStream将文件保存到私有文件夹/ data / data / package_name / files中 : FileOutputStream fos = iContext.openFileOutput( IDS_LIST_FILE_NAME, Context.MODE_PRIVATE ); fos.write( data.getBytes() ); fos.close(); 现在我正在寻找一种方法来加载它们。 我正在使用FileInputStream ,但它允许我逐字节地读取文件,这是非常低效的: int ch; StringBuffer fileContent = new StringBuffer(""); FileInputStream fis = iContext.openFileInput( IDS_LIST_FILE_NAME ); while( (ch = fis.read()) != -1) fileContent.append((char)ch); String data = new String(fileContent); 所以我的问题是如何更好地阅读文件的方式?

在Android中将位图保存为外部存储器中的JPEG文件夹

我使用此代码将位图保存在外部存储中,但是如果它不存在,则不会创build该文件夹: String path = Environment.getExternalStorageDirectory().toString(); OutputStream fOutputStream = null; File file = new File(path + "/Captures/", "screen.jpg"); try { fOutputStream = new FileOutputStream(file); capturedBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fOutputStream); fOutputStream.flush(); fOutputStream.close(); MediaStore.Images.Media.insertImage(getContentResolver(), file.getAbsolutePath(), file.getName(), file.getName()); } catch (FileNotFoundException e) { e.printStackTrace(); Toast.makeText(this, "Save Failed", Toast.LENGTH_SHORT).show(); return; } catch (IOException e) { e.printStackTrace(); Toast.makeText(this, "Save Failed", Toast.LENGTH_SHORT).show(); return; } […]

如何在文件目录的子目录下创build具有世界可读权限的文件

我需要在我的应用程序的全局许可下在myapp / files / subdir下创build文件。 我这样做是因为我使用外部应用程序来打开一些文件 FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_WORLD_READABLE); 只在文件夹下创build文件。 运用 File dir=new File(Constants.TASK_DIRECTORY); dir.mkdirs(); File file=new File(dir, FILENAME); file.createNewFile(); FileOutputStream fos=new FileOutputStream(file); 在子目录下创build文件,但具有私有权限。 我需要find一种方法来组成这两个在子目录中创build一个文件是世界可读的 我一直在尝试很多东西,但没有人帮助我,这是我的最长时间没有回答的问题

Android 5(HTC)EACCES(权限被拒绝)

应用程序无法创buildfolder/file在android 5(HTC HTC6525LVW os version: 5.0.1)外部存储在应用程序拥有的目录。 父文件夹由[getExternalFilesDirs(String type)][1]方法返回。 Sdcard被安装。 任何人有这个问题或build议如何解决它? (不幸的是,我没有这个设备来testing它) 编辑:从一个用户,我知道这个bug之前,她encryptionSD卡,然后格式化它。

如何在android中获取内部和外部的SD卡path

大多数新的Android设备有一个内部的SD卡和外部的SD卡。 我想制作一个文件资源pipe理器的应用程序,但我找不到如何得到在我的应用程序中使用的path,因为 File file = Environment.getExternalStorageDirectory(); 只是在大多数设备/mnt/sdcard返回,但另一个外部sdcard,如/storage1 or /storage2 。 任何帮助赞赏。

从外部存储器加载文件到Inputstream

我在我的外部目录中有一个video文件。 我怎么可以加载到inputstreamvariables。 目前我正在读res / raw文件夹中的文件,但是我想从sdcard中读取它。 我也不知道文件的名称,但它的path将通过意图收到。 检查下面的代码 public class SonicTest extends Activity { VideoView videoView; String uri; InputStream soundFile; File file; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void play(View view) { new Thread(new Runnable() { public void run() { float speed= (float) 1.0; float pitch= (float) 1.5; float rate= (float) 1.0; […]