现在的位置: 首页 > 综合 > 正文

android音效计算器

2017年02月08日 ⁄ 综合 ⁄ 共 8690字 ⁄ 字号 评论关闭

从开始接触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;
 }

}

抱歉!评论已关闭.