位置: 编程技术 - 正文

Android数据存储之文件(android数据存储实验报告)

编辑:rootadmin
文件 Android中对文件的操作和Java是一样的。Android系统中存储系统分为内部存储和外部存储两种 内部存储空间

推荐整理分享Android数据存储之文件(android数据存储实验报告),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android数据存储实验报告,android数据存储的方式,android数据存储实验报告,android数据存储的方式有哪几种?,android数据存储的方式有哪几种?,android数据存储的方式,android数据存储的方式有哪几种?,android数据存储的方式有哪几种?,内容如对您有帮助,希望把文章链接给更多的朋友!

RAM内存:运行内存,相当于电脑的内存。

ROM内存:存储内存,相当于电脑的硬盘

在ROM内存中写写数据不需要权限

在Android中,组件之间不能相互转换EditText不能转换成EditText

案例记住登录用户名和密码:

<LinearLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

>

<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:id="@&#;id/name"

android:hint="请输入用户名:" />

<EditText

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:id="@&#;id/password"

android:password="true"

android:hint="请输入密码:" />

<RelativeLayout

android:layout_width="fill_parent"

android:layout_height="match_parent"

>

<Button

android:id="@&#;id/login"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentRight="true"

android:text="登录"

android:onClick="login"/>

<CheckBox

android:id="@&#;id/check"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignBaseline="@&#;id/login"

android:layout_alignBottom="@&#;id/login"

android:layout_centerVertical="true"

android:text="记住用户名" />

</RelativeLayout>

</LinearLayout>

package com.test.storage;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.CheckBox;

import android.widget.EditText;

import android.widget.Toast;

