title: Can't implement Google API Sample (VoiceRecognition)
body: <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>