文档章节

向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

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
33分钟前
2
0
现场看路演了!

HiBlock
昨天
6
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
6
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
6
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部