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();
}
}
}
分享到:
相关推荐
教程说明见 http://www.linuxidc.com/Linux/2012-01/51441.htm
该资源包含了一个android实现的数据存储,包含了利用:sharedpreference,file,sqlite,网络存储的四种方法,简单易懂。
实验报告封面 课程名称: Android平台开发与应用 课程代码: SM3004 任课老师: 梁郁君 实验指导老师: 梁郁君 实验报告名称:实验10 Android数据存储与IO 学生姓名: 学号: 教学班: 递交日期: 签收人: 我申明,...
Android数据存储——SharedPrefences、File、Sqlite 类与activity实现
此文件为FileProvider文件存储到本地然后然后再进行设置的,代码逻辑是先下载bitmap到本地file路径下然后当用到的时候再从本地获取图片,当数据发生改变时再次存储然后设置
数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的4种方式,分别是:1 使用SharedPreferences存储数据;2 文件存储数据;3 SQLite数据库存储数据;4 使用ContentProvider存储数据;
(1)熟悉Android系统提供的四种数据存储方式:SharePreference、SQLite、ContentProvider和File (2)学会编写程序使用SQLite数据库存储数据 (3)学会编写程序使用SharedPreference对象存储数据 (4)学会编写...
Android项目开发中使用的数据存储方式有:网络存储、sqlite存储、File存储和SharedPreferences存储,四种存储方式对应的Demo别人是NetworkDemo、SqliteDemo、FileDemo和SharedPreferencesDemo,根据应用的场景选择...
Android之文件数据存储 一、文件保存数据介绍 Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。文件可用来存放大量数据,如文本、图书、...
介绍了android总三种数据存储的方式: 1 SharedPreferences 2 File输入流输出流 3 SQLite 数据库 增删改查
SharedPreference是一种轻型的数据存储方式,实际上是基于XML文件存储的“key-value”键值对数据。通常用来存储程序的一些配置信息。其存储在“data/data/程序包名/shared_prefs目录下。 SharedPreference本身
Android自学笔记-8-Android数据存储1:文件、SharedPreferences和获取sd卡信息
Android提供了四种数据存储方式:SharedPreferences、File、ContentProvider、SQLite。由于SQLite不像Oracle、MySQL那样需要安装、启动,它只是一个文件,并且支持绝大多数的SQL语句,通过execSQL(String sql)方法...
数据持久化就是指将那些内存中的瞬时数据保存到持久化设备中(如手机文件、数据库等),当关机,停电后,数据不丢失。 Android 系统中主要提供了... 使用范围:文件储存适合用于存储一些简单的文本数据或二进制数据。
文件存储是Android中最基本的一种数据存储方式,它与Java中的文件存储类似,都是通过I/O流的形式把数据存储到文档中。 Android中的文件存储分为内部存储和外部存储。 文件存储简介 File Storage Overview 文件存储...
Android 提供了四种存储模式: 专属空间存储:以该模式存储的数据只允许特定的应用程序访问。 共享空间存储:以该模式存储的数据,所有应用都可以访问。 首选项存储:常用于保存键值对数据。 本地数据库存储:常...
一段详细的往手机内存和手机sdcard卡上面存储数据的代码,作者对里面的功能进行了封装,在实际的开发项目中可以直接拿来用。
Android Files 数据存储方法演示附源码,Android 如何使用Files方式的 数据存储实例附源码,演示了模拟用户设置参数,查看 Files 产生的文件。 如果你需要用一个文件来加载初始化程序 ,可以事先在目录下res/raw/...
file主要存储大型文件,但需要你的sdcard中有相应用空间,比如存一个二进制文件. 操作方式与普通java相似,即打开一个FileInputStream/FileOutPutStream,转成InputStream/outPutStream 然后读/写字节. ...