[android]关于目录/sdcard和/mnt/sdcard

[android]关于目录/sdcard和/mnt/sdcard

 

     sdcard也就是储存卡,路径都是一直存在于mnt文件夹的,mnt是安卓unix传统系统下挂载外部设备的专用目录,mnt/sdcard是实际的文件所在的地方,/sdcard是mnt/sdcard的虚拟或快捷方式. 在android系统是必须这样运作的哦。

Android应用中,如果需要通过JSON将图片从本地存储(通常是内部存储或SD卡)发送出去,通常会遵循以下步骤: 1. **读取图片**: 使用`FileInputStream`或`BitmapFactory`加载SD卡路径下的图片文件。例如,假设图片文件名为`image.jpg`位于SD卡的`Pictures`目录下: ```java File imageFile = new File("/mnt/sdcard/Pictures/image.jpg"); FileInputStream fis = null; try { fis = new FileInputStream(imageFile); // 将输入流转换为Bitmap Bitmap bitmap = BitmapFactory.decodeStream(fis); } catch (FileNotFoundException e) { e.printStackTrace(); } ``` 2. **序列化到JSON**: 确保图片已经加载成功后,可以将其转换为字节数组,然后使用Gson或者其他库将其转换为JSON字符串。这里是一个简单的示例,假设我们有一个`ImageModel`类用于封装图片信息: ```java ImageModel imageModel = new ImageModel(); imageModel.setFilePath(imageFile.getAbsolutePath()); byte[] imageData = convertBitmapToByteArray(bitmap); // 自定义函数,将Bitmap转换为字节数组 String jsonString = new Gson().toJson(imageModel); ``` 3. **发送JSON数据**: 最后,你可以通过HTTP请求将JSON数据发送给服务器。这可能是网络请求、使用OkHttp、Retrofit等库,示例如下: ```java OkHttpClient client = new OkHttpClient(); FormBody.Builder builder = new FormBody.Builder(); builder.add("image", jsonString); Request request = new Request.Builder() .url("your_server_url") .post(builder.build()) .build(); client.newCall(request).enqueue(new Callback() {...}); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值