标签: android-sdcard

16
推荐指数
1
解决办法
2万
查看次数

如何检查外部存储空间的可用性?

如何检查SD卡是否已满,以便您的应用程序可以决定是否可以继续执行其工作,即写入外部存储器或通知用户存储空间不足.

android android-sdcard android-external-storage

15
推荐指数
3
解决办法
8877
查看次数

Android:从SD卡显示图像

这让我疯了!这是我的代码(我知道这个文件存在):

File imageFile = new File("/sdcard/gallery_photo_4.jpg");
ImageView jpgView = (ImageView)findViewById(R.id.imageView);
BitmapDrawable d = new BitmapDrawable(getResources(), imageFile.getAbsolutePath());
jpgView.setImageDrawable(d);
Run Code Online (Sandbox Code Playgroud)

错误发生在最后一行(第28行,如下所示).

错误输出:

W/dalvikvm(  865): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
E/AndroidRuntime(  865): FATAL EXCEPTION: main
E/AndroidRuntime(  865): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.example.camera/org.example.camera.Imgview}: java.lang.NullPointerException
E/AndroidRuntime(  865):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
E/AndroidRuntime(  865):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
E/AndroidRuntime(  865):    at android.app.ActivityThread.access$2300(ActivityThread.java:125)
E/AndroidRuntime(  865):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
E/AndroidRuntime(  865):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(  865):    at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(  865):    at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(  865):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(  865):    at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( …
Run Code Online (Sandbox Code Playgroud)

android android-sdcard android-imageview

15
推荐指数
3
解决办法
6万
查看次数

Android的外部SDCard文件路径

Android设备上外部SDCard的文件路径始终是"/ storage/extSdCard"吗?如果没有,有多少变化?

我需要它来为我的应用程序测试外部 SD卡的可用性.

我正在使用Titanium,它有一个方法Titanium.Filesystem.isExternalStoragePresent() 但它总是返回true,即使没有安装外部SDCard.

我认为它在本地存储中检测到SDCard因此返回true.但我真正想要的是检测物理SD卡是否已安装.

我可以通过单独检测文件"/ storage/extSdCard"的存在来做到这一点吗?

谢谢.

android external sd-card titanium android-sdcard

15
推荐指数
3
解决办法
6万
查看次数

获取连接到Android设备的所有存储设备的路径列表

我想获取连接到Android设备的所有存储设备的列表.

例如 - 内部存储(存储所有文件夹,如下载,DCIM等),SD卡和OTG设备.

我知道有很多StackOverflow帖子讨论了这个主题,但没有一个可以满足我的目的,如上所述.

我可以通过调用Environment.getExternalStorageDirectory().getPath()返回内部存储的路径来获取内部存储.

对此的任何帮助都将非常感激,因为没有标准的AFAIK可以使用它来检索所有连接的存储设备的列表.

此外,许多解决方案不适用于不同的设备和Android版本.

java android sd-card android-sdcard usb-otg

15
推荐指数
1
解决办法
1794
查看次数

所有Android设备都有内置SD卡吗?

在我的应用程序的第一次运行,我正在下载一个非常大的文件到/ sdcard /

我已经知道如果用户手机的内部SD卡已满或未安装(例如,如果手机作为大容量存储设备连接到PC,或者未正确断开与PC的连接),则可能会失败.

但是有没有没有内部SD卡的Android设备?(我的应用肯定无法使用)

android android-sdcard

13
推荐指数
1
解决办法
9459
查看次数

在Android文件浏览器中可见时,无法在Windows资源管理器中查看文件

通过我的Android程序,我写了一个这样的文件:

String file = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Files/hello.txt";
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(str+"\n");     \\yeah string has a value there
writer.close();
Run Code Online (Sandbox Code Playgroud)

现在,当我进入Android的"Astro"文件浏览器时,我可以看到文件hello.txt,/mnt/sdcard/Files但是当我在Windows中安装sdcard时,我只能看到该文件夹​​中有4个其他文件而不是hello.txt.

在Windows本身,我甚至试图取消选中隐藏隐藏文件选项,以确保文件不被隐藏,但它只是不可见.

我甚至试图在SD卡的根目录中写入文件,但同样的问题.现在我很惊讶我怎么可能在Android中看到该文件而在Windows中却看不到.在Android中我甚至检查了文件内容,一切看起来都很好.

可能是什么问题呢?我写错文件的方式是什么?

PS:是的,android.permission.WRITE_EXTERNAL_STORAGE添加了Manifest权限.

android windows-explorer filewriter android-sdcard

13
推荐指数
1
解决办法
2万
查看次数

除非我"强制关闭"应用程序,否则无法在sd-card上看到由Android应用程序编写的Windows文件

我通过我的Android程序写了一个文件,如下所示:

String file = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Files/hello.txt";
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(str + "\n");     \\ Yeah, 'str' has a value there
writer.close();
Run Code Online (Sandbox Code Playgroud)

该程序完成其工作并完成.现在我点击Android上的后退按钮关闭应用程序.现在发生的事情是,如果我去Android文件浏览器(如Astro)我可以看到该文件,但如果我在Windows上安装SD卡,我看不到该文件!

现在,如果我去,__CODE__我甚至可以在Windows中看到该文件.

我应该怎么做才能在Windows中看到一个文件,如果该文件是由我的Android应用程序在SD卡上写的,我不想每次都去设置并强制关闭.

实际上文件写得正确(我认为),但由于Android'后退'按钮的默认行为不会杀死应用程序,看起来除非应用程序被杀,否则我无法在Android之外打开文件(在Android中) ,我仍然能够看到它,甚至打开它).

