位置: 编程技术 - 正文

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 类问题分析总结

  • 进口环节应纳消费税的计税依据为
  • 公司购买员工意外保险费会计分录未收到发票
  • 出口退税是先交税后退税吗
  • 子公司的所得税是单独缴纳吗
  • 海运的发票可以抵税吗
  • 30万免税超过30万
  • 税务稽查可否清算土地增值税
  • 实收资本收到后用途
  • 社保基金的管理模式
  • 海关进口关税专用缴款书可以抵扣吗
  • 补发工资是否需要交税
  • 加工企业如何降成本
  • 个税手续费返还计入哪个科目
  • 增值税税控盘抵减
  • 餐费报销需要发票吗
  • 自产自销产品如何入库存
  • 营改增后税金由哪几项费用组成
  • 增值税普通发票和专用发票有什么区别
  • 一般纳税人销售货物会计分录
  • 企业担保形成损失的原因
  • 公司理财取得的成果
  • 补缴以前年度税款
  • 土地交易服务费分录
  • 什么叫非成品油发票
  • 处置股权后相应债权坏账损失怎么处理?
  • 基本建设项目待摊投资管理规定
  • 极路由好用吗
  • php utf8转unicode
  • 网页游戏无法打开
  • php面向对象的三大特征
  • 处置子公司属于调整事项吗
  • 本月印花税下月缴纳需要计提吗
  • 怎么用老毛桃u盘装win7系统 老毛桃u盘装win7系统教程图解
  • kprcycleaner.exe是什么
  • php图片叠加
  • 原材料结转成本有几种方法
  • 拨缴经费收入进行账务处理
  • 什么叫web渗透测试
  • 挥别2020逐梦2021
  • mysql的备份方式
  • wordpress如何删除导入的主题
  • 下列项目的进项税额可以从销项税额中抵扣的是()
  • 主营业务收入净额在哪个报表里面
  • 进口原料需要交哪些税
  • 银行转账凭证可以保留多久
  • 免税收入是否可抵扣
  • 增量留底退税基金怎么算
  • 以无形资产换入固定资产发生的净损益
  • 劳务派遣如何做线上业务
  • 从政府取得土地使用权缴增值税吗
  • 行政单位工会经费
  • 发生的费用
  • 出库单上面的价格是什么价格
  • 公示信息有误如何修改
  • 会计做假账的果报
  • 可持续增长率和内部增长率的区别
  • 数据库性能优化面试题
  • 使用mysql进行模糊查询
  • QQExternal.exe是什么进程?QQExternal.exe进程为什么被运行?
  • 怎样取消进windows 密码
  • 苹果电脑打不开txt
  • win8c盘
  • mis.off c n
  • win10系统桌面怎么设置密码
  • window10隐私常规设置
  • 怎么创建windows虚拟机
  • linux文件压缩和备份实验
  • win7系统显卡驱动怎么安装
  • windows10使用说明
  • bootstrap designer
  • node.js连接数据库的代码
  • [置顶]bilinovel
  • opengl绘制点线面
  • ecmascript6 官方文档
  • 安卓开发问题
  • Android使用HttpURLConnection和HttpClient请求服务器数据
  • js parsefloat parseint 转换函数
  • Javascript字符串奇数位替换
  • 河南税务局退税流程
  • 税务上门核查要看什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设