android音效计算器
从开始接触android,到写计算器,虽然还有许多Bug,但总算迈出了步伐
package com.example.calculator_ordman;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
/* 加法计算器:张琨,2013-9-25 版本1.1 仅仅添加了按钮,能用按钮输入单一位数和符号*/
/* 加法计算器:张琨,2013-9-25 版本1.2 能用按钮输入多位数,无法运算*/
/* 加法计算器:张琨,2013-9-26 11:35 版本1.3 仅仅加法,直接按=会出错*/
/* 四则计算器:张琨,2013-9-27 11:30 版本1.4 四则运算,直接按=正常*/
/* 四则运算器:张琨,2013-10-12 17:38 版本1.5 按键发声,小数点功能没有实现*/
/* 老人按键发声计算器:张琨 2013-10-22 11:04 版本 1.6,实现小数点,但9*1.1这类计算不出结果*/
public class MainActivity extends Activity {
public Button btn_1,btn_2,btn_3,btn_4,btn_5,btn_6,btn_7,btn_8,btn_9,btn_0;
public Button btn_add,btn_jian,btn_chen,btn_chu,btn_dian,btn_equ;
public Button btn_about, btn_help,btn_res;
public String values_s = "", sum_v = "", str = "";
public int fuhao = 0;
public TextView nub_View;
private SoundPool sound_1,sound_2,sound_3,sound_4,sound_5,sound_6,sound_7,sound_8,sound_9,sound_0,
sound_add,sound_jian,sound_chen,sound_chu,sound_equ;
private int music_1,music_2,music_3,music_4,music_5,music_6,music_7,music_8,music_9,music_0,
music_add,music_jian,music_chen,music_chu,music_equ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init(); //调用音频初始化方法
btn_1 = (Button)findViewById(R.id.button1);
btn_2 = (Button)findViewById(R.id.button2);
btn_3 = (Button)findViewById(R.id.button3);
btn_add = (Button)findViewById(R.id.button4);
btn_4 = (Button)findViewById(R.id.button5);
btn_5 = (Button)findViewById(R.id.button6);
btn_6 = (Button)findViewById(R.id.button7);
btn_jian = (Button)findViewById(R.id.button8);
btn_7 = (Button)findViewById(R.id.button9);
btn_8 = (Button)findViewById(R.id.button10);
btn_9 = (Button)findViewById(R.id.button11);
btn_chen = (Button)findViewById(R.id.button12);
btn_dian = (Button)findViewById(R.id.button13);
btn_0 = (Button)findViewById(R.id.button14);
btn_equ = (Button)findViewById(R.id.button15);
btn_chu = (Button)findViewById(R.id.button16);
btn_about = (Button)findViewById(R.id.button17);
btn_help = (Button)findViewById(R.id.button18);
btn_res = (Button)findViewById(R.id.button19);
nub_View = (TextView)findViewById(R.id.textView1);
btn_1.setOnClickListener(listener);
btn_2.setOnClickListener(listener);
btn_3.setOnClickListener(listener);
btn_4.setOnClickListener(listener);
btn_5.setOnClickListener(listener);
btn_6.setOnClickListener(listener);
btn_7.setOnClickListener(listener);
btn_8.setOnClickListener(listener);
btn_9.setOnClickListener(listener);
btn_0.setOnClickListener(listener);
btn_add.setOnClickListener(fu_hao);
btn_jian.setOnClickListener(fu_hao);
btn_chen.setOnClickListener(fu_hao);
btn_chu.setOnClickListener(fu_hao);
btn_dian.setOnClickListener(fu_hao);
btn_equ.setOnClickListener(fu_equ);
btn_res.setOnClickListener(fu_hao);
btn_about.setOnClickListener(about_next);
btn_help.setOnClickListener(help_next);
}
private void init() {
sound_1= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);//第一个参数为同时播放数据流的最大个数,第二数据流类型,第三为声音质量
music_1 = sound_1.load(this, R.raw.nub1, 1); //把你的声音素材放到res/raw里,第2个参数即为资源文件,第3个为音乐的优先级
sound_2= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_2 = sound_2.load(this, R.raw.nub2, 1);
sound_3= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_3 = sound_3.load(this, R.raw.nub3, 1);
sound_4= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_4 = sound_4.load(this, R.raw.nub4, 1);
sound_5= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_5 = sound_5.load(this, R.raw.nub5, 1);
sound_6= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_6 = sound_6.load(this, R.raw.nub6, 1);
sound_7= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_7 = sound_7.load(this, R.raw.nub7, 1);
sound_8= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_8 = sound_8.load(this, R.raw.nub8, 1);
sound_9= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_9 = sound_9.load(this, R.raw.nub9, 1);
sound_0= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_0 = sound_0.load(this, R.raw.nub0, 1);
sound_add= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_add = sound_add.load(this, R.raw.nub_add, 1);
sound_jian= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_jian = sound_jian.load(this, R.raw.nub_jian, 1);
sound_chen= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_chen = sound_chen.load(this, R.raw.nub_chen, 1);
sound_chu= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_chu = sound_chu.load(this, R.raw.nub_chu, 1);
sound_equ= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
music_equ = sound_equ.load(this, R.raw.nub_equ, 1);
}
public OnClickListener listener = new OnClickListener() {
public void onClick(View v) {
Button btn=(Button)v;
switch (btn.getId()) {
case R.id.button1:
nub_View.setText(values_s+"1");
values_s = values_s+"1";
sound_1.play(music_1, 1, 1, 0, 0, 1);
break;
case R.id.button2:
nub_View.setText(values_s+"2");
values_s = values_s+"2";
sound_2.play(music_2, 1, 1, 0, 0, 1);
break;
case R.id.button3:
nub_View.setText(values_s+"3");
values_s = values_s+"3";
sound_3.play(music_3, 1, 1, 0, 0, 1);
break;
case R.id.button5:
nub_View.setText(values_s+"4");
values_s = values_s+"4";
sound_4.play(music_4, 1, 1, 0, 0, 1);
break;
case R.id.button6:
nub_View.setText(values_s+"5");
values_s = values_s+"5";
sound_5.play(music_5, 1, 1, 0, 0, 1);
break;
case R.id.button7:
nub_View.setText(values_s+"6");
values_s = values_s+"6";
sound_6.play(music_6, 1, 1, 0, 0, 1);
break;
case R.id.button9:
nub_View.setText(values_s+"7");
values_s = values_s+"7";
sound_7.play(music_7, 1, 1, 0, 0, 1);
break;
case R.id.button10:
nub_View.setText(values_s+"8");
values_s = values_s+"8";
sound_8.play(music_8, 1, 1, 0, 0, 1);
break;
case R.id.button11:
nub_View.setText(values_s+"9");
values_s = values_s+"9";
sound_9.play(music_9, 1, 1, 0, 0, 1);
break;
case R.id.button14:
nub_View.setText(values_s+"0");
values_s = values_s+"0";
sound_0.play(music_0, 1, 1, 0, 0, 1);
break;
}
}
};
public OnClickListener fu_hao = new OnClickListener() {
public void onClick(View v) {
Button btn=(Button)v;
switch (btn.getId()) {
case R.id.button4:
sum_v = values_s;
nub_View.setText(values_s+"+");
values_s = "";
fuhao = 1;
sound_add.play(music_add, 1, 1, 0, 0, 1);
break;
case R.id.button8:
sum_v = values_s;
nub_View.setText(values_s+"-");
values_s = "";
fuhao = 2;
sound_jian.play(music_jian, 1, 1, 0, 0, 1);
break;
case R.id.button12:
sum_v = values_s;
nub_View.setText(values_s+"×");
values_s = "";
fuhao = 3;
sound_chen.play(music_chen, 1, 1, 0, 0, 1);
break;
case R.id.button13:
sum_v = values_s;
nub_View.setText(values_s+".");
values_s = values_s+".";
break;
case R.id.button16:
sum_v = values_s;
nub_View.setText(values_s+"÷");
values_s = "";
fuhao = 4;
sound_chu.play(music_chu, 1, 1, 0, 0, 1);
break;
case R.id.button19:
values_s = "";
sum_v = "";
str = "";
nub_View.setText("欢迎使用音效计算器");
break;
}
}
};
public OnClickListener fu_equ = new OnClickListener() {
@Override
public void onClick(View arg0) {
double a= Double.parseDouble(values_s);
switch (fuhao) {
case 1:
double b=Double.parseDouble(sum_v);
str=String.valueOf(a+b);
break;
case 2:
double b2=Double.parseDouble(sum_v);
str=String.valueOf(b2-a);
break;
case 3:
double b3=Double.parseDouble(sum_v);
str=String.valueOf(a*b3);
break;
case 4:
double b4=Double.parseDouble(sum_v);
str=String.valueOf(b4/a);
break;
case 0:
break;
}
sound_equ.play(music_equ, 1, 1, 0, 0, 1);
nub_View.setText(str);
}
};
public OnClickListener about_next = new OnClickListener() {
@Override
public void onClick(View v) {
Intent about_page = new Intent();
about_page.setClass(MainActivity.this, about.class);
MainActivity.this.startActivity(about_page);
}
};
public OnClickListener help_next = new OnClickListener() {
@Override
public void onClick(View v) {
Intent help_page = new Intent();
help_page.setClass(MainActivity.this, help.class);
startActivity(help_page);
}
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
android音效计算器相关推荐
- android简易计算器
android简易计算器 说明:完成简易版计算器,能够实现基本的加.减.乘.除运算 图示: 布局文件 <?xml version="1.0" encoding="u ...
- Android简单计算器实现
Android简单计算器实现 前言 最近刚开始学习安卓,只是简单的看到布局那块,就开始上手写了,从布局那里就开始各种乱,还到处拖按钮,一开始的第一版只能实现两个数的运算,比较简单,就是简单的上了个手, ...
- android 字符串转小数点,Android实现计算器(计算表达式/计算小数点以及括号)...
本文实例为大家分享了Android实现计算器的具体代码,供大家参考,具体内容如下 布局代码: xmlns:app="http://schemas.android.com/apk/res-au ...
- Android个人所得税计算器
本人所做的android个人所得税计算器程序. 先贴效果图: 1.layout布局主要使用TableLayout,代码如下 <?xml version="1.0" encod ...
- android复杂计算器代码,android简单计算器代码
<android简单计算器代码>由会员分享,可在线阅读,更多相关<android简单计算器代码(9页珍藏版)>请在人人文库网上搜索. 1.package class Calcu ...
- android实现计算器功能吗,利用Android实现一个简单的计算器功能
利用Android实现一个简单的计算器功能 发布时间:2020-11-20 16:25:01 来源:亿速云 阅读:90 作者:Leah 今天就跟大家聊聊有关利用Android实现一个简单的计算器功能, ...
- android开发计算器微积分,不到1M的良心之作!连微积分都能算的计算器APP_TOM科技...
[PConline 应用]计算器可谓是被手机取代的一大电子产品了,不过手机上的APP是否真的有传统的计算器好用?也并不一定.一来,手机上的计算器APP功能普遍偏弱,特别是手机ROM自带的计算器:二来, ...
- android 开源计算器,开源Windows 10计算器应用迎来Web/Android/iOS移植版
开源的跨平台特性,使得基于 UWP 代码的 Windows 10 计算器应用可以在非 Windows 平台上运行. Uno 在一篇博客文章中表示:Windows Calculator 完全使用标准的 ...
- android简易计算器的实现
最近接触了android开发就试着写了一个计算器的小程序: 在xml文件中的布局代码如下: 1 <?xml version="1.0" encoding="utf- ...
最新文章
- 华为数据中心服务器数量,IDC 与华为联合发布《全闪存数据中心白皮书》,目前已有多个应用...
- iOS应用性能调优的25个建议和技巧【转】
- staruml无法打开mdj文件_StarUML使用说明
- MySQL必知必会——了解SQL/SQL简介/使用MySQL
- bzoj 1801: [Ahoi2009]chess 中国象棋【dp】
- 关于豆瓣电台收费的思考
- python定义栈_Python栈实现
- 微软官方解读 Win11 操作系统
- 新装WIN7 UPDATE 无法更新
- C语言 —— 回调函数
- pmp知识点(11)-项目风险管理
- BiSET: Bi-directional Selective Encoding with Template for Abstractive Summarization翻译
- rtl高效定位问题的方法——verilog加打印
- 【codevs1422】河城荷取 二分+dinic
- matlab和Excel的交互 非xlsread和xlswrite(1-Excel基础)
- LINQ编程之LINQ to SQL
- 串口通信与网口通信简介
- 自动控制原理——线性系统的根轨迹分析法
- mysql 存储过程 循环拼接字符串
- 开源工程ffdshow
热门文章
- c语言vc2010,vc++ 2010下载|vc2010 中文旗舰版-520下载站
- ABAP 出库单打印
- Proteus8.9 VSM Studio GCC编译器仿真STM32F407ZGT6系列012_lcd1602一线屏
- 怎么区分有限合伙人和普通合伙人
- ubuntu关机重启等待90秒问题解决
- Linux串口驱动程序(4)-数据发送
- CSharp(C#)语言_第四章(类的深入理解)
- TREE.JS纹理贴图
- 买对的不买贵的 慧眼识别宇瞻DDR真假内存
- linux编辑器 line,Linux 编辑器(vi、emacs、grep、gawk、sed等) zz