Android将图片保存至SD卡上
发布时间:2020-12-15 03:16:30 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 首先判断SD卡是否插入-- public String getSDPath(){ File SDdir=null; boolean sdCardExist=Environment.getExternalStorageState().equals(android.
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考
首先判断SD卡是否插入-->
public String getSDPath(){ File SDdir=null; boolean sdCardExist= Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); if(sdCardExist){ SDdir=Environment.getExternalStorageDirectory(); } if(SDdir!=null){ return SDdir.toString(); } else{ return null; } }然后创建文件夹--> public void createSDCardDir(){ if(getSDPath()==null){ Toast.makeText(PicSharesActivity.this,"未找到SD卡",1000).show(); }else{ if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){ // 创建一个文件夹对象,赋值为外部存储器的目录 File sdcardDir =Environment.getExternalStorageDirectory(); //得到一个路径,内容是sdcard的文件夹路径和名字 newPath=sdcardDir.getPath()+"/***app/tempImages/";//newPath在程序中要声明 File path1 = new File(newPath); if (!path1.exists()) { //若不存在,创建目录,可以在应用启动的时候创建 path1.mkdirs(); System.out.println("paht ok,path:"+newPath); } } else{ System.out.println("false"); } } }创建好文件夹之后就可以保存图片了--> public void saveMyBitmap(String bitName,int percent) throws IOException { Bitmap bmp = drawable2Bitmap(picView.getDrawable());//这里的drawable2Bitmap方法是我把ImageView中 的drawable转化成bitmap,当然实验的时候可以自己创建bitmap File f = new File(newPath + bitName + ".jpg"); f.createNewFile(); FileOutputStream fOut = null; try { fOut = new FileOutputStream(f); } catch (FileNotFoundException e) { e.printStackTrace(); } bmp.compress(Bitmap.CompressFormat.JPEG,percent,fOut); try { fOut.flush(); } catch (IOException e) { e.printStackTrace(); } try { fOut.close(); } catch (IOException e) { e.printStackTrace(); } } //附加drawable2Bitmap方法 static Bitmap drawable2Bitmap(Drawable d){ int width=d.getIntrinsicWidth(); int height=d.getIntrinsicHeight(); Bitmap.Config config=d.getOpacity()!=PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888: Bitmap.Config.RGB_565; Bitmap bitmap=Bitmap.createBitmap(width,height,config); Canvas canvas=new Canvas(bitmap); d.setBounds(0,width,height); d.draw(canvas); return bitmap; } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – JPA OneToMany和ManyToOne throw:实体列映射中的重
- java Web应用程序中的内存泄漏
- 详解java WebSocket的实现以及Spring WebSocket
- java – 将System.out.println放入单独的方法中是否很好?
- java – 在Eclipse中构建Ant时的SocketTimeoutException
- java – Android.在RecyclerView中搜索和过滤
- Java8 Optional类
- java – 单击按钮后keylistener无法正常工作
- java FTPClient 上传文件 0kb 问题
- java – ${_ csrf}做什么?这是一个隐含的EL对象吗?
推荐文章
站长推荐
- java 二维数组矩阵乘法的实现方法
- Java:ListA.addAll(ListB)会触发NullPointerExc
- java / swing:将文本字符串转换为Shape
- 强大的时间处理库 moment
- Java Web应用程序具有Paypal集成
- java – 来自支持v.23.2.0的RecyclerView的dissa
- Selenium 2(WebDriver)Java Maven Eclipse Hello
- java – 使用Google App Engine的Web服务
- hibernate属性级别注解实例代码
- PowerMock Mockito [PowerMockito] @PrepareForT
热点阅读