android文件图片|Android 往文件夹写入图片

android文件图片|Android 往文件夹写入图片的第1张示图

㈠ Android R文件里面有几张图片,我现在需要他们的imagepath,怎么写

public static Bitmap getBitmapFromServer(String imagePath) { HttpGet get = new HttpGet(imagePath); HttpClient client = new DefaultHttpClient(); Bitmap pic = null; try { HttpResponse response = client.execute(get); HttpEntity entity = response.getEntity(); InputStream is = entity.getContent(); pic = BitmapFactory.decodeStream(is); // 关键是这句代码 } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return pic; } public static Bitmap getBitmapFromServer(String imagePath) { HttpGet get = new HttpGet(imagePath); HttpClient client = new DefaultHttpClient(); Bitmap pic = null; try { HttpResponse response = client.execute(get); HttpEntity entity = response.getEntity(); InputStream is = entity.getContent(); pic = BitmapFactory.decodeStream(is); // 关键是这句代码 } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return pic; }其中imagePath是你的图片路径,最后可以将图片显示在手机上:[java]imageView.setImageBitmap(bitmap);

㈡ android怎样浏览一个文件夹里的图片

读图片的是侯要选择你要读的文件夹 按目录打开 有些读取的图片是浏览器默认的

㈢ Android 往文件夹写入图片

步骤:

1、AndroidManifest.xml中配置SD卡写权限

<!–往SDCard写入数据权限–><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

2、java代码往SD卡写入图片信息

(Bitmapbitmap,String_file)throwsIOException{BufferedOutputStreamos=null;try{Filefile=newFile(_file);//新建图片intend=_file.lastIndexOf(File.separator);String_filePath=_file.substring(0,end);//获取图片路径FilefilePath=newFile(_filePath);if(!filePath.exists()){//如果文件夹不存在,创建文件夹filePath.mkdirs();}file.createNewFile();//创建图片文件os=newBufferedOutputStream(newFileOutputStream(file));bitmap.compress(Bitmap.CompressFormat.PNG,100,os);//图片存成png格式。}finally{if(os!=null){try{os.close();//关闭流}catch(IOExceptione){Log.e(TAG_ERROR,e.getMessage(),e);}}}}

㈣ android里面的图片资源怎么都是png的

因为png格式的文件支持透明度,android中可以存在四种png后缀的image文件1.标准PNG: (ex.应用默认的icon.png)符合PNG-8标准的PNG图片, 只能做图片, 不能放缩.2.Android打包处理后的9.png: (ex.应用APK中打包的9.PNG)为了保证占用空间小,android在资源中删除了标准PNG的大量冗余信息,去除了周边的空白像素,减少了IDAT数据段,在打包成APK的时候,里面的文件就是不可放缩的9.png, 虽然后缀名还是9.png,但是已经没有放缩功能,并且把边界多的两个像素也去除了.3.Android不可放缩的9.png:在drawable中可以找到9.png图片,但是使用Draw 9-patch软件打开会报错,但是可以在drawable中使用,这些文件只是删除了冗余信息,并且加上了边界的两个像素点,并没有添加可放缩的flag到文件中,这些文件只能作为打包后的9.PNG使用(但是size会小一些),不能放缩和做背景.4.Android可放缩的9.png:可以使用Draw 9-patch软件打开,不会报错,在drawable中使用,android会根据设置的黑色像素点来进行放缩.有添加可缩放的flag到文件中,可以做为View的背景或者普通的图片显示.在做背景时,可以进行拉伸和放缩.在做非背景时,比如像ImageView这类设置src图片则不随view变化,按其自身大小显示部分或全部. 另: 对9.png后缀文件的解析逻辑及可放缩chunk检查的逻辑 Images.cpp 对9.PNG判断函数入口: Drawable.java中对”nine-patch”字段的判断

㈤ android照片在哪个文件夹

/sdcard/DCIM/Camera

㈥ 安卓android手机 打开图片库 很多 有图片的文件夹!都会默认被预览!有些图片我不想被预览!怎么设置

android 是linux内核,在文件系统中以.开头的文件或者文件夹都是隐藏文件,因此你可以这样隐藏:

只需要将这个目录的名称改成.开头 即可隐藏掉。

图库默认有这个功能,只要你长按就会弹出选项,选择隐藏即可

㈦ Android 保存图片到本地。

这里只介绍按下“保存”后如何将一个Bitmap对象保存为图片文件的执行步骤,对图片的下载,图片到Bitmap对象的转换,Bitmap对象的格式转换和压缩,以及界面设计部分全部都忽略了。

确定存储路径

获取外部存储权限

确定外部存储状态

确定文件名

保存到文件中

发送广播,通知系统扫描保存后的文件

确定存储路径

在Android中文件存储路径包括内部存储和外部存储两种类型。

对内部存储,当一个app被安装到手机后,Android系统会在内部存储的/data/data/目录下创建一个以包名称命名的文件夹。例如/data/data/com.sohu.inputmethod.sogou/。一个应用对内部存储的所有访问都被限制在这个文件夹中,也就是说Android应用只能在该目录中读取,创建,修改文件。对该目录之外的其他内部存储中的目录都没有任何操作的权限。因此,如果将图片保存在内部存储中,只能被应用自身读取,其他应用均无法读取。如果需要让系统图库,相册或其他应用能够找到保存的图片,必须将图片保存到外部存储中。

对外部存储,当一个app被安装到手机后,Android系统会在外部存储的/Android/data/目录下创建一个以包名命名的文件夹(这里第一个/不是根路径,而是相对外部存储所挂载路径的相对路径)。例如/storage/emulated/0/Android/data/com.sohu.inputmethod/。这个路径同样只能被应用自身读取,其他应用不能访问。因此,也不能将图片保存在这个目录中。

除外部存储的/Android目录之外的其他目录一般都是可以被其他应用访问的。目前,大多数应用都会在外部存储的根路径下建立一个类似包名的多层目录,以存储需要共享的文件。例如/storage/emulated/0/sogou/image/。还需要注意的是,很多查看图片的应用都支持按照文件夹来查看图片。如果将图片所在的文件夹取名为image,photo之类的,就无法和其他文件夹区分开,用户也不能识别该文件夹的用途。因此最好取一个有区分度的文件夹名字,例如网络贴吧就保存在/tieba目录,微信是保存在/tencent/MicroMsg/WeiXin目录。

由于Android系统的碎片化问题,不同设备上外部存储的路径很可能会不同,因此,不能直接使用/storage/emulated/0/作为外部存储的根路径。Android SDK中 Environment类 提供了getExternalStorageDirectory()方法来获取外部存储的根路径。示例如下:

[java]view plain

Stringdir=Environment.getExternalStorageDirectory().getAbsolutePath()+"/tencent/MicroMsg/WeiXin/"

需要注意的是Environment.getExternalStorageDirectory()返回的路径中最后一个字符不是/,如果需要创建子目录,需要在子目录的前后都加上/。

获取外部存储权限

由于需要在外部存储中写文件,需要在AndroidManifest.xml中增加如下的权限声明。

[java]view plain

<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

确定外部存储状态

由于外部存储需要被挂载,也可以被卸载,在写入文件之前,需要先判断外部存储的状态是否正常。只有状态正常情况下才可以执行保存文件的操作。获取外部存储状态同样是通过Environment类,通过Environment.getExternalStorageState()可以得到一个字符串,来表示外部存储的状态。同时在Environment类中定义了一系列的String常量表示不同的状态。在所有的状态中只有内部存储处于Environment.MEDIA_MOUNTED状态时才可以读写文件,因此,需要将获取到的状态和Environment.MEDIA_MOUNTED做比较,如果不是Environment.MEDIA_MOUNTED状态,就返回保存失败。示例如下。

[java]view plain

//获取内部存储状态

Stringstate=Environment.getExternalStorageState();

//如果状态不是mounted,无法读写

if(!state.equals(Environment.MEDIA_MOUNTED)){

return;

}

确定文件名

保存的图片文件名可以由应用根据自身需要自行确定,一般来说需要有一个命名规则,然后根据命名规则计算得到文件名。这里列举几种常见的命名规则。

随机命名这种命名规则是随机生成一个字符串或一组数字来对图片命名。字符串可以通过UUID来生成,数字可以通过Random()类来生成,例如:

[java]view plain

//通过UUID生成字符串文件名

StringfileName1=UUID.randomUUID().toString();

//通过Random()类生成数组命名

Randomrandom=newRandom();

StringfileName2=String.valueOf(random.nextInt(Integer.MAX_VALUE));

这种命名规则是按照数字从小到大的顺序来对图片命名。在程序启动时先获取图片文件名中当前最大数字的文件名,之后每保存一张图片就将数字加1即可。

时间命名这种命名规则是根据保存图片的当前系统时间来对图片命名。系统时间可以通过System.currentTimeMillis()来获取,不过System.currentTimeMillis()获取到的时间是一个long型的整数,如果用它做文件名,无法通过文件名直接看出文件的具体保存时间。可以通过SimpleDateFormat先对当前时间做格式化,然后再将其作为文件名来使用。例如:

[java]view plain

使用这种命名规则来命名需要注意的是同一秒钟可能会有多张图片需要保存,在得到当前系统时间对应的文件名后,需要判断该文件是否存在。如果文件已经存在,需要重新生成文件名。重新生成的文件名可以在之前的文件名后加上一个随机数后缀,或者是用毫秒数做后缀。

Calendarnow=newGregorianCalendar();

SimpleDateFormatsimpleDate=newSimpleDateFormat("yyyyMMddHHmmss",Locale.getDefault());

StringfileName=simpleDate.format(now.getTime());

文件URL命名每张网络图片都有一个对应的图片URL,可以根据图片的URL来对图片命名。不过URL中会包含一些不能用作文件名的特殊字符,此外直接用URL来命名可能会带来安全问题。为了避免这两个问题,可以将图片URL的MD5值作为文件名来使用。由于MD5是不可逆的,也就无法通过MD5值反向得到图片URL,同时MD5值对应的字符串只包含[0-9A-Z],不包含特殊字符,可是作为文件名使用。由于每张图片的URL是唯一的,其对应的文件名也就是唯一的。如果需要每张网络图片只能生成一个文件,不允许保存为多份拷贝,可以用这种命名规则。在得到URL对应的文件名后,先判断文件是否已经存在,如果已经存在,直接覆盖或不处理。

保存到文件中

保存图片文件时,通过Bitmap的compress()方法将Bitmap对象压缩到一个文件输出流中,然后flush()即可。示例如下。

[java]view plain

try{

Filefile=newFile(dir+fileName+".jpg");

FileOutputStreamout=newFileOutputStream(file);

mBitmap.compress(Bitmap.CompressFormat.JPEG,100,out);

out.flush();

out.close();

}catch(Exceptione){

e.printStackTrace();

}

发送广播,通知系统扫描保存后的文件

至此,已经实现将Bitmap对象保存成外部存储中的一个jpg格式的文件。但此时该文件只是保存在外部存储的一个目录中,必须进入其所在的目录中才可以看到。在系统图库,相册和其他应用中无法看到新建的图片文件。为了让其他应用能够知道图片文件被创建,必须通知MediaProvider服务将新建的文件添加到图片数据库中。

Android系统中常驻一个MediaProvider服务,对应的进程名为android.process.media,此服务用来管理本机上的媒体文件,提供媒体管理服务。在系统开机或者收到外部存储的挂载消息后,MediaProvider会调用MediaScanner,MediaScanner会扫描外部存储中的所有文件,根据文件类型的后缀将文件信息保存到对应的数据库中,供其他APP使用。

MediaScannerReceiver是一个广播接收者,当它接收到特定的广播请求后,就会去扫描指定的文件,并根据文件信息将其添加到数据库中。当图片文件被创建后,就可以发送广播给MediaScannerReceiver,通知其扫描新建的图片文件。示例如下。

[java]view plain

try{

Filefile=newFile(dir+fileName+".jpg");

FileOutputStreamout=newFileOutputStream(file);

mBitmap.compress(Bitmap.CompressFormat.JPEG,100,out);

out.flush();

out.close();

//保存图片后发送广播通知更新数据库

Uriuri=Uri.fromFile(file);

sendBroadcast(newIntent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,uri));

}catch(Exceptione){

e.printStackTrace();

}

图片的异步保存

保存图片文件时,如果图片很大,或需要同时保存多张图片时,就需要较多的时间。为了避免阻塞UI线程,出现帧率下降或ANR,通常需要将图片保存操作放到线程中去执行。当图片保存完毕后通过sendMessage()方法通知UI线程保存结果。将图片保存放到后台线程去执行需要增加一些同步机制避免一些多线程问题。例如有两张图片需要保存,分别放到两个线程中去执行,保存图片时文件名以数字顺序增加。第一个线程选中文件名为125.jpg,但此时文件还未创建,第二个线程判断125.jpg不存在,于是也选取125.jpg作为文件名,两张图片就保存到同一个文件中了。

㈧ android中如何从SDcard中读取图片文件

用路径的方法寻找,BitmapFactory.decodeFile(路径)返回值是一个Bitmap,比如sdcard的根目录有个test.png,那么可以这么用BitmapFactory.decodeFile("mnt/sdcard/test.png")。然后ImageView之类的图片控件,可以用setImageBitmap(Bitmap)之类的方法,就可以使用sdcard中的图片了,不过好像需要加一个权限的,就是在androidmanifest.xml中添加。你说的读取系统一个小图标R.drawable.ic_menu_camera,其实也是用路径寻找的,不过被google封装起来了,用映射的方法寻找到相关路径下的文件。 比如R.drawable 就知道是res下面drawable-XX(根据系统配置,寻找不同文件夹下的图片)文件下的图片,比如R.layout 就是res下面layout下面的文件。SimpleAdapter可以算是一个测试用的设配器,最好自己尝试写设配器,自由空间比较大。

㈨ android 文件夹上的图片是怎么画的

Android框架API提供了一组2D描画API,使用这些API能够在一个画布(canvas)上渲染自己的定制图形,也能够修改那些既存的View对象,来定制它们的外观和视觉效果。在绘制2D图形时,通常要使用以下两种方法中的一种: 1. 把图形或动画绘制到布局中的一个View对象中。在这种方式中,图形的绘制是由系统 通常的绘制View层次数据的过程来处理的—只需简单的定义要绘制到View对象内的图形即可。 2. 把图形直接绘制在一个画布对象上(Canvas对象)。这种方法,要亲自调用相应类的 onDraw()方法(把图形传递给Canvas对象),或者调用Canvas对象的一个draw…()方法(如drawPicture())。在这个过程中,还可以控制任何动画。 当想要把不需要动态变化和没有游戏性能要求的一个简单的图形绘制到View对象时,方法一是最好的选择。例如,在想要在一个静态的应用程序中,显示一个静态图形或预定义动画时,就应该用方法1把图形绘制到一个View对象中。 当应用程序需要经常重新绘制自己的时候,使用方法2把图形绘制到Canvas中,是一个比较好的选择。像视频游戏这样的应用程序,就应该在它们自己的Canvas对象上绘制图形。但是,有更多的方法来完成绘制任务: 1. 在与UI的Activity相同的线程中,创建布局中一个定制的View对象组件,就先要调用 invalidate()方法,然后处理onDraw()回调方法; 2. 在一个独立的线程中,管理着SurfaceView对象,并且使用线程来执行把图形绘制到 Canvas对象上的任务(不需要请求invalidate()方法)。好评吧。谢了!

㈩ android手机里的照片在哪个文件夹里

android手机里的照片在DCIM-Camera文件夹。

具体步骤:

1、先将手机与电脑相连,在电脑上找到可移动磁盘设备,点击打开。

(10)android文件图片扩展阅读:

定义

1. DCIM (Data Center Infrastructure management) 数据中心基础设施管理 是将IT(信息技术)和设备管理结合起来对数据中心关键设备进行集中监控、容量规划等集中管理。通过软件、硬件和传感器等,DCIM提供一个独立的管理平台,对数据中心IT设备和基础设施进行实时监控和管理。

3. 离散福镜像法:方程(MPIE)的矩量法是目前分析微带结构的主要方法之一.MPIE算法的核心是空域格林函数的求解.提出了二级离散复镜像法(DCIM)与表面波处理相结合的方法对空域格林函数进行计算.根据表面波的性质,提出了2种二级DCIM和表面波相结合的方案,分段比较两方案的…

4. 接口模块:Dominion 电脑接口模块 (DCIM),这是一种非常小的转接头,直接插入服务器的键盘、视频及鼠标连接端口。

5. DCIM(Data Center Integrated Management)数据中心集成管理

未经允许不得转载:山九号 » android文件图片|Android 往文件夹写入图片

赞 (0)