Sp+sdcard+RAM+ROM+DB的区别
来源:互联网 发布:ug8 0数控编程视频教程 编辑:程序博客网 时间:2024/05/21 13:54
Sp+sdcard+RAM+ROM+DB的区别?
#####SP:SharedPreference是一种轻型的数据存储方式,实际上是基于XML文件存储的“key-value”键值对数据。通常用来存储程序的一些配置信息。其存储在“data/data/程序包名/shared_prefs目录下。
【SharedPreference本身只能获取数据,不支持存储和修改。存储和修改要通过Editor对象来实现】
#####SD卡:安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,
Android数据存储之SD卡
为了更好的存取应用程序的大文件数据,应用程序需要读. 写SD卡上的文件。SD卡大大扩充手机的存储能力。
操作SD首先要加权限:
<!--在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- 从SDCard读取数据权限 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
读写SD卡上的文件请按以下三步进行:
(1)调用Environment的getExternalStorageState()方法判断手机上是否插入了SD卡,并且应用程序具有读写SD卡的权限;
(2)调用Environment的getExternalStorageDirectory()方法来获取外部存储器,也就是SD卡的目录;
(3)使用FileInputStream FileOutputStream FileReader或者FileWriter读写SD卡里面的文件;
下面以简单实例说明:
1.XML代码:
复制代码
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:paddingBottom="@dimen/activity_vertical_margin"
6 android:paddingLeft="@dimen/activity_horizontal_margin"
7 android:paddingRight="@dimen/activity_horizontal_margin"
8 android:paddingTop="@dimen/activity_vertical_margin"
9 tools:context=".MainActivity" >
10
11 <Button
12 android:id="@+id/button1"
13 android:layout_width="match_parent"
14 android:layout_height="wrap_content"
15 android:layout_alignParentTop="true"
16 android:layout_centerHorizontal="true"
17 android:text="向SD中写入数据" />
18
19 <Button
20 android:id="@+id/button2"
21 android:layout_width="match_parent"
22 android:layout_height="wrap_content"
23 android:layout_alignLeft="@+id/button1"
24 android:layout_below="@+id/button1"
25 android:text="从SD卡中读取数据" />
26
27 </RelativeLayout>
2.java代码:
1 package com.example.filesd;
2
3 import java.io.BufferedReader;
4 import java.io.File;
5 import java.io.FileInputStream;
6 import java.io.FileOutputStream;
7 import java.io.InputStreamReader;
8 import android.os.Bundle;
9 import android.os.Environment;
10 import android.app.Activity;
11 import android.view.View;
12 import android.view.View.OnClickListener;
13 import android.widget.Button;
14 import android.widget.Toast;
15
16 public class MainActivity extends Activity {
17 private Button button;
18 private Button button2;
19 @Override
20 protected void onCreate(Bundle savedInstanceState) {
21 super.onCreate(savedInstanceState);
22 setContentView(R.layout.activity_main);
23 button = (Button) this.findViewById(R.id.button1);
24 button2 = (Button) this.findViewById(R.id.button2);
25 button.setOnClickListener(new OnClickListener() {
26 @Override
27 public void onClick(View arg0) {
28 writeSDcard("Hello,恭喜您数据读取了!");
29 }
30 });
31 button2.setOnClickListener(new OnClickListener() {
32 @Override
33 public void onClick(View arg0) {
34 readSDcard();
35
36 }
37 });
38 }
39
40 // 向SD卡写入数据
41 private void writeSDcard(String str) {
42 try {
43 // 判断是否存在SD卡
44 if (Environment.getExternalStorageState().equals(
45 Environment.MEDIA_MOUNTED)) {
46 // 获取SD卡的目录
47 File sdDire = Environment.getExternalStorageDirectory();
48 FileOutputStream outFileStream = new FileOutputStream(
49 sdDire.getCanonicalPath() + "/test.txt");
50 outFileStream.write(str.getBytes());
51 outFileStream.close();
52 Toast.makeText(this, "数据保存到text.txt文件了", Toast.LENGTH_LONG)
53 .show();
54 }
55 } catch (Exception e) {
56 e.printStackTrace();
57 }
58 }
59
60
61 // 从SD卡中读取数据
62 private void readSDcard() {
63 StringBuffer strsBuffer = new StringBuffer();
64 try {
65 // 判断是否存在SD
66 if (Environment.getExternalStorageState().equals(
67 Environment.MEDIA_MOUNTED)) {
68 File file = new File(Environment.getExternalStorageDirectory()
69 .getCanonicalPath() + "/test.txt");
70 // 判断是否存在该文件
71 if (file.exists()) {
72 // 打开文件输入流
73 FileInputStream fileR = new FileInputStream(file);
74 BufferedReader reads = new BufferedReader(
75 new InputStreamReader(fileR));
76 String st = null;
77 while ((st = reads.readLine()) != null) {
78 strsBuffer.append(st);
79 }
80 fileR.close();
81 } else {
82 Toast.makeText(this, "该目录下文件不存在", Toast.LENGTH_LONG).show();
83 }
84 }
85 } catch (Exception e) {
86 e.printStackTrace();
87 }
88 Toast.makeText(this, "读取到的数据是:" + strsBuffer.toString() + "",
89 Toast.LENGTH_LONG).show();
90 }
91 }
#####RAM
随机存取存储器(random access memory,RAM)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。
存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储单元的工作原理,随机存储器又分为静态随机存储器(英文:Static RAM,SRAM)和动态随机存储器(英文Dynamic RAM,DRAM)。
#####ROM
ROM 是 ROM image(只读内存镜像)的简称,常用于手机定制系统玩家的圈子中。 一般手机刷机的过程,就是将只读内存镜像(ROM image)写入只读内存(ROM)的过程。 常见的 ROM image 有 img、zip 等格式,前者通常用 fastboot 程序通过数据线刷入(线刷),后者通常用 recovery 模式从 sd刷入(卡刷),故 img 镜像也被称为线刷包,zip 镜像也被称为卡刷包。 国内的定制系统开发者,经常会陷入自己的产品究竟是应该称为 OS还是 UI的争论,为了避免此类争论和表示谦虚,会自称为 ROM。很多定制系统玩家也会统一将定制系统称为 ROM。
#####SP:SharedPreference是一种轻型的数据存储方式,实际上是基于XML文件存储的“key-value”键值对数据。通常用来存储程序的一些配置信息。其存储在“data/data/程序包名/shared_prefs目录下。
【SharedPreference本身只能获取数据,不支持存储和修改。存储和修改要通过Editor对象来实现】
#####SD卡:安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,
Android数据存储之SD卡
为了更好的存取应用程序的大文件数据,应用程序需要读. 写SD卡上的文件。SD卡大大扩充手机的存储能力。
操作SD首先要加权限:
<!--在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- 从SDCard读取数据权限 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
读写SD卡上的文件请按以下三步进行:
(1)调用Environment的getExternalStorageState()方法判断手机上是否插入了SD卡,并且应用程序具有读写SD卡的权限;
(2)调用Environment的getExternalStorageDirectory()方法来获取外部存储器,也就是SD卡的目录;
(3)使用FileInputStream FileOutputStream FileReader或者FileWriter读写SD卡里面的文件;
下面以简单实例说明:
1.XML代码:
复制代码
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:paddingBottom="@dimen/activity_vertical_margin"
6 android:paddingLeft="@dimen/activity_horizontal_margin"
7 android:paddingRight="@dimen/activity_horizontal_margin"
8 android:paddingTop="@dimen/activity_vertical_margin"
9 tools:context=".MainActivity" >
10
11 <Button
12 android:id="@+id/button1"
13 android:layout_width="match_parent"
14 android:layout_height="wrap_content"
15 android:layout_alignParentTop="true"
16 android:layout_centerHorizontal="true"
17 android:text="向SD中写入数据" />
18
19 <Button
20 android:id="@+id/button2"
21 android:layout_width="match_parent"
22 android:layout_height="wrap_content"
23 android:layout_alignLeft="@+id/button1"
24 android:layout_below="@+id/button1"
25 android:text="从SD卡中读取数据" />
26
27 </RelativeLayout>
2.java代码:
1 package com.example.filesd;
2
3 import java.io.BufferedReader;
4 import java.io.File;
5 import java.io.FileInputStream;
6 import java.io.FileOutputStream;
7 import java.io.InputStreamReader;
8 import android.os.Bundle;
9 import android.os.Environment;
10 import android.app.Activity;
11 import android.view.View;
12 import android.view.View.OnClickListener;
13 import android.widget.Button;
14 import android.widget.Toast;
15
16 public class MainActivity extends Activity {
17 private Button button;
18 private Button button2;
19 @Override
20 protected void onCreate(Bundle savedInstanceState) {
21 super.onCreate(savedInstanceState);
22 setContentView(R.layout.activity_main);
23 button = (Button) this.findViewById(R.id.button1);
24 button2 = (Button) this.findViewById(R.id.button2);
25 button.setOnClickListener(new OnClickListener() {
26 @Override
27 public void onClick(View arg0) {
28 writeSDcard("Hello,恭喜您数据读取了!");
29 }
30 });
31 button2.setOnClickListener(new OnClickListener() {
32 @Override
33 public void onClick(View arg0) {
34 readSDcard();
35
36 }
37 });
38 }
39
40 // 向SD卡写入数据
41 private void writeSDcard(String str) {
42 try {
43 // 判断是否存在SD卡
44 if (Environment.getExternalStorageState().equals(
45 Environment.MEDIA_MOUNTED)) {
46 // 获取SD卡的目录
47 File sdDire = Environment.getExternalStorageDirectory();
48 FileOutputStream outFileStream = new FileOutputStream(
49 sdDire.getCanonicalPath() + "/test.txt");
50 outFileStream.write(str.getBytes());
51 outFileStream.close();
52 Toast.makeText(this, "数据保存到text.txt文件了", Toast.LENGTH_LONG)
53 .show();
54 }
55 } catch (Exception e) {
56 e.printStackTrace();
57 }
58 }
59
60
61 // 从SD卡中读取数据
62 private void readSDcard() {
63 StringBuffer strsBuffer = new StringBuffer();
64 try {
65 // 判断是否存在SD
66 if (Environment.getExternalStorageState().equals(
67 Environment.MEDIA_MOUNTED)) {
68 File file = new File(Environment.getExternalStorageDirectory()
69 .getCanonicalPath() + "/test.txt");
70 // 判断是否存在该文件
71 if (file.exists()) {
72 // 打开文件输入流
73 FileInputStream fileR = new FileInputStream(file);
74 BufferedReader reads = new BufferedReader(
75 new InputStreamReader(fileR));
76 String st = null;
77 while ((st = reads.readLine()) != null) {
78 strsBuffer.append(st);
79 }
80 fileR.close();
81 } else {
82 Toast.makeText(this, "该目录下文件不存在", Toast.LENGTH_LONG).show();
83 }
84 }
85 } catch (Exception e) {
86 e.printStackTrace();
87 }
88 Toast.makeText(this, "读取到的数据是:" + strsBuffer.toString() + "",
89 Toast.LENGTH_LONG).show();
90 }
91 }
#####RAM
随机存取存储器(random access memory,RAM)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。
存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储单元的工作原理,随机存储器又分为静态随机存储器(英文:Static RAM,SRAM)和动态随机存储器(英文Dynamic RAM,DRAM)。
#####ROM
ROM 是 ROM image(只读内存镜像)的简称,常用于手机定制系统玩家的圈子中。 一般手机刷机的过程,就是将只读内存镜像(ROM image)写入只读内存(ROM)的过程。 常见的 ROM image 有 img、zip 等格式,前者通常用 fastboot 程序通过数据线刷入(线刷),后者通常用 recovery 模式从 sd刷入(卡刷),故 img 镜像也被称为线刷包,zip 镜像也被称为卡刷包。 国内的定制系统开发者,经常会陷入自己的产品究竟是应该称为 OS还是 UI的争论,为了避免此类争论和表示谦虚,会自称为 ROM。很多定制系统玩家也会统一将定制系统称为 ROM。
【ROM是只读内存(Read-Only Memory)的简称,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,资料并且不会因为电源关闭而消失】
##### 【DB就是数据库存储】
0 0
- Sp+sdcard+RAM+ROM+DB的区别
- android: ram rom sdcard
- RAM,ROM,Flash ROM的区别
- 手机ROM/RAM的区别
- RAM和ROM的区别
- RAM和ROM的区别
- RAM和ROM的区别
- SDdcard、Rom、Ram的区别
- ram,rom,flash的区别
- Flash、RAM、ROM的区别
- RAM和ROM的区别
- Flash、RAM、ROM的区别
- Flash、RAM、ROM的区别
- RAM和ROM的区别
- RAM和ROM的区别
- Flash、RAM、ROM的区别
- rom和ram的区别
- ROM、RAM、Flash的区别
- MyEclipse连接svn服务器出现错误--验证位置时发生错误(三)
- Android 中的数据存储----SharePreferences 存储
- BDAS图
- 操作系统之内存管理
- Windows 系统下进行 Android 集成开发环境搭建
- Sp+sdcard+RAM+ROM+DB的区别
- php+mysql注入环境搭建及测试(上)
- 操作系统之文件管理与I/O
- Convert Binary Search Tree (BST) to Sorted Doubly-Linked List
- 腾讯实习内推(搬运工)
- 实习分享之校招笔试(搬运工)
- 实习分享之腾讯一面(搬运工)
- 实习分享之腾讯二面(搬运工)
- 实习分享之腾讯HR面以及总结 (搬运工)