`
Aina_hk55HK
  • 浏览: 388222 次
  • 性别: 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 Transfer for MAC 下载

    《Android File Transfer for MAC:连接安卓与苹果的桥梁》 在数字时代,设备间的文件传输变得...随着技术的发展,跨平台的数据交流只会越来越便捷,而“Android File Transfer for MAC”无疑是这一进程中的重要一环。

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

    Android提供了多种数据存储方式,其中包括使用File类进行文件存储。本教程将深入探讨如何在Android中利用File类进行数据操作,包括创建、读取、修改和删除文件,以及文件路径的处理。 1. **基本概念** - **File类*...

    android数据存储的四种方式

    本文将详细介绍Android中的四种主要数据存储方式:SharedPreferences、File、SQLite数据库以及网络存储。 1. SharedPreferences: SharedPreferences是Android提供的一种轻量级的数据存储方式,适合存储用户偏好...

    Android File Transfer For Mac

    然后,启动`Android File Transfer.app`,它会在您的桌面显示一个窗口,里面包含您的Android设备的内部存储和SD卡的文件结构。在此窗口中,您可以浏览、添加、删除或修改文件。 ### 3. 开发者工具 对于移动应用的...

    Android SD数据存储

    本篇将详细介绍如何在Android应用中实现SD卡的数据存储。 一、Android SD卡访问权限 在Android 6.0(API级别23)及更高版本,应用需要在运行时请求存储权限,因为Android引入了运行时权限管理系统。要访问SD卡,...

    Android存储字符串数据到txt文件

    2. 需要将数据存储到文件中,以便于数据的持久化和管理。 为了满足这些需求,我们可以使用FileUtils工具类来存储字符串数据到txt文件。下面是FileUtils工具类的实现代码: ```java public class FileUtils { // ...

    Android数据存储(内置sdcard1)

    在Android系统中,数据存储是应用开发者必须掌握的重要技能之一,因为这关乎到应用程序如何持久化数据,确保用户数据在程序关闭或设备重启后依然可访问。本篇将重点讨论Android内置SD卡(通常称为内部存储)的数据...

    android数据存储ppt课件及Demo

    在Android开发中,数据存储是不可或缺的一部分,它允许应用程序持久保存数据,以便在用户退出应用后还能恢复状态或在后续使用中访问数据。本资源"android数据存储ppt课件及Demo"提供了一个全面学习Android数据存储的...

    Android本地数据存储之文件存储读写

    在Android应用开发中,本地数据存储是至关重要的一个环节,特别是在处理用户数据或者应用程序需要持久化数据时。本文将深入探讨Android系统中的文件存储机制,包括如何读取、写入、重写和删除.txt格式的文件。理解...

    Android学习之数据存储

    本资源“Android学习之数据存储”提供了一些关于Android数据存储的源码,这对于理解Android数据存储机制及其实践应用非常有帮助。 在Android中,有多种方式来实现数据存储,包括: 1. **SharedPreferences**:这是...

    Android数据存储之FileProvider

    **Android数据存储之FileProvider详解** 在Android应用开发中,数据存储是一个不可或缺的部分。FileProvider是一种特殊类型的ContentProvider,它允许应用程序安全地分享私有文件,如图片、视频或其他二进制数据,...

    Android学习之数据存储.zip

    在Android应用开发中,数据存储是一项至关重要的任务,它涉及到应用程序如何持久化数据,以便在用户关闭应用后或设备重启后仍然能访问这些数据。本资料包“Android学习之数据存储.zip”提供了一些关于Android数据...

    Android File Transfer

    无论是个人还是专业人士,都能够通过**Android File Transfer**高效地管理他们的多媒体文件、文档和其他数据。 总之,**Android File Transfer** 为Mac用户提供了直观且易于使用的界面,简化了跨平台文件管理的过程...

    android五种数据存储方式

    在Android开发中,数据存储是不可或缺的一部分,它用于持久化应用程序的数据,以便在用户退出或设备重启后仍能保留这些信息。Android提供了五种主要的数据存储方式:共享首选项(SharedPreferences)、内部存储...

    安卓Android源码——安卓Android学习——数据存储.rar

    在安卓(Android)系统中,数据存储是应用开发不可或缺的一部分,它允许应用程序持久化数据,以便在用户退出或设备重启后仍然能够访问。本压缩包文件"安卓Android源码——安卓Android学习——数据存储.rar"显然是...

    Android File Transfer安卓和mac互传文件通过usb

    3. 断开连接:传输完毕后,先在Macbook上关闭Android File Transfer,再断开USB连接,以防数据丢失。 四、常见问题及解决办法 1. 无法识别设备:检查USB线是否正常,尝试更换其他USB口,或重启设备。 2. 文件传输...

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

    实验10-Android数据存储与IO是Android平台开发与应用课程的一个重要实验,旨在让学生掌握Android中多种数据存储的方法,包括SharedPreferences、File以及SQLite数据库。实验涵盖了读写其他应用程序的...

    Android FileManager文件管理器源码

    《深入解析Android FileManager文件管理器源码》 在Android系统中,文件管理器是一个至关重要的组件,它允许用户浏览、操作、创建、删除以及管理设备上的文件和目录。本篇文章将详细探讨一个基于Android的文件管理...

    android 的数据存储

    ### Android 数据存储详解 #### 第一章:数据存储方式概览 在开发Android应用时,开发者需要根据实际需求选择合适的数据存储方式。本章节将详细介绍Android应用中的几种常见数据存储方式及其应用场景。 - **...

    Android 数据存储技术

    在Android开发中,数据存储是不可或缺的一部分,它允许应用程序持久保存和检索数据。本文将深入探讨Android的数据存储技术,包括几种主要的存储方式及其应用场景。 首先,我们有共享首选项(SharedPreferences)。...

Global site tag (gtag.js) - Google Analytics