要使用NeuroSky的MindWave來抓一些腦波資料,他提供的Android API利用handler回傳message來回傳mindwave所抓到的腦波訊息。

在使用上我需要將EEG訊號儲存在Sqlite中,因為raw data的偵測與傳送速率是512 Hz,且官方所給的範例使用的handler是UI thread handler。自己寫的程式使用此handler來儲存資料會使得UI thread產生ANR的問題。

因此想先將偵測到的message儲存在一個容器內,然後呼叫另一個thread批次的儲存在Sqlite中。

然後慘劇就發生了,不曉得為什麼容器內的message會被當作垃圾回收!

handler程式碼如下:

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
    @Override
    public void handleMessage(Message msg) {
        switch (msg.what) {
            case 0:
                Log.i(TAG, "got Message 0");
                break;
            case TGDevice.MSG_STATE_CHANGE:
                switch (msg.arg1) {
                    case TGDevice.STATE_IDLE:
                        break;
                    case TGDevice.STATE_CONNECTING:
                        SensingActivity.setState("Connecting...");
                        break;
                    case TGDevice.STATE_CONNECTED:
                        SensingActivity.setState("Connected.");
                        SensingActivity.getTGDevice().start();
                        break;
                    case TGDevice.STATE_NOT_FOUND:
                        SensingActivity.setState("Can't find");
                        break;
                    case TGDevice.STATE_NOT_PAIRED:
                        SensingActivity.setState("not paired");
                        break;
                    case TGDevice.STATE_DISCONNECTED:
                        SensingActivity.setState("Disconnected mang");
                }
                break;
            case TGDevice.MSG_POOR_SIGNAL:
                //signal = msg.arg1;
                SensingActivity.setState("Poor Signal: " + String.valueOf(msg.arg1));
                break;
            case TGDevice.MSG_RAW_DATA:
                //msgBuffer.add(msg);
                msgBuffer[index] = msg;
                Log.e(TAG, "In: msg.what = " + msgBuffer[index].what + ", msg.when = " + msgBuffer[index].getWhen() + ", number = " + index);
                index++;
                break;
            case TGDevice.MSG_HEART_RATE:
                break;
            case TGDevice.MSG_ATTENTION:
                //msgBuffer.add(msg);
                //msgBuffer[index++] = msg;
                msgBuffer[index] = msg;
                Log.e(TAG, "In: msg.what = " + msgBuffer[index].what + ", msg.when = " + msgBuffer[index].getWhen() + ", number = " + index);
                index++;
                SensingActivity.setAtt(String.valueOf(msg.arg1));
                SensingActivity.setp1(msg.arg1);
            case TGDevice.MSG_MEDITATION:
                //msgBuffer.add(msg);
               // msgBuffer[index++] = msg;
                msgBuffer[index] = msg;
                Log.e(TAG, "In: msg.what = " + msgBuffer[index].what + ", msg.when = " + msgBuffer[index].getWhen() + ", number = " + index);
                index++;
                SensingActivity.setMed(String.valueOf(msg.arg1));
                SensingActivity.setp2(msg.arg1);
                break;
            case TGDevice.MSG_BLINK:
                msgBuffer[index] = msg;
                Log.e(TAG, "In: msg.what = " + msgBuffer[index].what + ", msg.when = " + msgBuffer[index].getWhen() + ", number = " + index);
                index++;
                break;
            case TGDevice.MSG_RAW_COUNT:
                //tv.append("Raw Count: " + msg.arg1 + "\n");
                break;
            case TGDevice.MSG_LOW_BATTERY:
                //Toast.makeText(getApplicationContext(), "Low battery!", Toast.LENGTH_SHORT).show();
                break;
            case TGDevice.MSG_RAW_MULTI:
                //TGRawMulti rawM = (TGRawMulti)msg.obj;
                //tv.append("Raw1: " + rawM.ch1 + "\nRaw2: " + rawM.ch2);
            default:
                break;
        }
 
        //if (msgBuffer.size() > maxBufferSize - 1) {
        if (index >= maxBufferSize) {
            index = 0;
            //Fixme
//            int i = 0;
//            for(Message mm : msgBuffer) {
//                Log.d(TAG, "check message msg.what = " + mm.what + " number = " + i);
//                i++;
//            }
            for (int i = 0; i<maxBufferSize; ++i) {
                Log.d(TAG, "Out: msg.what = " + msgBuffer[i].what + ", msg.when = " + msgBuffer[i].getWhen() + ", number = " + i);
            }
            // 儲存db資料
            if (OneOrTwo == 1) {
//                t1 = new SavingData(Buffer1);
//                while (t2 != null && t2.myThread.isAlive()) ;
                //Buffer2 = Collections.synchronizedList(new ArrayList<Message>());
                Buffer2 = new Message[maxBufferSize];
                msgBuffer = Buffer2;
                OneOrTwo = 2;
            } else {
//                t2 = new SavingData(Buffer2);
//                while (t1.myThread.isAlive()) ;
                //Buffer1 = Collections.synchronizedList(new ArrayList<Message>());
                Buffer1 = new Message[maxBufferSize];
                msgBuffer = Buffer1;
                OneOrTwo = 1;
            }
        }
 
    }

