一个关于android的问题,我通过下面的方法调用相机,可是怎么可以在拍照结束后获取照片的路径呢?

一个关于android的问题,我通过下面的方法调用相机,可是怎么可以在拍照结束后获取照片的路径呢?,第1张

Android调用系统拍照的代码:

创建Intent Intent openCameraIntent = new Intent(MediaStoreACTION_IMAGE_CAPTURE);

String imagePath = EnvironmentgetExternalStorageDirectory() + "/image" ;

设置文件路径 File file = new File(imagePath);

if(!fileexists()){

filemkdirs(); }

设置URI,指定相册拍照后保存的路径,Uri imageUri = UrifromFile(new File(imagePath, "imagejsp"));

openCameraIntentputExtra(MediaStoreEXTRA_OUTPUT, imageUri);

startActivityForResult(openCameraIntent, REQUEST_CODE_TAKING_PICTURES);

拍照完以后,文件就会保存在这个指定的目录下了。Uri 里指定了相机拍照的路径。

1
// 从sd卡获取资源
private List<String> getImagePathFromSD() {

// 列表
List<String> picList = new ArrayList<String>();

/

// 得到sd卡内路径
String imagePath =
EnvironmentgetExternalStorageDirectory()toString()
+ "/image";

// 得到该路径文件夹下所有的文件
File mfile = new File(imagePath);
File[] files = mfilelistFiles();

// 将所有的文件存入ArrayList中,并过滤所有格式的文件
for (int i = 0; i < fileslength; i++) {
File file = files[i];
if (checkIsImageFile(filegetPath())) {
picListadd(filegetPath());
}

}

// 返回得到的列表
return picList;

}

// 检查扩展名,得到格式的文件
private boolean checkIsImageFile(String fName) {
boolean isImageFile = false;

// 获取扩展名
String FileEnd = fNamesubstring(fNamelastIndexOf("") + 1,
fNamelength())toLowerCase();
if (FileEndequals("jpg") || FileEndequals("gif")
|| FileEndequals("png") || FileEndequals("jpeg")
|| FileEndequals("bmp")) {
isImageFile = true;
} else {
isImageFile = false;
}

return isImageFile;

}

你直接在手机的浏览器里面输入这个地址也可以显示出这个吗
先怀疑一种可能性:你的手机上网方式不和电脑在一个局域网内部,也就是说不能通过192168来访问你自己服务器上的,你可以先换一张公共网络的地址来调试。

使用开源库,ImageLoader可以轻松完成你的需求
可以设置加载时显示的,加载失败显示的等等,异步加载都是用这个类库的
当你设置好缓存和参数后
一行代码就搞定ImageLoadergetInstance()displayImage(imageUrl, imageView);
或者
ImageLoadergetInstance()displayImage(imageUrl, imageView,options);
// imageUrl代表的URL地址,imageView代表承载的IMAGEVIEW控件 , options代表DisplayImageOptions配置文件

android手机获取自带存储路径和sd卡存储路径的方式是:

调用EnvironmentgetExternalStorageDirectory,返回的存储目录并不是系统内置的SD卡目录。


1、手机将eMC存储挂载到/mnt/external_sd、/mnt/sdcard2等节点,而将外置的SD卡挂载到EnvironmentgetExternalStorgeDirectory这个结点。

2、而另一部分手机直接将eMMC存储挂载在EnvironmentgetExternalStorageDirectory这个节点,而将真正的外置SD卡挂载到/mnt/external_sd、/mnt/sdcard2等节点。调用EnvironmentgetExternalStorgeDirectory,则返回内置的SD的路径。

扩展资料:

Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android10)。后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。

Android的系统架构和其 *** 作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。

参考资料:

百度百科-android


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12774173.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存