Android studio 获取手机外部存储和sd卡存储位置
时间: 2023-03-16 15:44:43 浏览: 131
使用Android Studio可以通过Environment.getExternalStorageDirectory()来获取外部存储的位置,以及Environment.getExternalStoragePublicDirectory()来获取SD卡存储的位置。
相关问题
android studio显示手机固定路径下的外部存储照片
要在Android Studio中显示手机固定路径下的外部存储照片,可以按照以下步骤进行操作:
1. 首先,确保在AndroidManifest.xml文件中添加了外部存储的权限。在<manifest>标签内添加以下权限声明:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
2. 接下来,创建一个用于显示照片的布局文件。可以使用ImageView组件来显示照片。
3. 在Java代码中,可以使用以下步骤来获取照片的路径并将其显示在ImageView组件中:
- 引入相关的类和包:
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
- 获取外部存储的路径:
String imagePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/图片文件夹/照片.jpg";
- 使用BitmapFactory类的decodeFile方法将照片文件解码为Bitmap对象:
Bitmap photo = BitmapFactory.decodeFile(imagePath);
- 将Bitmap对象设置给ImageView组件进行显示:
imageView.setImageBitmap(photo);
注意:如果照片较大,可以使用BitmapFactory.Options类中的inSampleSize属性来对照片进行缩放,以减少内存的使用。
4. 最后,确保在应用中添加适当的权限请求代码,以获取读取外部存储的权限。可以使用以下代码请求权限:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_CODE);
}
其中,REQUEST_CODE是您定义的请求代码。
这样,当您运行应用时,它将显示指定路径下的照片,并将其设置给ImageView组件进行显示。
android studio如何利用外部存储保存数据在手机上并以txt形式打开
您可以使用以下代码在Android Studio中利用外部存储保存数据并以txt形式打开:
首先,添加以下权限到您的AndroidManifest.xml文件中:
```
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
```
接下来,您可以使用以下代码来保存数据:
```Java
try {
File file = new File(Environment.getExternalStorageDirectory(), "fileName.txt");
FileOutputStream fos = new FileOutputStream(file);
fos.write("Hello, world!".getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
```
最后,您可以使用以下代码打开txt文件:
```Java
File file = new File(Environment.getExternalStorageDirectory(),"fileName.txt");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "text/plain");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
```
请注意,您需要确保在Android设备上拥有读/写外部存储的权限才能正常工作。