package com.example.wang.testapp3;

import android.content.res.AssetManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast; import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.PrintStream; public class ZuoyeActivity extends AppCompatActivity { ImageView iv_1;
Button bt_1; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zuoye); iv_1=(ImageView)findViewById(R.id.iv_1);
bt_1=(Button)findViewById(R.id.bt_1); bt_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) { try {
AssetManager assetManager=getAssets(); InputStream inputStream = assetManager.open("sss.jpg"); FileOutputStream fos=openFileOutput("test3.jpg",MODE_PRIVATE); byte[] b=new byte[1024]; int i=0; while ((i=inputStream.read(b))>0)
{
fos.write(b,0,i);
}
fos.close();
inputStream.close(); String path=getFilesDir().getAbsolutePath()+"/test3.jpg"; Toast.makeText(ZuoyeActivity.this, "path="+path, Toast.LENGTH_SHORT).show(); Bitmap bm= BitmapFactory.decodeFile(path); iv_1.setImageBitmap(bm);
Toast.makeText(ZuoyeActivity.this, "保存文件成功", Toast.LENGTH_SHORT).show(); if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
{
try { String path1=Environment.getExternalStorageDirectory()
.getCanonicalPath(); Toast.makeText(ZuoyeActivity.this, "path1="+path1, Toast.LENGTH_LONG).show(); FileOutputStream fos1=new FileOutputStream(path1+"/test3.jpg"); PrintStream ps=new PrintStream(fos1);
ps.print(R.id.iv_1);
ps.close();
fos.close(); Toast.makeText(ZuoyeActivity.this, "写入外部文件成功", Toast.LENGTH_SHORT).show();
}
catch (Exception e)
{
Toast.makeText(ZuoyeActivity.this, "存储文件出错", Toast.LENGTH_SHORT).show();
} }
else
{
Toast.makeText(ZuoyeActivity.this, "SD卡没有挂载", Toast.LENGTH_SHORT).show();
} }
catch (Exception e)
{
Toast.makeText(ZuoyeActivity.this, "保存文件出错", Toast.LENGTH_SHORT).show(); } }
}); }
}

java

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.wang.testapp3.ZuoyeActivity"
android:orientation="vertical">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#a1a1a1"
android:id="@+id/iv_1"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="asserts文件存到外部SD卡里"
android:id="@+id/bt_1"/> </LinearLayout>

xml

asserts文件存到外部SD卡里的更多相关文章

  1. Android外部SD卡的读取

    package com.kevin.writeorreadfile1_1; import android.app.Activity; import android.bluetooth.le.ScanF ...

  2. Android 下载文件及写入SD卡

    Android 下载文件及写入SD卡,实例代码 <?xml version="1.0" encoding="utf-8"?> <LinearL ...

  3. Android 4.0以后正确的获取外部sd卡存储目录

    刚解决这个棘手的问题 找了很久,随笔记下. 网上搜索 android 获取外部sd卡存储目录 普遍都是: 1) Environment.getExternalStorageDirectory() 这个 ...

  4. 【Android】14.0 第14章 内部存储与外部SD卡存储—本章示例主界面

    分类:C#.Android.VS2015: 创建日期:2016-02-27 一.简介 Android使用的文件系统是基于Linux的文件系统,在Android应用程序中,开发人员既可以建立和访问程序自 ...

  5. FATFS在SD卡里,写入多行数据出的问题

    串口接收的数据存入数组,然后把数组截取有效部分,存入SD卡里的一行没有问题 但是从SD卡读出这一行之后,重新写入SD卡就有了问题,经过调试发现,错误在于  \n 一直是这一串数据,为什么会出错呢??? ...

  6. assets下的文件复制到SD卡

    由于assets和res下的文件都只可以读不可以写,那么在程序初始化后,将后期需要使用并且需要修改的文件复制到SD卡.下面代码提供一个工具类,将assets下的任意资源复制到SD卡下. assets下 ...

  7. 安卓 往SD卡里写文件不能及时更新的问题

    我们做Android开发时奖保存图片到SD卡,但是Gallery中不能及时显示 下面我找到了问题所在然后解决了这个问题. 当保存图片后打开gallery时,有的会自动给你刷新,有的不行,这样就导致图片 ...

  8. Android从网络某个地址下载文件、写入SD卡

    首先创建一个HttpDownloader类,获取下载文件的网络地址,将文件下载下来以String流的方式返回: public String download(String urlStr){ //url ...

  9. 用FATFS在SD卡里写一串数字

    用FATFS写SD卡,如写入数组 s[] ={1,2,3,4,5,6} 想要在txt中显示“123456” 就要把 s[0]=1+'0'    或 s[0]=1+48   或 s[0]=1+0x30  ...

随机推荐

  1. Java NIO 详解(一)

    一.基本概念描述 1.1 I/O简介 I/O即输入输出,是计算机与外界世界的一个借口.IO操作的实际主题是操作系统.在java编程中,一般使用流的方式来处理IO,所有的IO都被视作是单个字节的移动,通 ...

  2. BZOJ2547 CTSC2002玩具兵(最短路径+二分答案+最大流)

    先不考虑只有一个显得有些特殊的天兵. 可以发现超能力的作用实质上是使兵更换职业.每一个兵到达某个位置最少需要更换职业的次数是彼此独立的,因为如果需要某两人互换职业可以使他们各自以当前职业到达需要到的地 ...

  3. mininet *** Error: RTNETLINK answers: No such file or directory 问题及解决方法

    一.问题 按照mininet官网中从源码安装步骤进行安装后,运行命令sudo mn --link tc,bw=10,提示说*** Error: RTNETLINK answers: No such f ...

  4. 【洛谷P4955 】[USACO14JAN]越野滑雪越野滑雪

    题目链接:ヾ(≧∇≦*)ゝ 对于每一个点可以向它右边的点和下面的点连边,权值就为两个点的高度差 然后再把所有的边按边权从小到大排序,并查集加点 最后判断当前集合是否涵盖所有的航点,如果是,就输出最后一 ...

  5. Ansible批量在远程主机执行命令

    Ansible直接执行远程命令,不用ssh登陆交互执行. 如下: ansible all -i 192.168.199.180, -m shell -a "ifconfig" -u ...

  6. chessboard

    题意:n*n的矩阵,m次赋值一个子矩阵为c,最后输出答案. n<=1e3 m<=1e5 解:倒序处理. 拆行处理. 每行内并查集维护未被赋值的地方. 这样每个地方最多被赋值一次,每次修改要 ...

  7. asp.net mvc 全局权限过滤器及继成权限方法

    全局权限过滤器 //----------------------------------------------------------------------- // <copyright f ...

  8. ByteBuffer: 当由一个byte[]来生成一个固定不变的ByteBuffer时,使用ByteBuffer.wrap(byte[]);

    StringBuilder sb = new StringBuilder(1024); //向sb中写入900个左右的随机字符内容 for(int j=1; j< 50;j++) { sb.ap ...

  9. mysql新版本问题

    异常错误:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.c ...

  10. SQL记录-PLSQL条件控制

    PL/SQL条件控制   决策结构需要程序员指定一个或多个条件要计算,或由程序进行测试,如果条件被确定为真那么一条或多条语句被执行,如果要被执行的其它语句条件被确定为假,则选其它执行块. 以下是从在大 ...