核心代码四部分:
1、Layout
2、String值
3、MainActivity
4、给项目添加使用授权
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/filename" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/filename" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/filecontent" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:minLines="3" android:id="@+id/filecontent" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" android:id="@+id/button" /> </LinearLayout>
package com.dcj.service; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import android.content.Context; import android.os.Environment; public class FileService { private Context context; public FileService(Context applicationContext) { context = applicationContext; } public void saveToSDCard(String filename, String content) throws Exception { File file = new File(Environment.getExternalStorageDirectory(), filename); FileOutputStream outStream = new FileOutputStream(file); outStream.write(content.getBytes()); outStream.close(); } /** * 保存文件 * @param filename 文件名称 * @param content 文件内容 * @throws Exception */ public void save(String filename, String content) throws Exception { // IO j2se //私有操作模式:创建出来的文件只能被本应用访问,其它应用无法访问该文件,另外采用私有操作创建的文件,写入文件会覆盖原文件内容 FileOutputStream outStream = context.openFileOutput(filename, context.MODE_PRIVATE); outStream.write(content.getBytes()); outStream.close(); } /** * 读取文件内容 * @param filename 文件名称 * @return 文件内容 * @throws Exception */ public String read(String filename) throws Exception { FileInputStream inStream = context.openFileInput(filename); ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while ((len = inStream.read(buffer)) != -1) { outStream.write(buffer, 0, len); } byte[] data = outStream.toByteArray(); return new String(data); } }
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.dcj" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <uses-library android:name="android.test.runner" /> <activity android: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> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.dcj" android:label="Test for my App"/> <!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard写入数据权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> </manifest>
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, MainActivity!</string> <string name="app_name">存储到程序内部</string> <string name="filename">文件名称</string> <string name="filecontent">文件内容</string> <string name="button">保存</string> <string name="success">保存完成</string> <string name="fail">保存失败</string> <string name="sdcarderror">SDCard不存在或者写保护</string> </resources>
package com.dcj; import com.dcj.service.FileService; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import android.widget.SimpleAdapter.ViewBinder; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button)this.findViewById(R.id.button); button.setOnClickListener(new ButtonClickListener()); } private final class ButtonClickListener implements View.OnClickListener { public void onClick(View v) { EditText filenameText = (EditText) findViewById(R.id.filename); EditText contentText = (EditText) findViewById(R.id.filecontent); String filename = filenameText.getText().toString(); String content = contentText.getText().toString(); FileService service = new FileService(getApplicationContext()); try { //service.save(filename, content); //换成保存到SDCard上面 //判断SDCard是否存在,并且可以读写 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { service.saveToSDCard(filename, content); Toast.makeText(getApplicationContext(), R.string.success, 1).show(); }else{ Toast.makeText(getApplicationContext(), R.string.sdcarderror, 1).show(); } } catch (Exception e) { Toast.makeText(getApplicationContext(), R.string.fail, 1).show(); e.printStackTrace(); } } } }
相关推荐
本实例将探讨如何在Android应用中实现SdCard的读取和写入功能,这涉及到Android的权限管理、文件操作API以及外部存储的相关知识。 1. **权限管理**: 在AndroidManifest.xml文件中,你需要添加`READ_EXTERNAL_...
在Android平台上,开发一款应用来实现从SDCard中读取TXT文件并展示为翻书效果,需要涉及到多个技术层面。以下将详细介绍这个过程中的关键知识点: 1. **Android权限管理**: 在Android中,访问外部存储(如SDCard...
在Android系统中,将中文文件镜像上传到SD卡是一个常见的需求,特别是在处理系统更新、应用安装或数据备份时。本文将深入探讨如何在Android设备上实现这一操作,重点介绍与"android"、"镜像"、"中文"以及"UltraISO...
标题“手机apk拷贝到sdcard”涉及到的是Android操作系统中移动应用程序(APK)的存储管理,特别是如何将APK文件从设备的内部存储移动到外部可移除的SD卡上。这一操作对于用户来说,可能是因为他们希望节省手机内部...
在Android应用开发中,有时我们需要将一些系统配置信息存储在外部文件中,以方便管理和更新。在这种情况下,`ini`文件格式是一个常见的选择,因为它的结构简单,易于读写。本文将详细介绍如何在Android项目中读取...
综上所述,"android显示sdcard上的图片"这一主题涵盖了Android系统中的文件访问、图片解析、内存管理、UI显示、异步处理等多个技术环节。通过熟练掌握这些知识点,开发者可以构建出高效且用户友好的图片显示功能。在...
综上所述,"android从服务器端下载图片并保存在本地sdcard里并在界面滚动显示出来"这个过程涉及了网络请求、文件操作、图片缓存、异步处理、UI显示优化等多个技术点,需要综合运用多种Android开发技巧和第三方库。...
它涉及到应用程序如何安全地读取、写入或执行存储在设备上的文件。Android的安全模型基于Linux内核,因此,文件权限遵循典型的Unix-like权限模型,但还有一些额外的Android特有的权限管理机制。 在Android中,文件...
在Android平台上,实现一个简单的文件浏览功能涉及到许多关键知识点,主要涵盖了文件系统操作、文件过滤、用户界面设计以及权限管理等方面。以下是对这些知识点的详细解释: 1. **Android文件系统**:Android设备上...
在Android系统中,"扫描sdcard卡文本文件"是一个常见的任务,主要涉及到文件系统的操作、权限管理以及文本处理。在Android应用开发中,这通常意味着你需要编写代码来查找并读取存储卡(即sdcard)上的.txt或其他文本...
在Android 4.0(Ice Cream Sandwich)版本中,开发者可以通过访问framebuffer来实现屏幕抓取功能,即获取当前屏幕的图像并保存为图像文件,如BMP格式。下面我们将详细讨论如何在Android 4.0下使用framebuffer抓屏并...
"Android数据存储(内置sdcard3)"这个主题聚焦于Android设备上内部存储空间的第三部分,通常称为内部SD卡或者emulated storage。在Android中,内部存储被划分为不同的分区,为不同类型的数据提供存储空间。 内部SD...
在Android平台上,开发一个SD卡浏览器是一个非常实用的练习,尤其对初学者而言,它可以深入理解文件系统和用户界面设计。下面将详细讲解如何实现这样一个应用,并涉及相关的Android知识点。 首先,我们需要理解...
本资源“应用源码SdCard读写文件实例.zip”提供了具体的示例代码,可以帮助开发者深入理解如何在Android应用程序中实现这个功能。以下是相关知识点的详细解释: 1. **Android权限管理**: 在Android 6.0(API级别...
3. 使用第三方管理器:虽然Android系统自带基本的文件管理功能,但第三方文件管理器如ES文件管理器、Solid Explorer等通常提供更丰富的功能和更好的用户体验。 4. 注意权限:修改系统文件前需获取Root权限,否则可能...
Android系统采用Linux内核,因此它的文件系统遵循POSIX标准,主要由以下几个部分组成:根目录(/)、data分区、cache分区、sdcard(外部存储)等。其中,data分区存储应用程序的数据和设置,cache分区用于缓存数据,...
Android 手机的文件系统由多个存储器组成,每个存储器都有其特定的功能和用途。在 Android 系统中,我们可以使用 `cat /proc/mtd` 命令来查看当前手机的存储器信息。例如: mtd0: 00040000 00020000 "misc" mtd1: ...
了解Android文件系统的目录结构,如/data、/system、/sdcard(或外部存储)等,对理解文件管理器的工作至关重要。 2. **MIUI系统定制**:MIUI是小米对Android系统进行深度定制的界面,包含大量特色功能。MIUI文件...
【安卓Android源码——MIUI文件管理器】 ...通过深入研究这个源码,开发者不仅可以提升对Android系统和MIUI的理解,还能学习到如何构建高效、易用的文件管理应用,为自己的项目提供灵感和实践参考。