在第34~36行,我們將message存放到Array中,然後馬上將Array的內容印出來檢查

當Array的內容儲存到一定的數量,我們再將Array所有的內容印出來再次檢查,如第84~86。Log的結果卻發現在84~86的傾印的內容有一大堆的message變成空值,這個問題抓了很久一直找不到解決的方法,是哪一個細節忽略掉了呢? 做成紀錄先

EventLog如下,line 1 ~ 100是存入容器時的log,line 101 ~ 200是批次列印時的結果。發現在批次列印時,容器內的message物件都不是原來的物件了(從msg.when推測出來)

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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
01-26 15:16:10.340 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376205, number = 0
01-26 15:16:10.340 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376205, number = 1
01-26 15:16:10.350 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376219, number = 2
01-26 15:16:10.350 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376219, number = 3
01-26 15:16:10.350 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376220, number = 4
01-26 15:16:10.350 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376220, number = 5
01-26 15:16:10.350 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376221, number = 6
01-26 15:16:10.350 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376221, number = 7
01-26 15:16:10.350 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376221, number = 8
01-26 15:16:10.350 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376221, number = 9
01-26 15:16:10.350 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376222, number = 10
01-26 15:16:10.350 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376222, number = 11
01-26 15:16:10.360 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376237, number = 12
01-26 15:16:10.360 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376237, number = 13
01-26 15:16:10.360 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376237, number = 14
01-26 15:16:10.360 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376238, number = 15
01-26 15:16:10.360 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376238, number = 16
01-26 15:16:10.360 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376238, number = 17
01-26 15:16:10.360 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376238, number = 18
01-26 15:16:10.370 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376238, number = 19
01-26 15:16:10.370 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376239, number = 20
01-26 15:16:10.370 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376239, number = 21
01-26 15:16:10.380 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376257, number = 22
01-26 15:16:10.380 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376257, number = 23
01-26 15:16:10.380 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376258, number = 24
01-26 15:16:10.380 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376259, number = 25
01-26 15:16:10.380 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376259, number = 26
01-26 15:16:10.390 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376260, number = 27
01-26 15:16:10.390 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376260, number = 28
01-26 15:16:10.390 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376261, number = 29
01-26 15:16:10.390 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376261, number = 30
01-26 15:16:10.390 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376261, number = 31
01-26 15:16:10.400 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376277, number = 32
01-26 15:16:10.400 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376277, number = 33
01-26 15:16:10.400 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376277, number = 34
01-26 15:16:10.400 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376278, number = 35
01-26 15:16:10.400 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376278, number = 36
01-26 15:16:10.400 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376278, number = 37
01-26 15:16:10.400 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376279, number = 38
01-26 15:16:10.400 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376279, number = 39
01-26 15:16:10.400 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376279, number = 40
01-26 15:16:10.400 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376279, number = 41
01-26 15:16:10.420 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376297, number = 42
01-26 15:16:10.420 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376297, number = 43
01-26 15:16:10.420 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376297, number = 44
01-26 15:16:10.420 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376297, number = 45
01-26 15:16:10.420 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376298, number = 46
01-26 15:16:10.420 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376298, number = 47
01-26 15:16:10.420 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376298, number = 48
01-26 15:16:10.430 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376298, number = 49
01-26 15:16:10.430 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376298, number = 50
01-26 15:16:10.430 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376298, number = 51
01-26 15:16:10.440 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376314, number = 52
01-26 15:16:10.440 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376315, number = 53
01-26 15:16:10.440 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376315, number = 54
01-26 15:16:10.440 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376316, number = 55
01-26 15:16:10.440 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376316, number = 56
01-26 15:16:10.440 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376317, number = 57
01-26 15:16:10.440 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376317, number = 58
01-26 15:16:10.440 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376318, number = 59
01-26 15:16:10.440 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376318, number = 60
01-26 15:16:10.440 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376319, number = 61
01-26 15:16:10.460 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376337, number = 62
01-26 15:16:10.460 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376337, number = 63
01-26 15:16:10.460 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376338, number = 64
01-26 15:16:10.460 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376338, number = 65
01-26 15:16:10.460 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376339, number = 66
01-26 15:16:10.470 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376340, number = 67
01-26 15:16:10.470 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376341, number = 68
01-26 15:16:10.470 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376341, number = 69
01-26 15:16:10.470 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376342, number = 70
01-26 15:16:10.470 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376342, number = 71
01-26 15:16:10.480 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376354, number = 72
01-26 15:16:10.480 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376355, number = 73
01-26 15:16:10.480 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376355, number = 74
01-26 15:16:10.480 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376356, number = 75
01-26 15:16:10.480 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376356, number = 76
01-26 15:16:10.480 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376356, number = 77
01-26 15:16:10.480 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376356, number = 78
01-26 15:16:10.480 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376357, number = 79
01-26 15:16:10.480 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376357, number = 80
01-26 15:16:10.480 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376357, number = 81
01-26 15:16:10.510 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376375, number = 82
01-26 15:16:10.510 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376376, number = 83
01-26 15:16:10.510 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376376, number = 84
01-26 15:16:10.510 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376377, number = 85
01-26 15:16:10.510 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376377, number = 86
01-26 15:16:10.510 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376377, number = 87
01-26 15:16:10.510 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376377, number = 88
01-26 15:16:10.510 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376377, number = 89
01-26 15:16:10.510 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376378, number = 90
01-26 15:16:10.510 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376378, number = 91
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376395, number = 92
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376395, number = 93
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376396, number = 94
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376396, number = 95
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376396, number = 96
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376396, number = 97
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376396, number = 98
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg E/TGDeviceHandler: In: msg.what = 128, msg.when = 1129376396, number = 99
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 0
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 1
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 2
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 3
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 4
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 5
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 6
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376396, number = 7
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 8
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 9
01-26 15:16:10.520 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 10
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 11
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 12
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 13
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 14
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 15
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 16
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 17
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376396, number = 18
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 19
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 20
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 21
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 22
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 23
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 24
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 25
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 26
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 27
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 28
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 29
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376396, number = 30
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 31
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 32
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376396, number = 33
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 34
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 35
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 36
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 37
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 38
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 39
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 40
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 41
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 42
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376396, number = 43
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 44
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 45
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 46
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 47
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 48
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 49
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 50
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 51
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 52
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 53
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 54
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 55
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 56
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 57
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 58
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 59
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 60
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 61
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 62
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 63
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 64
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 65
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 66
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 67
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 68
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 69
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 70
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 71
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 72
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 73
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 74
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 75
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 76
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 77
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 78
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 79
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 80
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 81
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 82
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 83
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 84
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 85
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 86
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 87
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 88
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376396, number = 89
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 90
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 91
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 92
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 93
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 94
01-26 15:16:10.530 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 95
01-26 15:16:10.540 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 96
01-26 15:16:10.540 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 0, msg.when = 0, number = 97
01-26 15:16:10.540 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376397, number = 98
01-26 15:16:10.540 31127-31127/cycu.nclab.demo.neuroeeg D/TGDeviceHandler: Out: msg.what = 128, msg.when = 1129376396, number = 99

