安卓入门之往SD卡存文件
2014-12-21 22:53
134 查看
做一个安卓小应用:保存文件之SD卡
先睹为快,看看界面如何:
先来说说该界面如何实现。我采用相对布局,在里面添加了5个组件:2个文本框(请输入文件名,请输入文件内容),2个编辑框,1个保存按钮。
给他们分别定义了唯一标识id,长宽设置,还有相对位置(android:layout_below)
接着,用java代码编写,加载控件,然后给他们添加事件。
编写点击事件内容的类:
以上代码基本实现功能了,但是记得,往SD卡写入信息是需要一些权限的,如创建删除文件权限,读写权限。所以记得要在AndroidManifest.xml里注册写信息:
先睹为快,看看界面如何:
先来说说该界面如何实现。我采用相对布局,在里面添加了5个组件:2个文本框(请输入文件名,请输入文件内容),2个编辑框,1个保存按钮。
给他们分别定义了唯一标识id,长宽设置,还有相对位置(android:layout_below)
<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=".MainActivity" > <TextView android:id="@+id/file" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/telText" /> <EditText android:id="@+id/fileName" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/file" /> <TextView android:id="@+id/filec" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/contentText" android:layout_below="@id/fileName" /> <EditText android:id="@+id/fileContent" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minLines="3" android:layout_below="@id/filec"/> <Button android:id="@+id/send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/send" android:layout_below="@id/fileContent" /> </RelativeLayout>
接着,用java代码编写,加载控件,然后给他们添加事件。
<span style="white-space:pre"> </span>@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);<span style="font-family: Arial, Helvetica, sans-serif;">//加载布局文件</span> Button button = (Button)this.findViewById(R.id.send);//获取控件id button.setOnClickListener(new ButtonClickListenter());//给按钮添加点击事件。事件内容请往下看。 }
编写点击事件内容的类:
private final class ButtonClickListenter implements View.OnClickListener{ @Override public void onClick(View arg0) { EditText filenameText = (EditText)findViewById(R.id.fileName); EditText contentText = (EditText)findViewById(R.id.fileContent);<span style="font-family: Arial, Helvetica, sans-serif;">//获取控件id</span> String filename = filenameText.getText().toString();<span style="white-space:pre"> </span>//获取编辑框的内容 String content = contentText.getText().toString();<span style="font-family: Arial, Helvetica, sans-serif;">//获取编辑框的内容</span> FileService service = new FileService();//实例化类(具体类的内容下一部分代码) try{ //Environment.getExternalStorageState() SD卡是否存在且允许读写数据 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ service.saveToSDCard(filename,content);<span style="white-space:pre"> </span>//往SD卡写入内容 Toast.makeText(getApplicationContext(), R.string.success, 1).show();//吐丝提示用户信息 }else{//SD卡不否存且写保护了 Toast.makeText(getApplicationContext(), R.string.sdcarderror, 1).show(); } }catch(Exception e){ Toast.makeText(getApplicationContext(), R.string.fail, 1).show(); e.printStackTrace(); } } }FileService类代码:
public class FileService { //保存到sd卡 参数(文件名,内容) public void saveToSDCard(String filename, String content) throws Exception{ //新建文件,路径:sd卡,文件名:filename File file = new File(Environment.getExternalStorageDirectory(), filename); //保存到路径 FileOutputStream outStream = new FileOutputStream(file); //写 outStream.write(content.getBytes()); //关闭路径 outStream.close(); } }
以上代码基本实现功能了,但是记得,往SD卡写入信息是需要一些权限的,如创建删除文件权限,读写权限。所以记得要在AndroidManifest.xml里注册写信息:
<span style="white-space:pre"> </span><!-- 往sd创建删除文件权限--> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往sd卡写入权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>来目睹下结果吧。
相关文章推荐
- 安卓大图片处理的入门
- 安卓自动化测试入门-3-网络请求的单元测试
- 安卓入门--Spinner控件与二级联动详解
- 安卓蓝牙入门二-------整合版本
- 安卓入门
- 安卓入门---安卓开发实战经典1-3章
- 安卓入门--Sqlite安卓中数据库的增删查改
- 手把手教你安卓入门(一)
- 安卓Andriod使用入门(二十四)【爬取网络小说】
- 安卓开发入门:工具栏(Action Bar)
- lae界面开发工具入门之介绍十一--<安卓系统如何编译打包?>
- 安卓入门博主,及制作视频播放器教程
- 【cocos2d-x入门实战】环境配置、交叉编译及安卓项目的生成
- 针对安卓java入门:条件语句和循环语句
- 新手入门安卓DayOne笔记
- 安卓下载及入门教程记录
- 【android】怎么入门安卓开发
- 安卓入门之初识view
- 安卓Andriod使用入门(二十三)【百度地图API】
- 安卓入门纪录之-jni使用配置方法