- 浏览: 132237 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
hnraysir:
支持,写得不错!
一个android工程的运行过程 -
me101:
正在学习android开发,谢谢了。
android 实用sax 读取xml文件内容 附源码 -
ljh_tnt:
定!正需要这个学习下
android 实用sax 读取xml文件内容 附源码 -
张红飞:
这在看呢
android 使用 pull 解析xml文件 附源码 -
kjsoloho:
请问,为什么同样是getInputStream(有数据),但是 ...
android 使用 pull 解析xml文件 附源码
android提供了几种文件的存储方式;
1.文件:
2.SharedPreferences存储类似软件的配置参数设置的内容;这是一个类;
3.sqlite数据库 android内嵌的数据库,和微软的excel数据库原理一样,当你创建一个数据库时是以文件的形式存放的;sql语句很类似的;
4.网络
5.content provider
/////////////////////////////////////////
我们使用mvc模式开发一个保存文件内容的程序,我们在j2ee的时候是面向接口编程,可以降低耦合,在android中还是尽量避免使用太多的类,一是效率 二是手机内存不大,内部类是个不错的选择
先写业务层DataManager.java
再来测试这个业务层DateManagerTest .java
设计界面main.xml
设计activity AboutDateActivity.java
你试试。
1.文件:
2.SharedPreferences存储类似软件的配置参数设置的内容;这是一个类;
3.sqlite数据库 android内嵌的数据库,和微软的excel数据库原理一样,当你创建一个数据库时是以文件的形式存放的;sql语句很类似的;
4.网络
5.content provider
/////////////////////////////////////////
我们使用mvc模式开发一个保存文件内容的程序,我们在j2ee的时候是面向接口编程,可以降低耦合,在android中还是尽量避免使用太多的类,一是效率 二是手机内存不大,内部类是个不错的选择
先写业务层DataManager.java
package cn.lee.Manager; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class DataManager { /** * 没有使用成员变量的方法可以定义为静态方法 * 保存数据的业务逻辑 * OutputStream 输出流 * content 文件内容 * @throws Exception */ public static void saveDate (OutputStream outputStream , String contentString) throws Exception { outputStream.write(contentString.getBytes()); outputStream.close(); } /** * 读取数据的业务逻辑 * @param InputStream * @param contentString * @throws Exception */ public static String readDate (InputStream inputStream ) throws Exception { byte [] byte1 = new byte[1024]; /** * 当输入流读到文件的末尾 返回就是-1 */ int length = inputStream.read(byte1); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); if(length!=-1) { //读到的内容存在内存中ByteArrayOutputStream 这个类用于将byte流存储在内存中 byteArrayOutputStream.write(byte1, 0, length); } String dateString = byteArrayOutputStream.toString(); byteArrayOutputStream.close(); inputStream.close(); return dateString; } }
再来测试这个业务层DateManagerTest .java
package cn.lee.data; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.OutputStream; import cn.lee.Manager.DataManager; import android.content.Context; import android.test.AndroidTestCase; import android.util.Log; public class DateManagerTest extends AndroidTestCase { private static final String TAG="DateManagerTest"; public void testSave ()throws Exception { /** * 内容先定义成固定的内容 * Activity的父类的父类就是context,context与其他框架中的context相同为我们以供了一些核心操作工具。 * openFileOutput("fileName", Context.MODE_PRIVATE); * 参数1:文件的名字 不能包含路径分隔符‘/’ * 使用这个方法创建的文件,会保存在手机/date/date/应用文件夹(这里就是cn.lee.data)/files目录下; * /date/date/cn.lee.data/files/fileName.txt 我们可以在window-show view -other-android-file explore看到 * 这是有android决定的; * 参数2:保存的模式: * 使用context中的文件输出流它有四种模式: * 文件读写的操作模式: * Context.MODE_PRIVATE=0:只能是当前的应用才能操作文件 如果创建的文件已经存在 新内容覆盖原内容 * Context.MODE_APPEND=32768:新内容追加到原内容后 这个模式也是私有的 这个文件只能被创建文件的应用所访问 * Context.MODE_WORLD_READABLE=1:允许其他应用程序读取本应用创建的文件 * Context.MODE_WORLD_WRITEABLE=2:允许其他应用程序写入本应用程序创建的文件,会覆盖原数据。 */ FileOutputStream fileOutputStream = this.getContext().openFileOutput("fileName.txt", Context.MODE_PRIVATE); DataManager.saveDate(fileOutputStream, "xxxxxxx"); } public void testRead() throws Exception{ FileInputStream fileInputStream = this.getContext().openFileInput("fileName.txt"); String contentString = DataManager.readDate(fileInputStream); Log.i(TAG, contentString); } }
设计界面main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello" android:id="@+id/filenameTesxwiew" /> <EditText android:layout_width="60px" android:layout_toRightOf="@id/filenameTesxwiew" android:layout_alignTop="@id/filenameTesxwiew" android:layout_height="wrap_content" android:id="@+id/fileName" /> </RelativeLayout> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/contentlable" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:minLines="5" android:id="@+id/fileContent" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/buttontext" /> </LinearLayout>
设计activity AboutDateActivity.java
package cn.lee.data; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import cn.lee.Manager.DataManager; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class AboutDateActivity extends Activity { private EditText fileNameEditText; private EditText fileContentEditText; private Button button; private static final String TAGSTRING ="AboutDateActivity"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); fileNameEditText = (EditText) this.findViewById(R.id.fileName); fileContentEditText = (EditText) this.findViewById(R.id.fileContent); button = (Button) this.findViewById(R.id.button); button.setOnClickListener(new OnClickListener() { public void onClick(View v) { int info = R.string.sus; String fileNameString = fileNameEditText.getText().toString(); String fileContentString = fileContentEditText.getText() .toString(); // TODO Auto-generated method stub FileOutputStream fileOutputStream = null; try { fileOutputStream = AboutDateActivity.this .openFileOutput(fileNameString, Context.MODE_PRIVATE); DataManager.saveDate(fileOutputStream, fileContentString); } catch (Exception e) { // TODO Auto-generated catch block Log.i(TAGSTRING, e.toString()); info = R.string.infor; }finally{ try { fileOutputStream.close(); } catch (IOException e) { // TODO Auto-generated catch block Log.i(TAGSTRING, e.toString()); info = R.string.infor; } } Toast.makeText(AboutDateActivity.this, info, 1).show(); } }); } }
你试试。
- AboutFileReadAndWrite.rar (47.1 KB)
- 下载次数: 59
发表评论
-
Keep&火辣健身 视频课程 实现思路分析
2017-02-10 11:44 142需求: ... -
android 全新模拟器
2013-08-01 11:04 515www.genymotion.com 提供了一款全新的an ... -
android 通知 和 通知的声音 (附源码)
2010-12-22 15:01 9885完成后的效果:运行例子,会在手机的状态栏显示一个通知的 ... -
android ndk 环境搭建注意事项 附资料
2010-10-21 15:58 1349ndk环境搭建,耗费了不少时间,我看的就是下面附件中的那个 ... -
多线程下载 附源码
2010-10-18 14:58 1484多线程下载:1.多线程2 下载 这些也是android软 ... -
android sqlite数据库 CRUD
2010-04-28 15:47 0*介绍 android自带sqlite数据库,它是and ... -
android 软件参数设置的保存和读取 附源码
2010-04-28 11:55 9500数据存储的另一种方式.sharedperferences ... -
android 使用 pull 解析xml文件 附源码
2010-04-27 16:44 9170pull解析xml文件,和sax和dom一样 都可以脱离 ... -
android 使用dom方式解析xml文件 附源码
2010-04-27 14:57 2280使用dom解析xml文件不推荐使用,dom解析xml的机 ... -
android 实用sax 读取xml文件内容 附源码
2010-04-26 11:55 15477andorid读取xml文件内容方法有三种 sax dom p ... -
android sd卡读写 附源码
2010-04-26 09:55 10681将文件存在sd卡中和存在手机中的思路相同就是路径不同,注意看类 ... -
android 文件的读取 附源码
2010-04-19 11:28 1841与前面的文章http://leequer.iteye.com/ ... -
android sdk 无法安装 解决方法
2010-04-18 16:25 4024不知道大家如果将第一次安装的android sdk删除后 再一 ... -
无法安装android sdk
2010-04-02 15:56 2805好容易忙完了开发,想继续开始android的开发,之前重装系统 ... -
android 单元测试 附源码
2010-03-02 16:50 1567单元测试无疑是很重要的; 1.配置 在功能文件AndroidM ... -
android 工程 日志输出 附源码
2010-03-02 15:58 22691.日志输出:我们开发 ... -
一个简单的拨号器 附源码
2010-03-02 10:03 2213开发一个简单的拨号器。 开发一个应用的步骤: 小应用的步骤: ... -
android 的相对布局的使用小记
2010-03-01 14:43 3479android的布局方式有几个,线性布局,绝对布局,表格布局, ... -
一个android工程的运行过程
2010-02-11 16:57 3451rt 首先 : 当一个工程部署到模拟环境上后,当用户点击你 ... -
android工程目录介绍
2010-02-10 16:54 2424生成好的一个android项目的结构: 工程名: ...
相关推荐
在Android开发中,数据存储是不可或缺的一部分,...总之,这篇博文和源码提供了关于Android应用中安全存储和读取密码的方法,通过学习和实践,开发者可以更好地理解和掌握Android数据存储的策略,提高应用的安全性。
1.掌握SharedPreferences的使用方法; 2.掌握各种文件存储的区别与适用情况; 3.了解SQLite数据库的特点和体系结构;...源码和整个工程会上传到博客中,若有需要可下载。 该实验报告包含部分源码,和内容介绍。
本压缩包文件"安卓Android源码——安卓Android学习——数据存储.rar"显然是针对安卓数据存储机制的学习资料,其中可能包含了相关的源代码示例和讲解。下面我们将深入探讨安卓中的数据存储方法。 1. **Shared ...
本资源“android数据存储集锦源码”提供了一个全面的示例,帮助开发者深入了解和实践Android平台上的各种数据存储方式。下面我们将详细探讨其中涉及的主要知识点。 首先,Android提供了多种数据存储方式,包括...
总之,Android中的数据存储与访问是一个多层面的问题,涉及到多种技术的综合运用。通过理解和实践这些知识点,开发者可以更好地管理和保护应用数据,提升用户体验。在查看提供的源码时,需要理解每个部分的作用,以...
10. **文件存储与读取**:Android提供了一系列API用于文件系统的访问,应用可能使用这些API来存储用户的绘图数据,比如保存为图片文件或自定义格式的文件。 以上是"Android实用大屏白板附源码"实例中涉及的主要知识...
"老罗android视频开发源码和ppt--android存储数据和文件.rar"这个压缩包提供的是关于Android数据存储和文件操作的教学资源,包括视频课程和PPT讲义,由知名的Android讲师罗升阳(老罗)编撰。 首先,我们来看一下...
在Android应用开发中,数据存储是一项至关重要的任务。Android提供了多种数据存储方式,以满足不同场景下的需求。本文将深入探讨Android应用中的数据存储...总的来说,这份源码将是你提升Android数据存储技能的好材料。
5. **文件遍历与选择**:为了找到并播放本地音乐,源码可能包含了读取设备存储上的音乐文件(通常位于外部存储的Music目录),这需要使用到文件I/O操作和文件遍历的技巧。 6. **ListView或RecyclerView**:为了展示...
在安卓(Android)开发中,数据存储是至关重要的一个环节,它涉及到应用程序如何持久化地保存用户数据、配置信息以及应用程序的...对于初学者来说,这是一个宝贵的资源,可以帮助他们掌握Android数据存储的核心概念。
1、练习使用SharedPreferences方式进行数据存储和访问 2、练习使用SQLite数据库的方式进行数据存储和访问 三、实验原理 数据存储方式,SharedPreferences,SQLite。 四、实验步骤及关键技术 一.本项目包含以下四个...
这篇详尽的文章将深入探讨基于Android的仿微信应用的源码结构、主要功能模块和关键技术。首先,我们从标题和描述中可以了解到,这是一份针对Android平台开发的微信应用程序的源代码,它旨在模仿微信的最新功能和用户...
7. **Android权限管理**:访问系统日历通常需要请求READ_CALENDAR和WRITE_CALENDAR权限。源码会包含如何在Manifest中声明权限,以及在运行时动态请求权限的代码。 8. **Material Design风格**:遵循Android的设计...
2. **数据存储**:源码中可能会涉及SQLite数据库或云存储服务,用于存储用户的个人信息、运动目标、历史记录等数据。 3. **传感器集成**:为了获取用户的运动数据,如步数、心率、距离等,系统需要与设备上的传感器...
在Android应用开发中,数据的储存与...通过深入理解这些数据存储方法,开发者能更好地设计和实现Android应用,满足不同场景下的数据管理需求。源码分析和实践操作是提高技能的关键,建议结合提供的源码进行学习和实践。
源码中可能展示如何在数据存储和UI更新之间建立连接。 通过研究这个源码包,开发者可以学习到如何根据需求选择合适的数据存储方式,并掌握实际操作中的技巧和最佳实践。同时,这也有助于理解Android应用的整个数据...
7. **数据存储与传输**:你可以选择将数据存储在本地SQLite数据库,或者利用SharedPreferences进行简单数据缓存。此外,考虑到物联网特性,可能还需要将数据发送到远程服务器,这涉及到网络编程,如使用...
知识点四:Android数据存储 在本文中,我们使用了SQLite数据库来存储家庭账单的数据。但是,SQLite数据库有一定的限制,例如数据量大时会出现性能问题。因此,在实际开发中,我们需要根据实际情况选择合适的数据...
7. **SharedPreferences**:轻量级的本地数据存储方式,常用于保存用户设置。源码可能使用它来存储用户的偏好,如默认货币或是否开启提醒。 8. **Intent**:用于在不同组件之间传递信息,例如从`MainActivity`启动...
总结来说,这个"Android学习之数据存储.zip"源码资源提供了全面的数据存储技术实践,包括SQLite、SharedPreferences、文件系统、ContentProvider和网络存储的使用方法。通过深入研究这些示例,开发者不仅可以提升...