解释一下下面红色代码部分 先后顺序从上到下 解答的时候表明1,2,3,4!简单易懂 谢谢各位 !
package com.seles.cn.com;import java.util.ArrayList;
import java.util.List;import android.app.Activity;
import android.app.SearchManager;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
import android.speech.RecognizerIntent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;public class VS extends Activity {
public TextView TextView01=null;
public ImageButton ImageButton01=null;
public static final int VOICE_RECOGNITION_REQUEST_CODE=0X1008;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.voice);
TextView01=(TextView)this.findViewById(R.id.TextView01);
ImageButton01=(ImageButton)findViewById(R.id.Button01);
ImageButton01.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View v) {
PackageManager pm=getPackageManager();
List<ResolveInfo> activities=pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
/*若有安装*/
if(activities.size()!=0){
try{
Intent intent =new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
/*在语音出现的说明*/
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "语音识别");
/*启动语音识别*/
startActivityForResult(intent,VOICE_RECOGNITION_REQUEST_CODE);
}catch (Exception e){
TextView01.setText(""+e.getMessage());
Toast.makeText(VS.this, e.getMessage(), Toast.LENGTH_LONG).show();
}
}
else{
TextView01.setText("RecognizerIntent NOT Found!");
Toast.makeText(VS.this, "RecognizerIntent NOT Found!", Toast.LENGTH_LONG).show();
} }
}); }
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode){
case VOICE_RECOGNITION_REQUEST_CODE:
if(requestCode== VOICE_RECOGNITION_REQUEST_CODE && resultCode==RESULT_OK){
String strRet="";
/*取得识别结果*/
//ArrayList<String> results = data.getStringArrayExtra(RecognizerIntent.EXTRA_RESULTS);
ArrayList<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
for(int i=0;i<results.size();i++){
strRet+=results.get(i);
}
if(strRet.length()>0){
TextView01.setText(strRet);
Toast.makeText(VS.this, "strRet", Toast.LENGTH_LONG).show();
/*启动谷歌网页搜*/
Intent search =new Intent(Intent.ACTION_WEB_SEARCH);
search.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
/*放入字符串*/
search.putExtra(SearchManager.QUERY,strRet);
final Bundle appData=getIntent().getBundleExtra(SearchManager.APP_DATA);
if(appData !=null){
search.putExtra(SearchManager.APP_DATA, appData);
}
startActivity(search);
}
else{
TextView01.setText("Can not recognize........");
Toast.makeText(VS.this, "Can not recognize.....", Toast.LENGTH_LONG).show();
}
}
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
}
package com.seles.cn.com;import java.util.ArrayList;
import java.util.List;import android.app.Activity;
import android.app.SearchManager;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
import android.speech.RecognizerIntent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;public class VS extends Activity {
public TextView TextView01=null;
public ImageButton ImageButton01=null;
public static final int VOICE_RECOGNITION_REQUEST_CODE=0X1008;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.voice);
TextView01=(TextView)this.findViewById(R.id.TextView01);
ImageButton01=(ImageButton)findViewById(R.id.Button01);
ImageButton01.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View v) {
PackageManager pm=getPackageManager();
List<ResolveInfo> activities=pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
/*若有安装*/
if(activities.size()!=0){
try{
Intent intent =new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
/*在语音出现的说明*/
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "语音识别");
/*启动语音识别*/
startActivityForResult(intent,VOICE_RECOGNITION_REQUEST_CODE);
}catch (Exception e){
TextView01.setText(""+e.getMessage());
Toast.makeText(VS.this, e.getMessage(), Toast.LENGTH_LONG).show();
}
}
else{
TextView01.setText("RecognizerIntent NOT Found!");
Toast.makeText(VS.this, "RecognizerIntent NOT Found!", Toast.LENGTH_LONG).show();
} }
}); }
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode){
case VOICE_RECOGNITION_REQUEST_CODE:
if(requestCode== VOICE_RECOGNITION_REQUEST_CODE && resultCode==RESULT_OK){
String strRet="";
/*取得识别结果*/
//ArrayList<String> results = data.getStringArrayExtra(RecognizerIntent.EXTRA_RESULTS);
ArrayList<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
for(int i=0;i<results.size();i++){
strRet+=results.get(i);
}
if(strRet.length()>0){
TextView01.setText(strRet);
Toast.makeText(VS.this, "strRet", Toast.LENGTH_LONG).show();
/*启动谷歌网页搜*/
Intent search =new Intent(Intent.ACTION_WEB_SEARCH);
search.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
/*放入字符串*/
search.putExtra(SearchManager.QUERY,strRet);
final Bundle appData=getIntent().getBundleExtra(SearchManager.APP_DATA);
if(appData !=null){
search.putExtra(SearchManager.APP_DATA, appData);
}
startActivity(search);
}
else{
TextView01.setText("Can not recognize........");
Toast.makeText(VS.this, "Can not recognize.....", Toast.LENGTH_LONG).show();
}
}
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
}
解决方案 »
- 棘手问题:那个手机浏览器支持双向SSL认证
- 关于android中Activity与xml的问题,求高手解答
- 求教
- buildDrawingCache 如何设置成RGB_565?
- layout_width
- 读取设备型号出现了异常,大家有遇到过吗?
- Linphone开源库的问题?
- 类似与QQ、微信的通信功能大概是怎么实现的?
- Android移动网络下能使用Socket通信吗
- Attempt to invoke virtual method 'void com.gizwits.gizwifisdk.api.GizWifiDevice
- Android官方模拟器不能正常运行官方Android电子市场
- android下断点下载的问题!!!!
这也让解释,干脆一块讲讲java语法算了