`
百合不是茶
  • 浏览: 354735 次
社区版块
存档分类
最新评论

Files保存数据和资源的引用技术

阅读更多

1,文件保存数据  

  输出流:OpenFileOutput

  输入流:OpenFileInput

 

2,将数据报讯到内存卡里面

操作内存卡需要一下三个权限

 

    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />挂载权限

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />写权限

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />读取权限

    

//获得外部存储卡

//File file = Environment.getExternalStorageDirectory();

    

//获取制定文件sdcard位置的目录

File file =Environment.getExternalStoragePublicDirectory("DCIM");

 

 

3,android工程中获取资源的引用;

 

 

使用文件的方式保存数据

 1,创建布局文件 activity_main.xml

<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" >
    <EditText 
        android:id="@+id/text_v1"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:gravity="center_horizontal"
        android:hint="输入框"
        />

    <Button
        android:id="@+id/Save"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/text_v1"
        android:onClick="show"
        android:text="保            存" />
    
      <Button
         android:id="@+id/clear"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/Save"
         android:layout_below="@id/text_v1"
        android:onClick="show"
        android:text="清除输入框" />
     <Button
         android:id="@+id/Read"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/Save"
        android:onClick="show"
        android:text="          读                           取               " />

    
    
</RelativeLayout>

 

FileDemo操作数据,并显示

public class FileDemo extends Activity {

	private EditText text_v1;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
      text_v1=(EditText)this.findViewById(R.id.text_v1);
	}

	// 按钮的监听器方法
	public void show(View view) {
		switch (view.getId()) {
		case R.id.Save:// 保存
			try {
				//将数据写到文件中
				//参数一:文件名
				//参数二:文件创建的模式;私有模式
			FileOutputStream fos=this.openFileOutput("FileDemo", MODE_PRIVATE);
			ObjectOutputStream oos = new ObjectOutputStream(fos);
			oos.writeObject("保存成内部文件的方式操作");
			oos.flush();
			oos.close();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();
			break;

		case R.id.Read:
			//读取保存的文件的数据
	         try {
	        	 //读取文件的数据
	        	 FileInputStream fis=this.openFileInput("FileDemo");
	        	 ObjectInputStream ois =new ObjectInputStream(fis);
	        	 String str =(String)ois.readObject();
	        	 text_v1.setText(str);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			break;
			
		case R.id.clear:
			//清空
			text_v1.setText("");	
			break;
		}

	}
}

 

 

数据保存到内存卡  关键代码

1,创建布局文件acivity_main.xml ,

 <Button
        android:id="@+id/Save"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/text_v1"
        android:onClick="show"
        android:text="保            存" />

 

操作布局的文件

// 按钮的监听器方法
	public void show(View view) {
		switch (view.getId()) {
		case R.id.Save:// 保存
			//获得外部存储卡
			//File file = Environment.getExternalStorageDirectory();
			
			//获得制定sdcard位置的目录
			File file =Environment.getExternalStoragePublicDirectory("DCIM");
			//在DCIM的目录下创建文件C++++++++++++++
			File files= new File(file,"C++++++++++++++");
			
			if(!files.exists()){
				Boolean b=file.mkdir();
				if(!b){
					Toast.makeText(this, "不能创建", Toast.LENGTH_SHORT).show();
				
				}
			}
			
			if(!files.canWrite()){
				Toast.makeText(this, "不能写文件", Toast.LENGTH_SHORT).show();
			}
			
			//在C++++++++++++++的目录下创建文件abc
			File file1 = new File(files,"abc");
			try {
				FileOutputStream fos = new FileOutputStream(file1);
				fos.write("长沙".getBytes());
				fos.flush();
				fos.close();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
			Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();
			break;
}

 

 

 

3,android工程中使用静态资源的方式

 读取assets和res文件下的raw资源


 

 

text.txt文件的内容

 

raw文件下的text1.txt

 

运行效果:



 
 

详细代码:

<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" >
    <EditText 
        android:id="@+id/text_v1"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:gravity="center_horizontal"
        android:hint="输入框"
        />

    <Button
        android:id="@+id/Save"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/text_v1"
        android:onClick="show"
        android:text="保            存" />
    
      <Button
         android:id="@+id/clear"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/Save"
         android:layout_below="@id/text_v1"
        android:onClick="show"
        android:text="清除输入框" />
     <Button
         android:id="@+id/Read"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/Save"
        android:onClick="show"
        android:text="          读                           取               " />

     <ImageView
         android:id="@+id/imageView1"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignLeft="@+id/Read"
         android:layout_below="@+id/Read"
         android:layout_marginLeft="56dp"
         android:layout_marginTop="154dp"
         android:ems="10"
        android:inputType="textMultiLine"/>
    
</RelativeLayout>

 Dmo操作数据的显示,读取assets和res文件下的raw资源

public class Demo extends Activity{

	private ImageView img;
	private EditText text_v1;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		img=(ImageView)this.findViewById(R.id.imageView1);
		 text_v1=(EditText)this.findViewById(R.id.text_v1);
	}
	public void show(View v){
		switch (v.getId()) {
		case R.id.Save:
			//读取assets资源文件中的文件,使用流读取
			try {
				//使用流读取Assets中的资源
				InputStream is	=this.getResources().getAssets().open("text.txt");
	         	byte[] by= new byte[is.available()];
		        is.read(by);
		        String str = EncodingUtils.getString(by,"GBK");
		        text_v1.setText(str);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			break;

       case R.id.Read:
    	 //读取assets资源文件中的图片
			try {
				InputStream ism	=this.getResources().getAssets().open("img_1.jpg");
				byte[] bs = new byte[ism.available()];
				ism.read(bs);
				//将荼毒到的字节转化成bmp格式的图片
				Bitmap bmp=BitmapFactory.decodeByteArray(bs, 0, bs.length);
				//设置图片显示
				img.setImageBitmap(bmp);
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
    	   
    	   
			break;
       case R.id.clear:
			//res文件中创建的raw文件下的文件
    	   InputStream is1=this.getResources().openRawResource(R.raw.text1);
			byte[] by;
			try {
				by = new byte[is1.available()];
				  is1.read(by);
			        String str1 = EncodingUtils.getString(by,"GBK");
			        text_v1.setText(str1);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	      
			break;
		}
	}
}

 

 

  • 大小: 4.2 KB
  • 大小: 7 KB
  • 大小: 2.7 KB
  • 大小: 28.3 KB
0
2
分享到:
评论

相关推荐

    C#Resource文件(资源档案)修改工具

    在.NET框架中,资源文件(Resource Files)是用于存储应用程序中使用的各种静态数据,如文本字符串、图像、图标等的容器。C#项目通常会利用这些资源文件来管理多语言支持、图标和常量字符串,使得开发过程更加灵活且...

    ios_app资源

    6. **Plist Files**:用于存储键值对的XML文件,常用来保存配置信息、设置或应用的数据结构。 7. **Core Data**:苹果的持久化框架,用于存储和检索应用程序的数据。可以与SQLite数据库交互,管理模型对象。 8. **...

    MATLAB code for reading and writing CIFTI connectivity files.zip

    在IT领域,尤其是在神经影像学和数据分析中,MATLAB是一种常用的语言,因其强大的数学计算能力和丰富的库支持而受...在实际应用中,用户需要注意正确引用和遵循任何相关的使用许可,以确保符合开源软件社区的最佳实践。

    C#将Datagridview中的数据导出到Excel表格实例

    2. **创建文件保存对话框**:首先,我们需要创建一个文件保存对话框(`SaveFileDialog`),让用户指定保存路径和文件名。 ```csharp private void ExportExcel(string fileName, DataGridView myDGV) { string ...

    从 DLL、EXE 或资源文件中解开 ICON(3KB).zip_dll_dll资源文件_exe_icon_vb dll

    DLL文件中的图标资源可以被多个程序引用,以减少内存占用和提高代码重用性。VB提供了API(应用程序接口)调用来处理DLL资源,如LoadLibrary和GetProcAddress等。 EXE文件是Windows下的可执行程序,同样可能包含图标...

    MATLAB空间面板数据模型操作简介.pdf

    你可以通过“File”菜单的“Save Workspace As”选项保存包含空间权重矩阵和数据的文件。记得选择合适的存储位置,并给文件命名。 处理空间面板数据时,还需要建立空间权重矩阵,这通常根据地理位置关系来定义。...

    android优化技术详解

    1. 内部存储:Android 允许应用程序创建仅能够自身访问的私有文件,通常保存在内部存储器上的如下目录:/data/data/&lt;package name&gt;/files。 2. 外部存储:Android 允许应用程序访问外部存储器上的文件。 3. 资源文件...

    A simple game by switching three picture files. good for beg

    在这个例子中,Game.frm和Game.frx可能包含了游戏的界面设计和相关的资源,而Game.vbp是Visual Basic项目文件,记录了项目的基本信息和引用的组件。Game.vbw则是项目工作空间文件,保存了开发环境的设置和调试信息。...

    使用 JFreeChart来创建基于web的图表_files

    JFreeChart是一款强大的Java库,它允许...综上,"使用 JFreeChart来创建基于web的图表_files"这一主题涵盖了如何利用JFreeChart在Web环境中创建和展示图表的多个方面,包括数据处理、图表定制、图像生成和Web集成等。

    Android程序设计-数据存储文件.pptx

    内部存储通常用于保存应用私有的数据,这些数据不会被其他应用访问。在Android中,我们可以使用`FileOutputStream`类的`openFileOutput()`方法来创建和写入文件。基本语法如下: ```java FileOutputStream fos = ...

    mongoDB数据库资源:xc_cms.zip

    GridFS将大文件拆分成多个块(chunk),每个块作为一个独立的文档存储在`fs.chunks`集合中,而`fs.files`集合则保存了关于文件元数据的信息,如文件名、大小和块的引用。这种分块存储方式使得MongoDB可以处理超过单个...

    Android高级应用源码-管理图书分类 通过listview来显示有关图书资源信息.zip

    ViewHolder保存了列表项视图的引用,避免每次绑定数据时都查找子视图,提高了列表滑动的流畅性。 8. **资源管理**: 本源码可能包含了图片资源(如书籍封面),这些资源存储在项目的res/drawable目录下。同时,...

    BCB使用OLE保存Excel/Word文档类

    在C++Builder编程环境中,利用OLE(Object Linking and Embedding)技术,我们可以方便地将TStringGrid或TDBGrid组件中的数据保存为Microsoft Office的Excel或Word文档。OLE是微软提出的一种复合文档标准,允许应用...

    精彩编程与编程技巧-VB编程的好帮手--资源文件...

    在Visual Basic (VB) 编程中,资源文件(Resource Files)是一种非常重要的工具,它能够帮助开发者有效地管理和组织程序中的各种静态数据,如图片、图标、字符串等。通过使用资源文件,可以显著提高程序的可维护性和...

    ExtractRFC2397Files:python脚本,用于提取以“数据”形式嵌入的文件

    该标准定义了一个URL方案,即"data",允许将小型数据对象直接嵌入到URL中,而不是通过网络链接引用外部资源。数据URL由以下部分组成: 1. `data:`: 前缀,表示这是一个数据URL。 2. _MIME类型_:指定数据的格式,...

    一个简单的基于C#实现的WPF localization 程序例子代码

    2. **XAML中的资源引用**:在XAML文件中,可以使用`{x:Static}`标记扩展或`DynamicResource`标记来引用资源。例如,`&lt;TextBlock Text="{x:Static resx:Resources.LabelHello}" /&gt;`会将文本块的文本设置为资源文件中...

    可重复使用文件保存

    5. **文件路径和URI**:在处理多个文件时,理解绝对路径、相对路径和统一资源标识符(URI)的概念至关重要,这有助于构建正确的文件引用。 6. **文件复制**:有时,我们可能需要创建文件的副本。Java的`Files.copy...

    An example how to easy transfer .BMP files to .GIF file. Thi

    表单文件(.frm)包含了用户界面的设计,如控件的位置、大小和属性,而资源文件(.frx)则存储了非代码的二进制数据,如图片、图标等。这些文件可能包含了用于展示转换过程的界面元素,例如一个按钮用于触发转换操作...

    frame-ancillary-files

    这个文件也可能包含对其他帧辅助文件的引用和操作,确保程序能够正确解析和利用这些辅助数据。 总之,"frame-ancillary-files"在C++项目中扮演着至关重要的角色,它们是主程序功能的补充和支持,涵盖了从配置到数据...

Global site tag (gtag.js) - Google Analytics