[補充]

如果改成每收到一個message就發動一個thread去做存檔的工作,一樣會發生message物件不見得問題,覺得是我忽略了某一個基礎的問題,唉~

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
@Override
public void handleMessage(Message msg) {
    switch (msg.what) {
        ...
        case TGDevice.MSG_RAW_DATA:
            Log.e(TAG, "In: msg.what = " + msg.what + ", msg.when = " + msg.getWhen() + ", msgCount = " + msgCount++);
            new SavingData2(msg);
            break;
        case TGDevice.MSG_ATTENTION:
            Log.e(TAG, "In: msg.what = " + msg.what + ", msg.when = " + msg.getWhen() + ", msgCount = " + msgCount++);
            new SavingData2(msg);
            SensingActivity.setAtt(String.valueOf(msg.arg1));
            SensingActivity.setp1(msg.arg1);
        case TGDevice.MSG_MEDITATION:
            Log.e(TAG, "In: msg.what = " + msg.what + ", msg.when = " + msg.getWhen() + ", msgCount = " + msgCount++);
            new SavingData2(msg);
            SensingActivity.setMed(String.valueOf(msg.arg1));
            SensingActivity.setp2(msg.arg1);
            break;
        case TGDevice.MSG_BLINK:
            Log.e(TAG, "In: msg.what = " + msg.what + ", msg.when = " + msg.getWhen() + ", msgCount = " + msgCount++);
            new SavingData2(msg);
            break;
        ...
        default:
            break;
    }
}

