`
Aina_hk55HK
  • 浏览: 386678 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Android File 数据存储

阅读更多
package com.Aina.Android;

import java.io.IOException;

import android.content.Context;
import android.media.MediaPlayer;

public class MIDIPlayer {

	private Context mContext = null;
	private MediaPlayer mMediaPlayer = null;
	public MIDIPlayer(Context context){
		mContext = context;
	}
	public void start(){
		mMediaPlayer = MediaPlayer.create(mContext, R.raw.start);//装载资源
		mMediaPlayer.setLooping(true);//循环播放
		try {
			mMediaPlayer.prepare();
		} catch (IllegalStateException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		mMediaPlayer.start();
	}
	
	public void stop(){
		if(mMediaPlayer != null){
			mMediaPlayer.stop();
			mMediaPlayer.release();
		}
	}
}



package com.Aina.Android;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class Test_File extends Activity {
	/** Called when the activity is first created. */
	private MIDIPlayer mMIDIPlayer = null;
	private boolean bm = false;
	private TextView tv = null;
	private Button btn = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		mMIDIPlayer = new MIDIPlayer(this);
		tv = (TextView) this.findViewById(R.id.TextView);
		btn = (Button) this.findViewById(R.id.Button01);
		this.load();
		if (bm) {
			mMIDIPlayer.start();
			tv.setText("当前音效:开");
		} else {
			mMIDIPlayer.stop();
			tv.setText("当前音效:关");
		}
		btn.setOnClickListener(new Button.OnClickListener() {

			@Override
			public void onClick(View v) {
				Intent intent = new Intent(Test_File.this, sg.class);
				Test_File.this.startActivity(intent);
			}

		});
	}

	@Override
	protected void onPause() {
		this.save();
		if (bm) {
			mMIDIPlayer.stop();
		}
		super.onPause();
	}

	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if (keyCode == KeyEvent.KEYCODE_DPAD_UP) {
			mMIDIPlayer.start();
			tv.setText("当前音效:开");
			bm = true;
		} else if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) {
			mMIDIPlayer.stop();
			tv.setText("当前音效:关");
			bm = false;
		}
		return super.onKeyDown(keyCode, event);
	}

	// 读取数据
	private void load() {
		Properties pro = new Properties();
		try {
			FileInputStream fin = this.openFileInput("music.cfg");// 读取文件
			try {
				pro.load(fin);// 加载到Properties属性文件里面
			} catch (IOException e) {
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}

		bm = Boolean.valueOf(pro.getProperty("isopen", "false"));
	}

	private String read(Context context, String filepath) {
		String data = "";
		StringBuffer sb = new StringBuffer();
		int ch = 0;
		try {
			FileInputStream in = context.openFileInput(filepath);
			while ((ch = in.read()) != -1) {
				sb.append((char) ch);
			}
			in.close();
			in = null;
			data = sb.toString();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return data;
	}

	// 保存数据
	private void save() {
		Properties pro = new Properties();
		pro.put("isopen", String.valueOf(bm));
		try {
			FileOutputStream fout = this.openFileOutput("music.cfg",
					Activity.MODE_WORLD_READABLE
							| Activity.MODE_WORLD_WRITEABLE);
			pro.store(fout, "");// 写入输出流
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	private void write(Context context, String filepath, String msg) {
		try {
			FileOutputStream out = context.openFileOutput(filepath,
					context.MODE_WORLD_WRITEABLE);
			out.write(msg.getBytes());
			out.flush();
			out.close();
			out = null;
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
分享到:
评论

相关推荐

    Android中使用File文件进行数据存储

    教程说明见 http://www.linuxidc.com/Linux/2012-01/51441.htm

    android数据存储的四种方式

    该资源包含了一个android实现的数据存储,包含了利用:sharedpreference,file,sqlite,网络存储的四种方法,简单易懂。

    实验10-Android数据存储和IO.doc

    实验报告封面 课程名称: Android平台开发与应用 课程代码: SM3004 任课老师: 梁郁君 实验指导老师: 梁郁君 实验报告名称:实验10 Android数据存储与IO 学生姓名: 学号: 教学班: 递交日期: 签收人: 我申明,...

    Android数据存储——SharedPrefences、File、Sqlite

    Android数据存储——SharedPrefences、File、Sqlite 类与activity实现

    Android数据存储之FileProvider

    此文件为FileProvider文件存储到本地然后然后再进行设置的,代码逻辑是先下载bitmap到本地file路径下然后当用到的时候再从本地获取图片,当数据发生改变时再次存储然后设置

    android数据存储与访问

    数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的4种方式,分别是:1 使用SharedPreferences存储数据;2 文件存储数据;3 SQLite数据库存储数据;4 使用ContentProvider存储数据;

    Android 数据存储与数据共享PPT

    (1)熟悉Android系统提供的四种数据存储方式:SharePreference、SQLite、ContentProvider和File (2)学会编写程序使用SQLite数据库存储数据 (3)学会编写程序使用SharedPreference对象存储数据 (4)学会编写...

    Android开发之数据存储的四种方式之SharedPreferences

    Android项目开发中使用的数据存储方式有:网络存储、sqlite存储、File存储和SharedPreferences存储,四种存储方式对应的Demo别人是NetworkDemo、SqliteDemo、FileDemo和SharedPreferencesDemo,根据应用的场景选择...

    Android 文件数据存储实例详解

    Android之文件数据存储 一、文件保存数据介绍 Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。文件可用来存放大量数据,如文本、图书、...

    android 中的数据存储

    介绍了android总三种数据存储的方式: 1 SharedPreferences 2 File输入流输出流 3 SQLite 数据库 增删改查

    四种Android数据存储方式

    SharedPreference是一种轻型的数据存储方式,实际上是基于XML文件存储的“key-value”键值对数据。通常用来存储程序的一些配置信息。其存储在“data/data/程序包名/shared_prefs目录下。 SharedPreference本身

    Android数据存储1:文件、SharedPreferences和获取sd卡信息

    Android自学笔记-8-Android数据存储1:文件、SharedPreferences和获取sd卡信息

    基于HTTP协议的Android手机数据同步实现.pdf

    Android提供了四种数据存储方式:SharedPreferences、File、ContentProvider、SQLite。由于SQLite不像Oracle、MySQL那样需要安装、启动,它只是一个文件,并且支持绝大多数的SQL语句,通过execSQL(String sql)方法...

    Android数据持久化功能之一(文件存储)

    数据持久化就是指将那些内存中的瞬时数据保存到持久化设备中(如手机文件、数据库等),当关机,停电后,数据不丢失。 Android 系统中主要提供了... 使用范围:文件储存适合用于存储一些简单的文本数据或二进制数据。

    Android程序技术:文件存储和JSON解析.pptx

    文件存储是Android中最基本的一种数据存储方式,它与Java中的文件存储类似,都是通过I/O流的形式把数据存储到文档中。 Android中的文件存储分为内部存储和外部存储。 文件存储简介 File Storage Overview 文件存储...

    Android 基础笔记 04 篇:数据存储篇

    Android 提供了四种存储模式: 专属空间存储:以该模式存储的数据只允许特定的应用程序访问。 共享空间存储:以该模式存储的数据,所有应用都可以访问。 首选项存储:常用于保存键值对数据。 本地数据库存储:常...

    android往手机内存和sdcard卡上存储数据

    一段详细的往手机内存和手机sdcard卡上面存储数据的代码,作者对里面的功能进行了封装,在实际的开发项目中可以直接拿来用。

    Android 如何使用Files方式的 数据存储实例附源码.rar

    Android Files 数据存储方法演示附源码,Android 如何使用Files方式的 数据存储实例附源码,演示了模拟用户设置参数,查看 Files 产生的文件。  如果你需要用一个文件来加载初始化程序 ,可以事先在目录下res/raw/...

    Android存储方式实例教程

    file主要存储大型文件,但需要你的sdcard中有相应用空间,比如存一个二进制文件. 操作方式与普通java相似,即打开一个FileInputStream/FileOutPutStream,转成InputStream/outPutStream 然后读/写字节. ...

Global site tag (gtag.js) - Google Analytics