文档章节

向sd卡写文件

mutouzhang
 mutouzhang
发布于 2014/05/09 10:35
字数 385
阅读 95
收藏 3
点赞 1
评论 0

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
博文 189
码字总数 91235
作品 0
洛阳
程序员
PandaBoard烧写指南

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

晨曦之光 ⋅ 2012/03/14 ⋅ 0

RaspberryPi学习之SD卡文件修改及备份

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

戴佳毅 ⋅ 2013/03/06 ⋅ 1

android读写SD卡中的文件 demo

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

爱吃橙子的小石头 ⋅ 2014/12/10 ⋅ 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

Android File Example 示例

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

xandeer ⋅ 2017/10/24 ⋅ 0

基于树莓派的 Android Things 开发环境

树莓派(Raspberry Pi)简介 树莓派是一款单片机式微型电脑,在一个只有信用卡大小的 PCB 板上集成了 CPU、GPU、RAM、网卡等设备,主要用于计算机学习以及智能设备的原型开发,目前最新版本为 ...

geyunfei_ ⋅ 2017/12/13 ⋅ 0

Tiny4412 ARM开发环境搭建—NFS网络根文件系统制作

Tiny4412从SD卡启动的简单网络文件系统制作 Tiny4412从SD卡启动的简单网络文件系统制作 1. 简介 嵌入式系统能够在开发板上正常运行,需要先进行系统配置,一个完整的嵌入式系统应该包含的几个...

u013738338 ⋅ 2017/01/21 ⋅ 0

4412开发板Android和LinuxQT烧写方法

使用fastboot烧写Android和通过SD卡烧写LinuxQT方法 刚收到开发板,按此方法成功烧写系统,赞 本文转自:http://www.topeetboard.com 镜像文件: Android Linux + QT 注意:Android和Linux+Q...

歌之王子殿下 ⋅ 2015/11/30 ⋅ 0

Tiny4412裸板程序烧写过程

BL1对应的文件是 E4412_N.bl1.bin文件。 BL2是根据我们提供的程序来制作的,此工具的源码是V310-EVT1-mkbl2.c,存放在/work/4412/tools 目录下,可用以下命令生成可执行程序 mkbl2: mkbl2的...

幸福阶梯 ⋅ 02/18 ⋅ 0

amlogic S905X udpate imge的压缩和解压

使用的板子是khadas VIM amlogic的升级和烧写有多种方式, 常见的是USB烧写和SD卡烧写. USB烧写的流程其实是解压update.img中的文件,然后push到RAM中运行. 然后再push文件到ram中烧写. 这个和...

sy373466062 ⋅ 2017/06/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部