另外改成每收到一個message就發動一個thread去做存檔,因為thread會自己排程很難去控制他的順序,所以又會有後產生的message先存檔的問題,造成資料庫中的資料順序不對,可以看下面的log節錄,TGDeviceHandler產生的順序和SavingData Thread執行的順序。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
01-26 16:19:23.870 30164-30164/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 128, msg.when = 1133169728, msgCount = 7216
01-26 16:19:23.870 30164-30164/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 128, msg.when = 1133169728, msgCount = 7217
01-26 16:19:23.870 30164-30164/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 128, msg.when = 1133169728, msgCount = 7218
01-26 16:19:23.870 30164-30164/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 128, msg.when = 1133169744, msgCount = 7219
01-26 16:19:23.870 30164-6424/cycu.nclab.demo.neuroeeg I/SavingData2: Out: msg.what = 0, msg.when = 0, msgCount = 7216
01-26 16:19:23.870 30164-6424/cycu.nclab.demo.neuroeeg E/DB_neurosky: saving error on msg.what = 0
01-26 16:19:23.870 30164-6423/cycu.nclab.demo.neuroeeg I/SavingData2: Out: msg.what = 128, msg.when = 1133169746, msgCount = 7215
01-26 16:19:23.870 30164-6422/cycu.nclab.demo.neuroeeg I/SavingData2: Out: msg.what = 128, msg.when = 1133169745, msgCount = 7214
01-26 16:19:23.870 30164-6425/cycu.nclab.demo.neuroeeg I/SavingData2: Out: msg.what = 0, msg.when = 0, msgCount = 7217
01-26 16:19:23.880 30164-6425/cycu.nclab.demo.neuroeeg E/DB_neurosky: saving error on msg.what = 0
01-26 16:19:23.880 30164-30164/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 128, msg.when = 1133169744, msgCount = 7220
01-26 16:19:23.880 30164-6426/cycu.nclab.demo.neuroeeg I/SavingData2: Out: msg.what = 0, msg.when = 0, msgCount = 7218
01-26 16:19:23.880 30164-30164/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 128, msg.when = 1133169745, msgCount = 7221
01-26 16:19:23.880 30164-6426/cycu.nclab.demo.neuroeeg E/DB_neurosky: saving error on msg.what = 0
01-26 16:19:23.880 30164-30164/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 128, msg.when = 1133169745, msgCount = 7222
01-26 16:19:23.880 30164-6428/cycu.nclab.demo.neuroeeg I/SavingData2: Out: msg.what = 0, msg.when = 0, msgCount = 7220
01-26 16:19:23.880 30164-6428/cycu.nclab.demo.neuroeeg E/DB_neurosky: saving error on msg.what = 0
01-26 16:19:23.880 30164-30164/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 128, msg.when = 1133169745, msgCount = 7223
01-26 16:19:23.880 30164-6427/cycu.nclab.demo.neuroeeg I/SavingData2: Out: msg.what = 0, msg.when = 0, msgCount = 7219
01-26 16:19:23.880 30164-6427/cycu.nclab.demo.neuroeeg E/DB_neurosky: saving error on msg.what = 0
01-26 16:19:23.880 30164-6429/cycu.nclab.demo.neuroeeg I/SavingData2: Out: msg.what = 0, msg.when = 0, msgCount = 7221

[補充2]

修改程式碼,在thread中檢查是否有正確的接收到message物件。SavingData.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
public class SavingData2 implements Runnable {
    private final String TAG = getClass().getSimpleName();
    Message msg;
    Thread myThread;
    private long counter;
    private static long threadCount = 0;
 