public class MainActivity extends Activity {

private EditText et_name = null;

private EditText et_password = null;

privateString name ="";

privateString password="";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//全局变量的初始化,最好放在onCreate方法中

//不要提前获取组件的&#;,有可能会导致下一次使用时&#;改变或者为空

/*et_name = (EditText) this.findViewById(R.id.name);

et_password = (EditText) this.findViewById(R.id.password);

name = et_name.getText().toString().trim();

password = et_password.getText().toString().trim();*/

et_name = (EditText) this.findViewById(R.id.name);

et_password = (EditText) this.findViewById(R.id.password);

try {

readInfo();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void login(View v) throws IOException{

name = et_name.getText().toString().trim();

password = et_password.getText().toString().trim();

CheckBox cb = (CheckBox) this.findViewById(R.id.check);

//判断checkbox是否被选中

if (cb.isChecked()) {

//内部存储空间的路径data/data/包名 在RAM

//最好通过上下文Context可以获取上下文的环境信息,getFilesDir():/data/data/当前包名.apirwinfrom/files/文件名

//File file = new File(getFilesDir(), "userinfo.txt");

//这种方式不好,当包名一旦改变,就会报异常。

File file = new File("data/data/com.test.storage/info.txt");

if (!file.exists()) {

file.createNewFile();

}

FileOutputStream fos = new FileOutputStream(file);

fos.write((name&#;" "&#;password).getBytes());

fos.flush();

fos.close();

}

//创建弹出对话框,参数:上下文内容 文本内容 显示时间

Toast.makeText(this, "登录成功",Toast.LENGTH_SHORT).show();

}

public void readInfo() throws IOException{

File file = new File("data/data/com.test.storage/info.txt");

if(file.exists()){

FileInputStream fis = new FileInputStream(file);

BufferedReader br = new BufferedReader(new InputStreamReader(fis));

String line = null;

line = br.readLine();

String[] userInfo = line.split(" ");

et_name.setText(userInfo[0]);

et_password.setText(userInfo[1]);

Android数据存储之文件(android数据存储实验报告)

}

}

}

当手机内部存储空间不足时,Cache中文件会被删除。重要的信息不要保存在Cache中。网络中的照片可以保存在Cache中。

清空缓存是清空Cache文件夹下的所有内容。

清空数据是清空应用程序独立空间下的所有内容,包括缓存。

外部存储空间

sdcard:相当于电脑的移动硬盘

sdcard的位置:

Android2.3之前,sdcard路径:在根目录下sdcard文件夹

Android4.3版本之前,sdcard路径:mnt/sdcard

Android4.3开始,sdcard路径:storage/sdcard

为了兼容低版本的程序,Android在之前各个版本的sdcard目录下都留下了快捷方式,指向storage/sdcard

在外部存储空间写文件,需要添加权限<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 在sdcard中读数据不需要权限。

如果用户选择了保护sdcard的选项,则读取sdcard的文件上的数据,也是要权限的。

android.permission.READ_EXTERNAL_STORAGE

package com.test.storage;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import android.app.Activity;

import android.os.Bundle;

import android.os.Environment;

import android.view.View;

import android.widget.CheckBox;

import android.widget.EditText;

import android.widget.Toast;

public class MainActivity extends Activity {

private EditText et_name = null;

private EditText et_password = null;

String name = "";

String password = "";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

// 全局变量的初始化,最好放在onCreate方法中

// 不要提前获取组件的&#;,有可能会导致下一次使用时&#;改变或者为空

/*

* et_name = (EditText) this.findViewById(R.id.name); et_password =

* (EditText) this.findViewById(R.id.password); name =

* et_name.getText().toString().trim(); password =

* et_password.getText().toString().trim();

*/

et_name = (EditText) this.findViewById(R.id.name);

et_password = (EditText) this.findViewById(R.id.password);

try {

readInfo();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void login(View v) throws IOException {

name = et_name.getText().toString().trim();

password = et_password.getText().toString().trim();

CheckBox cb = (CheckBox) this.findViewById(R.id.check);

// 判断checkbox是否被选中

if (cb.isChecked()) {

// 这种方式不好,当包名一旦改变,就会报异常。

// File file = new File("sdcard/info.txt");

// 使用sdcard之前必须要检测sdcard的状态

/**

* MEDIA_REMOVED:sdcard不存在 MEDIA_UNKNOWN:不能识别sdcard

* MEDIA_UNMOUNTED:sd存在但是没有挂载上 MEDIA_MOUNTED :sdcard已经挂载,可正常使用

* MEDIA_MOUNTED_READ_ONLY:sdcard只读 MEDIA_CHECKING:sdcard正在准备

*/

if (Environment.getExternalStorageState().equals(

Environment.MEDIA_MOUNTED)) {

// 最好通过上下文Context可以获取上下文的环境信息,返回的是sdcard的真实路径

File file = new File(Environment.getExternalStorageDirectory(),

"userinfo.txt");

if (!file.exists()) {

file.createNewFile();

}

FileOutputStream fos = new FileOutputStream(file);

fos.write((name &#; " " &#; password).getBytes());

fos.flush();

fos.close();

}

} else {

Toast.makeText(this, "sdcard不可以用", Toast.LENGTH_SHORT);

}

// 创建弹出对话框,参数:上下文内容 文本内容 显示时间

Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show();

}

public void readInfo() throws IOException {

// File file = new File("sdcard/info.txt");

if (Environment.getExternalStorageState().equals(

Environment.MEDIA_MOUNTED)) {

File file = new File(Environment.getExternalStorageDirectory(),

"userinfo.txt");

if (file.exists()) {

FileInputStream fis = new FileInputStream(file);

BufferedReader br = new BufferedReader(new InputStreamReader(

fis));

String line = null;

line = br.readLine();

String[] userInfo = line.split(" ");

et_name.setText(userInfo[0]);

et_password.setText(userInfo[1]);

}

}

}

}

android camera setParameters failed 类问题分析总结 LOG显示为:-::.EAndroidRuntime:FATALEXCEPTION:CameraHandlerThread-::.EAndroidRuntime:Process:com.android.camera,PID:-::.EA

android 通过蓝牙和设备通信 收发数据 这边由于我不知道我们公司的设备代码怎么设计的,所以不太清楚通用性如何,不过一般而言应该差不多吧。首先我自定义了一个蓝牙连接管理的类,

Eclipse Hover 提示过快 首先问题来了:当我们的鼠标移动到IOException的时候,就会快速的弹出提示框。放上去的速度几乎是一秒就显示了,对于我们开发者来说,这样会多多少

标签: android数据存储实验报告

本文链接地址:https://www.jiuchutong.com/biancheng/383320.html 转载请保留说明!

上一篇:android布局layout中的一些属性(android布局背景颜色的代码)

下一篇:android camera setParameters failed 类问题分析总结

  • 税控盘白盘和黑盘一样吗
  • 纳税人离线开票时间的文件
  • 购买材料,收回会计分录
  • 个税退税需要交税吗
  • 企业裁员补偿金标准是多少
  • 出口无报关单免税吗
  • 六种无形资产有什么
  • 污水处理税收优惠政策
  • 事务所和公司的专利工程师
  • 苗木属于农产品中哪一类
  • 发放货物给员工 赠送
  • 不在境内劳务是否付企业所得税
  • 房屋租赁需要交增值税吗
  • 合作社收到补贴款如何入账
  • 企业收到供货单位提供的材料,如其价款大于
  • 代扣代缴企业所得税账务处理
  • 固定资产进项发票可以抵扣吗为什么
  • 企业所得税怎么征收
  • 申报表b表去哪里申报
  • 没有收入能结转损益吗
  • 公司会议案例
  • 固定资产弃置费怎么算
  • 金蝶软件反年结账怎么弄
  • PHP:xml_get_current_byte_index()的用法_XML解析器函数
  • word的拼写检查总是变成法语
  • Window7+CentOS 6.5双系统安装图文方法
  • 公司向个人借款利息如何处理
  • 企业备用金预借多久到账
  • psd格式文档
  • 增值税加计抵减企业所得税如何处理
  • js返回上一步操作
  • 开发成本属于哪个会计准则
  • php curl_setopt
  • 同业代付的好处
  • 公司给员工交社保是怎么交的
  • 退休认证在网上怎么操作
  • linux mysql忘记密码的多种解决或Access denied for user 'root'@'localhost'
  • 现金日记账退回的现金怎么填写
  • 发票有别的字迹有影响吗
  • 个人提供劳务增值税专用发票
  • 个人转让房产税率
  • 2021年村级财务管理要点
  • 销售分哪几类
  • 职工伙食费账务处理
  • 给员工打了备用金后归还怎么做账
  • 职工福利基金提取流程
  • 企业取得土地补偿款
  • 发票额开多了多出的金额怎么处理?
  • 管理人员的奖金可以索赔吗
  • 收到货款确认收入还是开好发票确认收入
  • 生产成本二级科目设置
  • 认缴的注册资金怎么做账
  • 股东投资款是否要缴税
  • 购入汽车属于什么会计科目
  • 刻章费发票怎么开
  • 坏账准备转回是什么意思
  • mysql应用案例
  • 2008r2数据库备份
  • win7系统如何关闭开机自动启动软件
  • macos 多屏
  • host文件没有
  • 系统升级后c盘空间小了
  • bios升级失败后如何恢复
  • win10系统关闭安全中心
  • jquery 点击按钮
  • perl中$_
  • 搭建nodejs
  • linux归档文件什么意思
  • 批处理 leq
  • js判断字符串字符出现的次数
  • shell脚本spool
  • android 数据
  • js中new一个函数
  • 建筑工程资质挂靠合同
  • 工会的会费收入是什么意思
  • 国税地税征管体制改革方案
  • 从哪里可以免费听歌
  • 诚信励志语录经典短句
  • 福建农村社保一个月可以拿多少钱
  • 应缴纳资源税税额怎么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设