那么,对于这种情况,什么是最好的解决方案.我应该在关闭时自动终止该应用吗?人们说严格不建议使用System.exit().

android windows-explorer filewriter android-sdcard

13
推荐指数
2
解决办法
5459
查看次数

保存到SD卡作为文本文件

   stopWriting = (Button) findViewById(R.id.save);
   stopWriting.setOnClickListener(new OnClickListener() {

       @SuppressLint("SdCardPath")
    public void onClick(View v) {
           // stop recording the sensor data
           try {

               myFile = new File("/sdcard/SensorData/" + txtData.getText() + ".txt");
               myFile.createNewFile();

               sData = new FileOutputStream(myFile);
               myOutWriter = new OutputStreamWriter(sData);
               myBufferedWriter = new BufferedWriter(myOutWriter);
               myPrintWriter = new PrintWriter(myBufferedWriter);

               //if(myFile != null )//stopFlag = mSensorManager.cancelTriggerSensor(null, null);
               Toast.makeText(getBaseContext(), "Done", Toast.LENGTH_SHORT).show();
           } catch (Exception e) {
               Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
           }
       }
   });
Run Code Online (Sandbox Code Playgroud)

我试图将陀螺仪数据保存到txt文件,但它不保存.如果有人发现问题,请帮我纠正.

java android save android-sdcard android-memory

13
推荐指数
2
解决办法
4万
查看次数

ExoPlayer - 在SD卡中播放本地mp4文件

我正在使用Exoplayer演示应用程序,并希望从SD卡预加载MP4视频.我已经尝试过这篇文章的实现,但它不起作用.在我的exoplayer Demo中没有名为DemoUtil.java的类.改为使用:

public static final Sample[] LOCAL_VIDEOS = new Sample[] {
new Sample("Some User friendly name of video 1",
"/mnt/sdcard/video1.mp4", Util.TYPE_OTHER),
};
Run Code Online (Sandbox Code Playgroud)

我也无法使用他们为SampleChooserActivity.java提到的代码片段.(保持给我错误)

我改为使用:

group = new SampleGroup("Local Videos");
group.addAll(Samples.LOCAL_VIDEOS);
sampleGroups.add(group);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?每个设备的文件路径是否都会更改?

java android android-sdcard exoplayer

13
推荐指数
4
解决办法
2万
查看次数