    public long getCounter() { return counter; }
    public static long getThreadCount() { return threadCount; }
 
    ReentrantLock lock = new ReentrantLock();
 
    SavingData2(Message msg) {
        this.msg = msg;
        this.counter = threadCount++;
        Log.i(TAG, "Out1: msg.what = " + msg.what + ", msg.when = " + msg.getWhen() + ", msgCount = " + counter++);
        myThread = new Thread(this);
        myThread.start();
    }
 
 
    @Override
    public void run() {
        lock.lock();
        Log.i(TAG, "Out: msg.what = " + msg.what + ", msg.when = " + msg.getWhen() + ", msgCount = " + counter++);
        SensingActivity.getDB().insert(msg);
        lock.unlock();
    }
}

我分別在line 16跟25放一個Log來檢查物件,發現在建構子中的物件的確由傳遞進來,然而在run()執行緒中的物件則會變得不確定,如下面的log輸出,因此可能解決這個問題的方法是另外使用一個物件來存放message的內容,不要直接使用message物件。這算是系統的bug還是我的物件導向沒學好XD

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
01-27 12:37:29.080 18151-18151/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 4, msg.when = 1206254932, msgCount = 0
01-27 12:37:29.080 18151-18151/cycu.nclab.demo.neuroeeg I/SavingData2: Out1: msg.what = 4, msg.when = 1206254932, msgCount = 0
01-27 12:37:29.090 18151-18151/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 4, msg.when = 1206254932, msgCount = 1
01-27 12:37:29.090 18151-18151/cycu.nclab.demo.neuroeeg I/SavingData2: Out1: msg.what = 4, msg.when = 1206254932, msgCount = 1
01-27 12:37:29.100 18151-18151/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 5, msg.when = 1206254932, msgCount = 2
01-27 12:37:29.100 18151-18151/cycu.nclab.demo.neuroeeg I/SavingData2: Out1: msg.what = 5, msg.when = 1206254932, msgCount = 2
01-27 12:37:29.110 18151-18770/cycu.nclab.demo.neuroeeg I/SavingData2: Out: msg.what = 0, msg.when = 0, msgCount = 3
01-27 12:37:29.110 18151-18769/cycu.nclab.demo.neuroeeg I/SavingData2: Out: msg.what = 0, msg.when = 0, msgCount = 2
01-27 12:37:29.110 18151-18770/cycu.nclab.demo.neuroeeg E/DB_neurosky: saving error on msg.what = 0
01-27 12:37:29.110 18151-18769/cycu.nclab.demo.neuroeeg E/DB_neurosky: saving error on msg.what = 0
01-27 12:37:29.120 18151-18768/cycu.nclab.demo.neuroeeg I/SavingData2: Out: msg.what = 0, msg.when = 0, msgCount = 1
01-27 12:37:29.120 18151-18768/cycu.nclab.demo.neuroeeg E/DB_neurosky: saving error on msg.what = 0
01-27 12:37:30.060 18151-18151/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 4, msg.when = 1206255929, msgCount = 3
01-27 12:37:30.060 18151-18151/cycu.nclab.demo.neuroeeg I/SavingData2: Out1: msg.what = 4, msg.when = 1206255929, msgCount = 3
01-27 12:37:30.060 18151-18151/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 4, msg.when = 1206255929, msgCount = 4
01-27 12:37:30.060 18151-18151/cycu.nclab.demo.neuroeeg I/SavingData2: Out1: msg.what = 4, msg.when = 1206255929, msgCount = 4
01-27 12:37:30.060 18151-18151/cycu.nclab.demo.neuroeeg E/TGDeviceHandler2: In: msg.what = 5, msg.when = 1206255929, msgCount = 5
01-27 12:37:30.060 18151-18151/cycu.nclab.demo.neuroeeg I/SavingData2: Out1: msg.what = 5, msg.when = 1206255929, msgCount = 5
01-27 12:37:30.060 18151-18826/cycu.nclab.demo.neuroeeg I/SavingData2: Out: msg.what = 0, msg.when = 0, msgCount = 4
01-27 12:37:30.060 18151-18826/cycu.nclab.demo.neuroeeg E/DB_neurosky: saving error on msg.what = 0
01-27 12:37:30.060 18151-18827/cycu.nclab.demo.neuroeeg I/SavingData2: Out: msg.what = 0, msg.when = 0, msgCount = 5

 

 

發佈留言