Форум программистов, компьютерный форум CyberForum.ru

Ошибка передачи параметров в класс - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Парсинг Википедии http://www.cyberforum.ru/android-dev/thread1131648.html
Здравствуйте. Выручайте! нужно сделать парсинг, т.е. я ввожу слово и его значение мне выдается в листвиев (Википедия). Вот мои наработки: MainActivity: package com.example.avto_golos; import java.net.URL; import java.util.ArrayList; import java.util.Iterator; import java.util.List;
Программирование Android Свайп по linearlayout есть linearlayout в котором находиться еще 2 linearlayout каждый из них заполняет основной на 50% при том что внутри них есть текст и картинка. По сути мне нужно сделать перелистывания информации. на кнопках это все прекрассно реализовано. но хотелось чтоб можно было двигать жестом. как это засвайпить??? (на главном экране несколько linearlayout использовать свайп нужно конкретно на... http://www.cyberforum.ru/android-dev/thread1131633.html
Программирование Android Отправка данных с планшета на удаленный компьютер. оптимизация производительности планшета
Всем здравствуйте. В общем, задача такая. Имеется приложение для планшета, собирающее данные с некоего прибора по блютусу, а конкретно, оно считывает температуру. Далее приложение должно делать спектральный анализ полученных данных. В общем, я задачу решил, однако меня не устраивает производительность планшета. Данные обрабатываются около пяти-десяти минут... Само собой - это никуда не годится....
Программирование Android Выделение текста цветом
У меня есть текст с ссылкой (сообщение из твитера. Что-то наподобие "Тут новость бла бла бла http:\\t.co\dsds"). У меня есть индекс начала и конца ссылки. Каким образом мне поменять цвет ссылки на синий например? Либо же, как сделать из нее URL, по которому можно будет перейти?
Программирование Android OnTextWatcher http://www.cyberforum.ru/android-dev/thread1131033.html
есть такой код: public void onTextWatcher(final CustomAdapter customAdapter){ this.customAdapter = customAdapter; textWatcher = new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) { } @Override
Программирование Android Сохранение позиции spinner На фрагменте есть несколько спиннеров. При переходе на другой фрагмент, а потом вернутся на фрагмент со спиннерами все сбрасывается на дефолтное значение (показывается первый в списке). Как сохранить выбранную позицию спиннера? Пробовал использовать метод onSaveInstanceState, но приложение его просто не вызывает. подробнее

Показать сообщение отдельно
Nachinka
11 / 11 / 0
Регистрация: 19.02.2014
Сообщений: 95

Ошибка передачи параметров в класс - Программирование Android

28.03.2014, 23:52. Просмотров 513. Ответов 0
Метки (Все метки)

Всем привет снова!

Все же, наверно, лучше будет создать темку под этот вопрос)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
protected void AudioData() {
        audioRecord.startRecording();
        byte data[] = new byte[myBufferSize];
        byte[] myBuffer = new byte[myBufferSize];
        int[] retcof;
        int readCount = 0;
        int totalCount = 0;
        while (reading) {
            readCount = audioRecord.read(myBuffer, 0, myBufferSize);
            data = myBuffer;
            totalCount += readCount;
            Log.d(TAG, "readCount = " + readCount + ", totalCount = "
                    + totalCount);
            Log.d(TAG, "lenght: " + data.length);
        }
        retcof = Testc.cof(data);
    }
Вопрос возник из этой темы: Записать массив байтов с микрофона

Интересует именно вот эта строчка:
Java
1
retcof = Testc.cof(data);
Собс-но, отсылаем массивчик в класс и ждем результат)

Класс имеет такую структуру:
Java
1
2
3
4
5
6
7
8
public class Testc {
  public static byte[] datas;   
   public static int[] mfc(byte[] data) {
      datas = data;
      // Код.....
      return datas; //Возвращяем int массив
   }
}
Массив retcof будет равен равен - null
Почему?)
Наверно это главный вопрос, хотя вот так вот записывать массив байтов с микрофона в основной активити тоже нехорошо...

