Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Vladiuss
0 / 0 / 0
Регистрация: 24.05.2013
Сообщений: 37
#1

Подскажите что я делаю не так - Программирование Android

24.05.2013, 14:59. Просмотров 571. Ответов 5
Метки нет (Все метки)

При нажатии на кнопку должно появляются окно для распознавания речи. Создал класс в нем все описал, код рабочий. Создаю экземпляр этого класса в другом классе но ничего не получается при нажатии приложении закрывается.

Вот класс для управления голосом.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import java.util.ArrayList;
 
import android.app.Activity;
import android.content.Intent;
import android.speech.RecognizerIntent;
import android.view.View;
import android.widget.Toast;
 
public class StartVoiceControl extends Activity{
        private static final int REQUEST_CODE = 1234;
     
        public void speakButtonClicked(View v)
        {
            startVoiceRecognitionActivity();
        }
     
        /**
         * Fire an intent to start the voice 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, "Voice recognition...");
            startActivityForResult(intent, REQUEST_CODE);
        }
     
 
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data)
        {
            if (requestCode == REQUEST_CODE && resultCode == RESULT_OK)
            {
                // Populate the wordsList with the String values the recognition engine thought it heard
                ArrayList<String> matches = data.getStringArrayListExtra(
                        RecognizerIntent.EXTRA_RESULTS);
 
                String fisrtResult = matches.get(0);
                
                Toast toast = Toast.makeText(getApplicationContext(), 
                        fisrtResult, Toast.LENGTH_SHORT); 
                        toast.show(); 
            }
            super.onActivityResult(requestCode, resultCode, data);
        }
}
В другом классе пишу:
Java
1
2
StartVoiceControl voiceControl = new StartVoiceControl();
voiceControl.speakButtonClicked(v);
Подскажите что не так? Я новичок так что сильно не пинайте. Думал что когда кнопку нажимаешь ошибка лезет, проверил когда нажимаешь кнопку все ок. Ругается именно когда я создаю экземпляр класса и выполняю его метод.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2013, 14:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подскажите что я делаю не так (Программирование Android):

Подскажите что я делаю не так. Разработка Виджета - Программирование Android
Не могу понять почему у меня когда нажимаешь на кнопку в виджете ничего не происходит. Уже куча примеров пересмотрел нифига понять не могу,...

Как отсортировать List? Подскажите что делаю не так - Программирование Android
class DocItemsListAdapter extends BaseAdapter { public DocItemsListAdapter() { } public int getCount() { int count = 0; ...

Что не так я делаю в адптаре - Программирование Android
доброго, проблема, компелирую запускаю APK программа запускается видно верх название и меню три точки вертикально, потом закрывается с...

Что я делаю не так. Совсем нубский вoпрос. - Программирование Android
Везде в руководствах говорится, что обработчик нажатия кнопки должен переопределять метод onClick. У меня данный код не компилируется. Если...

Что я неправильно делаю при реализации поиска? - Программирование Android
Мучаюсь уже второй день. Подскажите что не так. Задача сделать поиск в справочнике. Все делаю по гайду - прописываю в манифесте, что...

Что не так? - Программирование Android
Вот класс: public class ReadStringJson { public String url; public ReadStringJson(String url) { this.url = url; ...

5
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.05.2013, 17:55 #2
http://developer.android.com/guide/components/activities.html
читай
0
Vladiuss
0 / 0 / 0
Регистрация: 24.05.2013
Сообщений: 37
24.05.2013, 18:24  [ТС] #3
Если бы я ещё так хорошо знал английский что бы все это прочитать.
0
Good-bad man
255 / 233 / 17
Регистрация: 31.10.2010
Сообщений: 504
24.05.2013, 19:06 #4
А почему бы не делать всё это в той же активити, в которой вы пытаетесь делать так:
Java
1
2
StartVoiceControl voiceControl = new StartVoiceControl();
voiceControl.speakButtonClicked(v);
? Насколько я помню, нельзя создавать экземпляр активити напрямую, можно только вызывать его с помощью Intent.
0
Vladiuss
0 / 0 / 0
Регистрация: 24.05.2013
Сообщений: 37
24.05.2013, 22:18  [ТС] #5
Цитата Сообщение от Good-bad man Посмотреть сообщение
А почему бы не делать всё это в той же активити, в которой вы пытаетесь делать так:
Java
1
2
StartVoiceControl voiceControl = new StartVoiceControl();
voiceControl.speakButtonClicked(v);
? Насколько я помню, нельзя создавать экземпляр активити напрямую, можно только вызывать его с помощью Intent.
Изначально я так и сделал, нажимаю на кнопочку выскакивает окно распознавания голоса после распознавания ничего не происходит, onActivityResult возвращает resultCode = 0.
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.05.2013, 22:26 #6
Цитата Сообщение от Vladiuss Посмотреть сообщение
Изначально я так и сделал, нажимаю на кнопочку выскакивает окно распознавания голоса после распознавания ничего не происходит, onActivityResult возвращает resultCode = 0.
и причем здесь одно ко второму?
0
24.05.2013, 22:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2013, 22:26
Привет! Вот еще темы с ответами:

Что не так с Marshmallow? - Программирование Android
1. не срабатывает именно в 6.0 audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); ...

Что тут не так? - Программирование Android
У меня есть кнопка которая должна открыть новое окно (screen) я делаю так public void onMyButtonClick(View view) { ...

Что то не так с кодом - Программирование Android
Запускаю. Ввожу в edittext 01026071 и всё замечательно работает. Но если после запуска нажимаю на кнопки (те что внизу кода ) то после...

Password что не так? - Программирование Android
доброго времени суток. Подскажите что делаю не так? package com.example.igor.enser; import android.content.Intent; import...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru