android项目,请大神们帮忙修改代码,把一个类封装成一个方法,在其他类中调用这个方法
下面的代码(转自http://blog.csdn.net/ichliebephone/article/details/5802044)想改成一个方法(就是封装成一个方法),在另外一个类里面调用这个方法,但是另外一个类只是给他传一下参数,所以要把button去掉,也能实现功能才行跪求大神们帮帮忙
代码如下:
import java.util.Locale;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class TTSDemo1Activity extends Activity implements OnInitListener{
/** Called when the activity is first created. */
private EditText inputText;
private Button btn;
private String str="";
private static final int REQ_TTS_STATUS_CHECK=0;
private static final String TAG="tts demo";
public TextToSpeech mtts;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//检查TTS数据是否已经安装并且可用
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent,REQ_TTS_STATUS_CHECK);
inputText=(EditText) findViewById(R.id.ttstext);
btn=(Button) findViewById(R.id.btn);
inputText.setText("input text");
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
str=inputText.getText().toString();
mtts.speak(str, TextToSpeech.QUEUE_ADD, null);
}
});
}
//实现tts初始化借口
@Override
public void onInit(int status) {
// TODO Auto-generated method stub
//TTS Engine初始化完成
if(status==TextToSpeech.SUCCESS)
{
int result=mtts.setLanguage(Locale.US);
//设置发音语言
if(result==TextToSpeech.LANG_MISSING_DATA|| result==TextToSpeech.LANG_NOT_SUPPORTED)
//判断语言是否可用
{
Log.v(TAG, "language is not avalible");
btn.setEnabled(false);
}
else
{
mtts.speak("hello", TextToSpeech.QUEUE_ADD,null);
btn.setEnabled(true);
}
}
}
//这里启动一个新的Intent去检查TTS数据是否已经安装
protected void onActivityResult(int requestCode,int resultCode,Intent data ){
if(requestCode==REQ_TTS_STATUS_CHECK)
{
switch(resultCode){
case TextToSpeech.Engine.CHECK_VOICE_DATA_PASS:
{
mtts=new TextToSpeech(this,this);
Log.v(TAG, "tts Engine is installed!");
}
break;
case TextToSpeech.Engine.CHECK_VOICE_DATA_BAD_DATA:
//需要的语音数据已损坏
case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_DATA:
//缺少需要语言的语音数据
case TextToSpeech.Engine.CHECK_VOICE_DATA_MISSING_VOLUME:
//缺少需要语言的发音数据
{
//这三种情况都表明数据有错,重新下载安装需要的数据
Log.v(TAG, "Need language stuff:"+resultCode);
Intent dataIntent=new Intent();
dataIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(dataIntent);
}
break;
case TextToSpeech.Engine.CHECK_VOICE_DATA_FAIL:
//检查失败
default:
Log.v(TAG, "got a failure,tts apparently not avaliable");
break;
}
}
else
{
//其他Intent返回的结果
}
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
if(mtts != null)
//activity暂停时也停止TTS
{
mtts.stop();
}
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
//释放TTS的资源
mtts.shutdown();
}
}
tts,修改代码 android
补充:移动开发 , Android