Помогите, пожалуйста, решить эти проблемки!)

Добавлено через 17 часов 39 минут
Ни у кого нет каких-нибудь идей?)

В принципе можно было бы написать:
this.datas = data;
Хотя я думал что это только для такого this.data = data;

Добавлено через 3 часа 5 минут
Ну и проблема....
Java
1
03-28 14:03:09.377: E/AndroidRuntime(1312): java.lang.ArrayIndexOutOfBoundsException: length=8193; index=8193
Вот основная проблема^

Java
1
retcof = Testc.cof(data); // data.length = 8192;
Java
1
2
3
4
5
6
7
8
public class Testc {
  public static byte[] data;   //datas.length = 8192;
   public static int[] mfc(byte[] data) {
      this.data = data;
      // Код..... После которого у нас появляется массив datas
      return datas; //Возвращяем int массив  datas.length = 16;
   }
}
Где вот он успевает превысить размер массива, выложу весь код чтения:

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import android.app.Activity;
import android.media.AudioFormat;
import android.media.AudioRecord;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
 
public class MainActivity extends Activity implements OnClickListener {
 
    Button start_button;
    Button stop_button;
    boolean reading = false;
    final String TAG = "TAG";
    int myBufferSize = 8193;
    AudioRecord audioRecord;
    private Thread recordingThread = null;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        start_button = (Button) findViewById(R.id.button1);
        stop_button = (Button) findViewById(R.id.button2);
        start_button.setOnClickListener(this);
        stop_button.setOnClickListener(this);
        createAudioRecorder();
    }
 
    private void createAudioRecorder() {
        int sampleRate = 16000;
        int channelConfig = AudioFormat.CHANNEL_IN_MONO;
        int audioFormat = AudioFormat.ENCODING_PCM_16BIT;
 
        int minInternalBufferSize = AudioRecord.getMinBufferSize(sampleRate,
                channelConfig, audioFormat);
        int internalBufferSize = minInternalBufferSize * 4;
        Log.d(TAG, "minInternalBufferSize = " + minInternalBufferSize
                + ", internalBufferSize = " + internalBufferSize
                + ", myBufferSize = " + myBufferSize);
 
        audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,
                sampleRate, channelConfig, audioFormat, internalBufferSize);
    }
 
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.button1:
            Log.d(TAG, "record start");
            reading = true;
            startRecorder();
            break;
        case R.id.button2:
            Log.d(TAG, "stop recorder");
            reading = false;
            stopRecorder();
            break;
        }
    }
 
    private void startRecorder() {
        // reading = true;
        Log.d(TAG, "recording...");
        recordingThread = new Thread(new Runnable() {
 
            @Override
            public void run() {
                AudioData();
            }
        }, "AudioRecorder Thread");
 
        recordingThread.start();
    }
 
    protected void AudioData() {
        audioRecord.startRecording();
        byte[] data = new byte[myBufferSize];
        byte[] myBuffer = new byte[myBufferSize];
        int readCount = 0;
        int totalCount = 0;
        while (reading) {
            readCount = audioRecord.read(myBuffer, 0, myBufferSize);
            data = myBuffer;
            totalCount += readCount;
            Log.d(TAG, "readCount = " + readCount + ", totalCount = "
                    + totalCount);
            Log.d(TAG, "lenght: " + data.length);
        }
        int[] retcof = Testc.mfc(data);
        Log.d(TAG, "mfcc test: " + retcof[0]);
        Log.d(TAG, "mfcc test: " + retcof[1]);
    }
 
    private void stopRecorder() {
        // reading = false;
        Log.d(TAG, "record stop!");
        // audioRecord.stop();
        if (null != audioRecord) {
            reading = false;
            audioRecord.stop();
            audioRecord.release();
            audioRecord = null;
            recordingThread = null;
        }
        
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}
Добавлено через 5 часов 38 минут
Ни у кого все еще нет никаких задумок?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru