文档章节

向sd卡写文件

mutouzhang
 mutouzhang
发布于 2014/05/09 10:35
字数 385
阅读 95
收藏 3

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/numET"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="请输入文件名" />

    <EditText
        android:id="@+id/contentET"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="请输入文件内容"
        android:inputType="textMultiLine"
        android:minLines="3" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" >
        
        <Button android:id="@+id/sdcBT"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="保存到sd卡"
            android:onClick="onClick"
            />
        
        <Button android:id="@+id/romBT"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="保存到手机"
            android:onClick="onClick"
            />
    </LinearLayout>

</LinearLayout>

MainActivity.java

package com.example.writeintosdcard;

import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

	private EditText numET;// 文件名
	private EditText contentET;// 文件内容3行

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		numET = (EditText) findViewById(R.id.numET);
		contentET = (EditText) findViewById(R.id.contentET);

	}

	@Override
	protected void onResume() {
		super.onResume();

		// Environment.getExternalStorageState().获取sd卡的状态,根据sd卡是否挂载判断是安装,还是移除
		findViewById(R.id.sdcBT).setEnabled(
				Environment.getExternalStorageState().equals(
						Environment.MEDIA_MOUNTED));
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	public void onClick(View v) {
		try {
			String name = numET.getText().toString();
			String content = contentET.getText().toString();

			FileService service = new FileService();

			switch (v.getId()) {
			case R.id.sdcBT://保存到sd卡

				service.saveToSDCard(name, content);
				break;

			case R.id.romBT://保存到手机

				service.saveToRom(name, content);//保存到手机什么也执行
				break;
			}

			Toast.makeText(getApplicationContext(), "保存成功", Toast.LENGTH_SHORT).show();
		} catch (Exception e) {
			e.printStackTrace();
			Toast.makeText(getApplication(), "SDcard出异常", Toast.LENGTH_SHORT).show();
		}
	}

}

FileService.java

package com.example.writeintosdcard;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import android.os.Environment;

public class FileService {

	public void saveToSDCard(String name, String content) {

		FileOutputStream fos = null;

		try {

			// Environment.getExternalStorageDirectory()。获取sd卡的路径
			File file = new File(Environment.getExternalStorageDirectory(),name);
			fos = new FileOutputStream(file);

			fos.write(content.getBytes());
		} catch (Exception e) {

			e.printStackTrace();

		} finally {

			try {
				fos.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

	public void saveToRom(String name, String content) {
		// TODO Auto-generated method stub

	}

}


© 著作权归作者所有

共有 人打赏支持
mutouzhang
粉丝 6
博文 190
码字总数 91235
作品 0
洛阳
程序员
PandaBoard烧写指南

此手册介绍的是把x-loader、u-boot、kernel和android的二进制文件烧写到PandaBoard开发板的非易失存储器上,如flash。大家可用从PandaBoard官网下载的源码编译生成的二进制文件烧写,也可直接...

晨曦之光
2012/03/14
2.6K
0
RaspberryPi学习之SD卡文件修改及备份

一、准备工作 1、已经配置启动的树莓派SD卡 2、Linux系统的pc 3、读卡器 二、修改SD卡文件 刚开始我先再win7下把SD卡接到pc上,发现无法读取。用DISKGENIUS查看pc的磁盘状态,发现SD卡被格式...

戴佳毅
2013/03/06
0
1
android读写SD卡中的文件 demo

有时,我们需要将更大的文件保存下来,就不能用手机内置的存储空间,毕竟是有限的,所以将文件保存在SD卡中。 要读写SD卡,首先要知道手机上是否有SD卡,且是否可读写 String str = "";// 判...

爱吃橙子的小石头
2014/12/10
0
0
WINCE6.0+S3C6410基于SD卡启动

基于IROM SD/MMC发起方式的原理   我们知道S3C6410支持IROM启动(internal ROM Booting),IROM启动是指从OneNAND、SD/MMC卡和NAND Flash存储装备启动的方式,见下图:      图1 IROM启动...

慎思
2012/09/10
0
0
Android File Example 示例

Android 中存取文件位置有三种,而且每种各有其读取方式。 apk 中的只读资源文件 SD 卡中的文件 数据区的文件(/data) 1. 资源文件的读取 有两种资源文件 和 ,使用以下两种不同的方式读取: ...

xandeer
2017/10/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

流量劫持是如何产生的?

流量劫持,这种古老的攻击沉寂了一段时间后,最近又开始闹的沸沸扬扬。众多知名品牌的路由器相继爆出存在安全漏洞,引来国内媒体纷纷报道。只要用户没改默认密码,打开一个网页甚至帖子,路由...

谢思华
19分钟前
0
0
Hadoop Client无法使用maven下载源码

最近在学习hadoop,使用maven的时候想看一下源码的注释,结果IDEA一直提示无法下载 搞得我一度以为maven坏掉了。 但是通过搜索,发现在maven仓库里确实没有源码.... 而2.8.1以及之前的版本是...

Iceberg_XTY
20分钟前
0
0
为什么程序员千万不要重写代码?

你所做的事情,也许暂时看不到成果,但不要灰心或焦虑,你不是没有成长,而是在扎根。 图片来自网络 0 前言 程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的...

Java小铺
22分钟前
0
0
VUE集成AdminLte

1. 安装需要到插件 npm i admin-lte -Snpm i jquery -Snpm i axios -Snpm i vue-router -S 2. 配置webpack.config.js 2.1 module.exports.module.rules修改字体loader: {test: /\.(p......

Pasenger
今天
0
0
Spring Aop原理之切点表达式解析

在前面的文章(Spring AOP切点表达式详解)中,我们总结了Spring Aop切点表达式的用法,而在上文(Spring Aop原理之Advisor过滤)中我们讲到,切点表达式的解析主要是在PatternParser.parse...

爱宝贝丶
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部