Note that there are some explanatory texts on larger screens.

plurals
  1. POCan't implement Google API Sample (VoiceRecognition)
    text
    copied!<p>I am very new to Android development, I am trying to create a basic application that makes use of the VoiceRecognition facility to display the text spoken...</p> <pre><code>package com.example.android.apis.app; import com.example.android.apis.R; import android.app.Activity; 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.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import java.util.ArrayList; import java.util.List; /** * Sample code that invokes the speech recognition intent API. */ public class VoiceRecognition extends Activity implements OnClickListener { private static final int VOICE_RECOGNITION_REQUEST_CODE = 1234; private ListView mList; /** * Called with the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Inflate our UI from its XML layout description. setContentView(R.layout.voice_recognition); // Get display items for later interaction Button speakButton = (Button) findViewById(R.id.btn_speak); mList = (ListView) findViewById(R.id.list); // Check to see if a recognition activity is present PackageManager pm = getPackageManager(); List&lt;ResolveInfo&gt; activities = pm.queryIntentActivities( new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0); if (activities.size() != 0) { speakButton.setOnClickListener(this); } else { speakButton.setEnabled(false); speakButton.setText("Recognizer not present"); } } /** * Handle the click on the start recognition button. */ public void onClick(View v) { if (v.getId() == R.id.btn_speak) { startVoiceRecognitionActivity(); } } /** * Fire an intent to start the speech recognition activity. */ private void startVoiceRecognitionActivity() { Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo"); startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE); } /** * Handle the results from the recognition activity. */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == VOICE_RECOGNITION_REQUEST_CODE &amp;&amp; resultCode == RESULT_OK) { // Fill the list view with the strings the recognizer thought it could have heard ArrayList&lt;String&gt; matches = data.getStringArrayListExtra( RecognizerIntent.EXTRA_RESULTS); mList.setAdapter(new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_1, matches)); } super.onActivityResult(requestCode, resultCode, data); } } </code></pre> <p>I created a class with the VoiceRecognition code provided by Google:</p> <p>It took ages to compile as it kept complaining about the "com.example.android.apis.R" that could not be resolved... I imported the relevant XML file provided in the API and placed it into the main.xml</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;!-- ... --&gt; &lt;!-- This activity displays UI for launching voice recognition --&gt; &lt;LinearLayout xmlns:android="......." android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"&gt; &lt;TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingBottom="4dip" android:text="@string/voice_recognition_prompt" /&gt; &lt;Button android:id="@+id/btn_speak" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/speak_button" /&gt; &lt;ListView android:id="@+id/list" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" /&gt; &lt;/LinearLayout&gt; </code></pre> <p>And I added the voice_recognition_prompt and the speak_button strings to the value file (this is all new to me, i am not sure I have done these things in the right order).</p> <p>Finally the app compiles but it just gives a force shut down error message. Is there any particular step that I may have missed? Some specific project configuration to use this Google API sample?</p> <p>I really appreciate your help.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload