将数据保存的SDCard

2024-06-16 11:32
文章标签 数据 保存 sdcard

本文主要是介绍将数据保存的SDCard,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

将数据保存的SDCard前需要先声明权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.filesavetosdcard"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="14"android:targetSdkVersion="17" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name=".MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application><!-- 在SDCard中创建和删除文件权限--><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><!-- 往SDCard写入数据的权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>"</manifest>
布局文件

<RelativeLayout 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.file.MainActivity" ><TextView android:id="@+id/textView1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="文件名称"/><EditText android:id="@+id/fileName"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@id/textView1"/><TextView android:id="@+id/textView2"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@id/fileName"android:text="文本内容"/><!-- 输入yu最少显示3行 --><EditText android:id="@+id/content"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@id/textView2"android:minLines="3"/><Button android:id="@+id/save"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/content"android:text="保存"/><TextView android:id="@+id/fileContent"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@id/save"android:text="您输入的内容:"/>
</RelativeLayout>
业务逻辑

package com.example.service;import java.io.File;
import java.io.FileOutputStream;import android.content.Context;
import android.os.Environment;public class FileService {private Context context;public FileService(Context context){this.context = context;}public void saveToSDCard(String fileName,String content){/** 第一个参数:文件保存的路径,即SDCard的路径* 第二个参数:保存的文件名*///	File file = new File("/mnt/sdcard",fileName);File file = new File(Environment.getExternalStorageDirectory(),fileName);//SDCard的文件会保存在mnt目录的sdcard文件夹下。SDCard中的数据不受权限控制,可以被任何应用访问//最好不要用SDCard的绝对路径/sdcard,可能会随版本的变化不同FileOutputStream outStream;try {outStream = new FileOutputStream(file);outStream.write(content.getBytes());outStream.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}
package com.example.filesavetosdcard;import com.example.service.FileService;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;public class MainActivity extends Activity {private EditText fileName;private EditText content;private Button save;private TextView fileContent;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);fileName = (EditText) findViewById(R.id.fileName);content = (EditText) findViewById(R.id.content);save = (Button) findViewById(R.id.save);fileContent = (TextView) findViewById(R.id.fileContent);save.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubFileService service = new FileService(getApplicationContext());//如果手机没有SDCard或SDCard设置了保护权限,我们是无法访问//SDCard的,所以在操作前应先判断SDCard的状态if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){service.saveToSDCard(fileName.getText().toString(),content.getText().toString());Toast.makeText(getApplicationContext(), "保存成功", Toast.LENGTH_SHORT).show();fileContent.setText("您输入的内容:" + content.getText().toString());}else{Toast.makeText(getApplicationContext(), "SDCard不存在或写保护", Toast.LENGTH_SHORT).show();}}});}
}

点击保存,数据以文件形式保存在sdcard目录下

将myfile导出以记事本方式打开


免积分源代码下载

这篇关于将数据保存的SDCard的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1066347

相关文章

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下

Java中注解与元数据示例详解

《Java中注解与元数据示例详解》Java注解和元数据是编程中重要的概念,用于描述程序元素的属性和用途,:本文主要介绍Java中注解与元数据的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参... 目录一、引言二、元数据的概念2.1 定义2.2 作用三、Java 注解的基础3.1 注解的定义3.2 内