package wpam.recognizer;
import pl.polidea.apphance.Apphance;
import android.R.string;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.media.MediaRecorder;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private Button stateButton;
private Button clearButton;
private EditText recognizeredEditText;
private SpectrumView spectrumView;
private NumericKeyboard numKeyboard;
Controller controller;
private String recognizeredText;
History history;
public static final String APP_KEY = "806785c1fb7aed8a867039282bc21993eedbc4e4";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Apphance.start(this, APP_KEY);
setContentView(R.layout.main);
controller = new Controller(this);
stateButton = (Button)this.findViewById(R.id.stateButton);
stateButton.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
controller.changeState();
}
});
clearButton = (Button)this.findViewById(R.id.clearButton);
clearButton.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
controller.clear();
}
});
spectrumView = new SpectrumView();
spectrumView.setImageView((ImageView) this.findViewById(R.id.spectrum));
recognizeredEditText = (EditText)this.findViewById(R.id.recognizeredText);
recognizeredEditText.setFocusable(false);
numKeyboard = new NumericKeyboard();
numKeyboard.add('0', (Button)findViewById(R.id.button0));
numKeyboard.add('1', (Button)findViewById(R.id.button1));
numKeyboard.add('2', (Button)findViewById(R.id.button2));
numKeyboard.add('3', (Button)findViewById(R.id.button3));
numKeyboard.add('4', (Button)findViewById(R.id.button4));
numKeyboard.add('5', (Button)findViewById(R.id.button5));
numKeyboard.add('6', (Button)findViewById(R.id.button6));
numKeyboard.add('7', (Button)findViewById(R.id.button7));
numKeyboard.add('8', (Button)findViewById(R.id.button8));
numKeyboard.add('9', (Button)findViewById(R.id.button9));
numKeyboard.add('0', (Button)findViewById(R.id.button0));
numKeyboard.add('#', (Button)findViewById(R.id.buttonHash));
numKeyboard.add('*', (Button)findViewById(R.id.buttonAsterisk));
setEnabled(false);
recognizeredText = "";
history = new History(this);
history.load();
}
public void start()
{
stateButton.setText(R.string.stop);
setEnabled(true);
}
public void stop()
{
history.add(recognizeredText);
stateButton.setText(R.string.start);
setEnabled(false);
}
public int getAudioSource()
{
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
if (telephonyManager.getCallState() != TelephonyManager.PHONE_TYPE_NONE)
return MediaRecorder.AudioSource.VOICE_DOWNLINK;
return MediaRecorder.AudioSource.MIC;
}
public void drawSpectrum(Spectrum spectrum) {
spectrumView.draw(spectrum);
}
public void clearText()
{
history.add(recognizeredText);
recognizeredText = "";
recognizeredEditText.setText("");
}
public void addText(Character c)
{
recognizeredText += c;
recognizeredEditText.setText(recognizeredText);
}
public void setText(String text)
{
recognizeredEditText.setText(text);
}
public void setEnabled(boolean enabled)
{
recognizeredEditText.setEnabled(enabled);
numKeyboard.setEnabled(enabled);
}
public void setAciveKey(char key)
{
numKeyboard.setActive(key);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.layout.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.history:
showHistory();
break;
case R.id.send:
sendRecognizeredText();
break;
case R.id.about:
showAbout();
break;
}
return true;
}
private void showHistory()
{
history.add(recognizeredText);
history.save();
Intent intent = new Intent(this, HistoryActivity.class);
startActivity(intent);
}
private void sendRecognizeredText() {
final Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(android.content.Intent.EXTRA_TEXT, recognizeredText);
startActivity(Intent.createChooser(sendIntent, getString(R.string.send)+":"));
}
private void showAbout()
{
AlertDialog about = new AlertDialog.Builder(this).create();
about.setTitle(getString(R.string.app_name)+" ("+getVersion()+")");
about.setIcon(R.drawable.icon);
about.setMessage(getString(R.string.about_text));
about.show();
}
private String getVersion()
{
PackageManager manager = getPackageManager();
PackageInfo info = null;
try {
info = manager.getPackageInfo(getPackageName(), 0);
} catch (NameNotFoundException e) {
Log.wtf("NameNotFoundException", "getVersion() NameNotFoundException");
}
return info.versionName;
}
@Override
protected void onDestroy()
{
history.add(recognizeredText);
history.save();
super.onDestroy();
}
@Override
protected void onPause()
{
if (controller.isStarted())
controller.changeState();
super.onPause();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
android_dtmf_decoder (129个子文件)
resources.ap_ 32KB
recognizer.apk 65KB
undo.bookmarks 0B
branch 8B
undo.branch 7B
branchheads-served 93B
proguard.cfg 1KB
.classpath 323B
undo.desc 46B
classes.dex 65KB
dirstate 2KB
undo.dirstate 0B
fncache 2KB
hgrc 59B
recognizer.apk.i 115KB
classes.dex.i 74KB
resources.ap__.i 36KB
apphance.jar.i 36KB
icon.psd.i 20KB
ic__menu__send.psd.i 12KB
icon.png.i 12KB
ic__menu__info.psd.i 12KB
ic__menu__history.psd.i 12KB
icon.png.i 9KB
icon.png.i 7KB
_real_double_f_f_t___mixed.java.i 5KB
00manifest.i 5KB
_main_activity.java.i 4KB
_complex_double_f_f_t___mixed.java.i 4KB
00changelog.i 3KB
ic__menu__send.png.i 2KB
ic__menu__info.png.i 2KB
_controller.java.i 2KB
_f_f_t.java.i 2KB
ic__menu__history.png.i 2KB
ic__menu__send.png.i 2KB
_record_task.java.i 2KB
_real_double_f_f_t___even___odd.java.i 2KB
ic__menu__info.png.i 2KB
_real_double_f_f_t___odd.java.i 2KB
_real_double_f_f_t.java.i 1KB
_real_double_f_f_t___even.java.i 1KB
ic__menu__history.png.i 1KB
ic__menu__send.png.i 1KB
_complex_double_f_f_t.java.i 1KB
ic__menu__info.png.i 1KB
_stateless_recognizer.java.i 1KB
_recognizer.java.i 1KB
_real_double_f_f_t___odd___odd.java.i 1016B
_recognizer_task.java.i 958B
ic__menu__template.png.i 900B
_history_row_adapter.java.i 893B
_spectrum_view.java.i 813B
main.xml.i 772B
_android_manifest.xml.i 764B
_spectrum_fragment.java.i 750B
_tone.java.i 706B
~2eclasspath.i 673B
_history.java.i 654B
_history_item.java.i 607B
menu.xml.i 606B
_tools.java.i 605B
_history_activity.java.i 601B
_data_block.java.i 575B
_complex.java.i 561B
_d_f_t.java.i 561B
strings.xml.i 498B
proguard.cfg.i 490B
history__row.xml.i 462B
history.xml.i 445B
_numeric_keyboard.java.i 396B
strings.xml.i 380B
~2eproject.i 324B
_spectrum.java.i 317B
default.properties.i 314B
_complex1_d.java.i 235B
org.eclipse.jdt.core.prefs.i 194B
00changelog.i 57B
apphance.jar 41KB
MainActivity.java 6KB
FFT.java 6KB
Tools.java 2KB
HistoryRowAdapter.java 2KB
Complex.java 2KB
RecognizerTask.java 2KB
Controller.java 2KB
History.java 2KB
RecordTask.java 1KB
StatelessRecognizer.java 1KB
SpectrumView.java 1KB
Tone.java 1KB
DFT.java 1KB
SpectrumFragment.java 1KB
NumericKeyboard.java 761B
Recognizer.java 647B
HistoryItem.java 641B
Spectrum.java 588B
DataBlock.java 583B
HistoryActivity.java 494B
phaseroots 0B
共 129 条
- 1
- 2
wjzstorm
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页