Operator s Manual. minibht Audiometry Android App. Team 2. Samir Dahmani, Nihit Mody, Joseph Wolanski. Client: Dr. Oliver
|
|
- Lora Clark
- 6 years ago
- Views:
Transcription
1 Operator s Manual minibht Audiometry Android App Team 2 Samir Dahmani, Nihit Mody, Joseph Wolanski Client: Dr. Oliver Farmington, CT UConn Health Center Table Of Contents:
2 1 Introduction 1.1 General Overview 1.2 Operating Instructions 2 Maintenance 3 Technical Description 1. Introduction
3 At the most basic level an audiogram is a screening test like that which is used in schools. A series of tones at fixed volumes are presented to the listener who then indicates which ones he or she can detect. PTA is a subjective and behavioral measurement of hearing threshold, because it relies on patient initiation of a response to acoustic stimuli. PTA is designed for clinical use on adults and children old enough to understand and execute the test procedure. Like the majority of clinical tests, calibration of the test environment, the equipment and the stimuli to ISO standards is pivotal, as PTA measures thresholds of hearing only (in contrast with other methods which delineate sound localization). Békésy audiometry is such that the patient, by pressing a signal button, traces monaural thresholds for pure tones: the intensity of the tone decreases as long as the button is depressed and increases when it is released; both continuous and interrupted tones are used. The Apps that are currently available on the various online stores bear little resemblance to the accuracy of a professional audiogram. This application presents the user with a reliable and clinically viable hearing screen for the user. This is thanks to measures taken to ensure calibration and standardization across testing conditions for the test.
4 pure tone audiometry 1.1 General Overview When the app is opened, a pure tone at a midrange frequency will come through the earphone. The subject will control the intensity of the stimulus by pressing a button while listening to a pulsing (0.5s) pure tone whose frequency slowly moves through the entire audible range. This is what is called an interrupted tone. The intensity diminishes as long as the button is depressed. When the intensity is too low for the subject to hear the tone, the button will be released and the intensity will start to increase. When the subject again hears the tone, the button will be pressed again, producing a zigzag trace. The test will involve diagnostics on each ear, after which the tracings of both the left and the right ear will be compared. The test will be usable to differentiate between cochlear and neural hearing losses. Below is a graph of the calibrated 250hz signal that was used for the test. The
5 testing set up includes a nexus 4 phone, and a pair of apple earbuds.
6 All of the signals are calibrated to generate a flat output. The user begins the test by opening the app and depressing the red button on the screen. Clicking the red button set the pulsating tones. The tones pulse at 0.4 second intervals. Pressing the button attenuates the volume of the pulsating tone gradually,
7 starting at a large interval and incrementing in smaller steps asymptotically towards 0dB. The user is asked to hold the button down until he/she can no longer hear the tone; once the tone is no longer audible, release the button until the pulse becomes audible again, then depress once again until the tone is again in-audible. Repeating this for the duration of the test, the test cycles through 6 frequencies, starting with the left ear, and then moving to the left ear. 1.2 Operating Instructions This test is a basic hearing test similar to what an audiologist would run. Your hearing will be tested, one ear at a time, for tones at six frequencies. After you press the red button, you will hear a low frequency tone in your left earphone only. It will be a repeating pulse at level that is easy to hear. Once you hear this sound, press the red button and hold it down. As you continue to hold down the red button, you will notice that the level of the sound will gradually decrease. The level will reach a point that is barely audible and then it will vanish. Just at the point you can no longer hear the sound, release the red button. Listen carefully, because the level of the sound will increase and it will emerge again. Do not wait for it to reach the easy-to-hear level. As soon as it is audible, hold down the red button to make it vanish again and release the red button just as it vanishes. You will repeat this process several times for the tone. After a few of these cycles of making the tone just vanish and re-emerge, your threshold for hearing that frequency will be recorded by the application and the next
8 higher frequency will be heard in in the earphone at an easy-to-hear starting level. The entire routine will be carried out for all six frequencies. After thresholds for all six frequencies have been recorded using your left ear, the entire process will be repeated for your right ear. In plain English, you hold the red button down until you just can t hear the sound anymore and you release the red button until you just can hear it again. Unpressed
9 Pressed The test takes minutes. When it has been completed, the screen changes and sound presentations cease.
10 After the test concludes, the you can view the results by clicking the results button. If the plot lines for each fall within the normal hearing range (-20db and 20db) then you have normal hearing. Points on the line falling out of the normal hearing range will denote a hearing drop off in those frequencies. 2. Maintenance THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 3. Technical Description the source code is listed below
11 import android.media.audiomanager; import android.media.mediaplayer; import android.media.soundpool; import android.os.bundle; import android.os.handler; import android.app.activity; import android.content.context; import android.content.intent; import android.util.log; import android.view.menu; import android.view.motionevent; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; public class MainActivity extends Activity SoundPool sp; MediaPlayer mp; int _toneselector; int tone1 = 0; int tone2 = 0; int tone3 = 0; int tone4 = 0; int tone5 = 0; int tone6 = 0; Handler handler = new Handler(); public void oncreate(bundle b) AudioManager audiomanager = (AudioManager) getsystemservice(context.audio_service); audiomanager.setstreamvolume(audiomanager.stream_music, 9, 0); super.oncreate(b); setcontentview(r.layout.main); Button b1 = (Button) findviewbyid(r.id.button); Button b2 = (Button) findviewbyid(r.id.button1); b1.setontouchlistener(handler1); Handler handler = new Handler(); Button buttonstart = (Button) findviewbyid(r.id.button1); buttonstart.setonclicklistener(startlistener); sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0); tone1 = sp.load(this, R.raw.f250hz, 1); tone2 = sp.load(this, R.raw.f500hz, 1); tone3 = sp.load(this, R.raw.f1000hz, 1); tone4 = sp.load(this, R.raw.f2000hz, 1); tone5 = sp.load(this, R.raw.f4000hz, 1); tone6 = sp.load(this, R.raw.f8000hz, 1);
12 View.OnTouchListener handler1 = new public boolean ontouch(view v, MotionEvent event) if (event.getaction() == android.view.motionevent.action_down) _downpress = true; storedvolumesl[0][numberofpress] = numberofpress; storedvolumesl[1][numberofpress] = voll; storedvolumesr[0][numberofpress] = numberofpress; storedvolumesr[1][numberofpress] = volr; numberofpress++; if (_firsttime == true) _toneselector = tone1; looptone(); else if (event.getaction() == android.view.motionevent.action_up) _downpress = false; storedvolumesl[0][numberofpress] = numberofpress; storedvolumesl[1][numberofpress] = voll; storedvolumesr[0][numberofpress] = numberofpress; storedvolumesr[1][numberofpress] = volr; numberofpress++; System.out.println(volL); return false; ; public void looptone() _firsttime = false; Thread thread = new public void run() while (_flag == false) channelswitcher(); // check to see if left ear is done, if // so switch channel freqcount(); sp.play(_toneselector, voll, volr, 0, 0, 1);
13 if (_downpress == true) incrementer = 2 / 3; else incrementer = 3 / 2; System.out.println("Left volume: " + voll + ", " + " Right volume: " + volr); try sleep(1000); attenuatevolume(); getsystemservice(context.audio_service); // calls attenuate volume method // below AudioManager audiomanager = (AudioManager) audiomanager.setstreamvolume(audiomanager.stream_music, 9, 0); // from 0-15? System.gc(); catch (InterruptedException e) if (numberofpress >= 12 * _intervals+2) break; /*for (int i = 0; i < 6; i++) System.out.println(critpointsL[i]); System.out.println(critpointsR[i]); */ ; thread.start(); public void freqcount() System.out.println("NUMBER OF PRESSES: " + numberofpress); // System.out.println("NUMBER OF INTERVALS: " + _intervals); if (_launch250hz == true) // System.out.println("NUMPRESSES: " + numberofpress); _toneselector = tone1; _globalvol = _250hzVol; voll = _globalvol;
14 _launch250hz = false; // test rotate if (numberofpress == _intervals) totalnum = totalnum + storedvolumesl[1][i + 2]; critpointsl[0] = totalnum / 4; _toneselector = tone2; _globalvol = _500hzVol; voll = _globalvol; if (numberofpress == 2 * _intervals) totalnum = totalnum + storedvolumesl[1][i ]; critpointsl[1] = totalnum / 4; _toneselector = tone3; _globalvol = _1000hzVol; voll = _globalvol; if (numberofpress == 3 * _intervals) totalnum = totalnum + storedvolumesl[1][i ]; critpointsl[2] = totalnum / 4; _toneselector = tone4; _globalvol = _2000hzVol; voll = _globalvol; if (numberofpress == 4 * _intervals) totalnum = totalnum + storedvolumesl[1][i ]; critpointsl[3] = totalnum / 4;
15 _toneselector = tone5; _globalvol = _4000hzVol; voll = _globalvol; if (numberofpress == 5 * _intervals) totalnum = totalnum + storedvolumesl[1][i ]; critpointsl[4] = totalnum / 4; _toneselector = tone6; _globalvol = _8000hzVol; voll = _globalvol; /* * this is when the left ear is done and switches to the right ear this * is when the left ear is done and switches to the right ear this is * when the left ear is done and switches to the right ear */ if (numberofpress == 6 * _intervals) totalnum = totalnum + storedvolumesl[1][i ]; critpointsl[5] = totalnum / 4; _toneselector = tone1; _globalvol = _250hzVol; if (numberofpress == 7 * _intervals) totalnum = totalnum + storedvolumesr[1][i ]; critpointsr[0] = totalnum / 4; _toneselector = tone2; _globalvol = _500hzVol;
16 if (numberofpress == 8 * _intervals) totalnum = totalnum + storedvolumesr[1][i ]; critpointsr[1] = totalnum / 4; _toneselector = tone3; _globalvol = _1000hzVol; if (numberofpress == 9 * _intervals) totalnum = totalnum + storedvolumesr[1][i ]; critpointsr[2] = totalnum / 4; _toneselector = tone4; _globalvol = _2000hzVol; if (numberofpress == 10 * _intervals) totalnum = totalnum + storedvolumesr[1][i ]; critpointsr[3] = totalnum / 4; _toneselector = tone5; _globalvol = _4000hzVol; if (numberofpress == 11 * _intervals) totalnum = totalnum + storedvolumesr[1][i ]; critpointsr[4] = totalnum / 4; _toneselector = tone6; _globalvol = _8000hzVol;
17 if(numberofpress == 12*_intervals +1) totalnum = totalnum + storedvolumesr[1][i ]; critpointsr[5] = totalnum / 4; for (int i = 0; i < 6; i++) System.out.println(critpointsL[i]); System.out.println(critpointsR[i]); sp.stop(_toneselector); sp.release(); public void attenuatevolume() if (_lefteardone == false) // if left ear running if ((_downpress == true) && ((numberofpress%6)<2)) System.out.println("TRUEEEEEEEEEEEEE!!!!!!!!!!!!!!!!"); voll = (float) (voll * 1 / 2); if ((_downpress == true) && (numberofpress%6)>=2) voll = (float) (voll * 9 / 10); if ((_downpress!= true) && ((numberofpress%6)<2)) voll = (float) (voll * 2 / 1); if ((_downpress!= true) && ((numberofpress%6)>=2)) voll = (float) (voll * 10 / 9); if (numberofpress >= 6 * _intervals) // _toneselector = tone1; // _intervals =0; _lefteardone = true; // numberofpress = 0; if ((_downpress == true) && ((numberofpress%6)<2)) System.out.println("DOWNPRESSED");
18 volr = (float) (volr * 1 / 2); if ((_downpress == true) && ((numberofpress%6)>=2)) volr = (float) (volr * 9 / 10); if ((_downpress!= true) && ((numberofpress%6)<2)) System.out.println("UP PRESSED"); volr = (float) (volr * 2 / 1); if ((_downpress!= true) && ((numberofpress%6)>=2)) volr = (float) (volr * 10 / 9); if (voll <= 0) voll = 0; if (voll >= _globalvol) voll = _globalvol; if (volr <= 0) volr = 0; if (volr >= _globalvol) boolean _rightearstarted; public void channelswitcher() if (_lefteardone == true && oneshot == 0) voll = 0; _rightearstarted = false; oneshot++; if (_rightearstarted == false && oneshot == 1) System.out.println("FALSE"); _rightearstarted = true; oneshot++; System.out.println(oneShot); View.OnTouchListener handler2 = new public boolean ontouch(view v, MotionEvent event) if (event.getaction() == android.view.motionevent.action_down)
19 sp.play(_toneselector, voll, volr, 0, 0, 1); // System.out.println("CURRENT VOLUME: " + voll); else if (event.getaction() == android.view.motionevent.action_up) return false; ; private OnClickListener startlistener = new OnClickListener() public void onclick(view view) System.out.println("BUTTON PRESSED!"); Intent myintent = new Intent(view.getContext(), XYPlotter.class); startactivityforresult(myintent, 0); ; public static double[] getvaluesl() return critpointsl; public static double[] getvaluesr() return critpointsr; private final double duration = 0.4; // seconds private final int samplerate = 8000; private final double numsamples = duration * samplerate; private final double sample[] = new double[(int) numsamples]; private double freqoftone = 250; int freqcounter = 0; /** hz **/ // BOOLEANS private boolean _freq1; private float _channel = 1; boolean _lefteardone = false; boolean _launch250hz = true; // ****************** private byte generatedsnd[] = new byte[(int) (2 * numsamples)]; // volumes float voll = (float) 0; float volr = (float) 0; double decrvol; double incrementer = 2 / 3; double _attenuationamount = 0.09; float _globalvol; // frequency volumes for earbud offset
20 float _250hzVol = (float) 0.45; float _500hzVol = (float) 0.37; float _1000hzVol = (float) 0.36; float _2000hzVol = (float) 0.24; float _4000hzVol = (float) 0.16; float _8000hzVol = (float) 0.78; int numberofpress = 0; int numbeeps = 6; // BOOLEANS boolean _downpress; boolean _flag = false; boolean _firsttime = true; boolean leftearcomplete = false; private int idx; private double storedvalues[] = new double[(int) duration]; private static double critpointsl[] = new double[6]; private static double critpointsr[] = new double[6]; private int _intervals = 6; private double totalnum = 0; private double totalnum1 = 0; int count = 0; int _touchdowncounter = 0; int _touchcounter = 0; int _freqcounter = 0; private double _datapoints[] = new double[4000]; private double storedvolumesl[][] = new double[2][1000]; private double storedvolumesr[][] = new double[2][1000]; int oneshot = 0; int _teststage = 0; /* * protected void onresume() super.onresume(); final Thread thread = new * Thread(new Runnable() public void run() * * // gentone(); handler.post(new Runnable() public void run() * * // playsound(); ); ); thread.start(); */
21 import android.media.audiomanager; import android.media.mediaplayer; import android.media.soundpool; import android.os.bundle; import android.os.handler; import android.app.activity; import android.content.context; import android.content.intent; import android.util.log; import android.view.menu; import android.view.motionevent; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; public class MainActivity extends Activity SoundPool sp; MediaPlayer mp; int _toneselector; int tone1 = 0; int tone2 = 0; int tone3 = 0; int tone4 = 0; int tone5 = 0; int tone6 = 0; Handler handler = new Handler(); public void oncreate(bundle b) AudioManager audiomanager = (AudioManager) getsystemservice(context.audio_service); audiomanager.setstreamvolume(audiomanager.stream_music, 9, 0); super.oncreate(b); setcontentview(r.layout.main); Button b1 = (Button) findviewbyid(r.id.button); Button b2 = (Button) findviewbyid(r.id.button1); b1.setontouchlistener(handler1); Handler handler = new Handler(); Button buttonstart = (Button) findviewbyid(r.id.button1); buttonstart.setonclicklistener(startlistener); sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0); tone1 = sp.load(this, R.raw.f250hz, 1); tone2 = sp.load(this, R.raw.f500hz, 1); tone3 = sp.load(this, R.raw.f1000hz, 1); tone4 = sp.load(this, R.raw.f2000hz, 1); tone5 = sp.load(this, R.raw.f4000hz, 1); tone6 = sp.load(this, R.raw.f8000hz, 1);
22 View.OnTouchListener handler1 = new public boolean ontouch(view v, MotionEvent event) if (event.getaction() == android.view.motionevent.action_down) _downpress = true; storedvolumesl[0][numberofpress] = numberofpress; storedvolumesl[1][numberofpress] = voll; storedvolumesr[0][numberofpress] = numberofpress; storedvolumesr[1][numberofpress] = volr; numberofpress++; if (_firsttime == true) _toneselector = tone1; looptone(); else if (event.getaction() == android.view.motionevent.action_up) _downpress = false; storedvolumesl[0][numberofpress] = numberofpress; storedvolumesl[1][numberofpress] = voll; storedvolumesr[0][numberofpress] = numberofpress; storedvolumesr[1][numberofpress] = volr; numberofpress++; System.out.println(volL); return false; ; public void looptone() _firsttime = false; Thread thread = new public void run() while (_flag == false) channelswitcher(); // check to see if left ear is done, if // so switch channel
23 freqcount(); sp.play(_toneselector, voll, volr, 0, 0, 1); if (_downpress == true) incrementer = 2 / 3; else incrementer = 3 / 2; System.out.println("Left volume: " + voll + ", " + " Right volume: " + volr); try sleep(1000); attenuatevolume(); getsystemservice(context.audio_service); // calls attenuate volume method // below AudioManager audiomanager = (AudioManager) audiomanager.setstreamvolume(audiomanager.stream_music, 9, 0); // from 0-15? System.gc(); catch (InterruptedException e) if (numberofpress >= 12 * _intervals+2) break; /*for (int i = 0; i < 6; i++) System.out.println(critpointsL[i]); System.out.println(critpointsR[i]); */ ; thread.start(); public void freqcount() System.out.println("NUMBER OF PRESSES: " + numberofpress); // System.out.println("NUMBER OF INTERVALS: " + _intervals); if (_launch250hz == true) // System.out.println("NUMPRESSES: " + numberofpress); _toneselector = tone1;
24 _globalvol = _250hzVol; voll = _globalvol; _launch250hz = false; // test rotate if (numberofpress == _intervals) totalnum = totalnum + storedvolumesl[1][i + 2]; critpointsl[0] = totalnum / 4; _toneselector = tone2; _globalvol = _500hzVol; voll = _globalvol; if (numberofpress == 2 * _intervals) totalnum = totalnum + storedvolumesl[1][i ]; critpointsl[1] = totalnum / 4; _toneselector = tone3; _globalvol = _1000hzVol; voll = _globalvol; if (numberofpress == 3 * _intervals) totalnum = totalnum + storedvolumesl[1][i ]; critpointsl[2] = totalnum / 4; _toneselector = tone4; _globalvol = _2000hzVol; voll = _globalvol; if (numberofpress == 4 * _intervals) totalnum = totalnum + storedvolumesl[1][i ];
25 critpointsl[3] = totalnum / 4; _toneselector = tone5; _globalvol = _4000hzVol; voll = _globalvol; if (numberofpress == 5 * _intervals) totalnum = totalnum + storedvolumesl[1][i ]; critpointsl[4] = totalnum / 4; _toneselector = tone6; _globalvol = _8000hzVol; voll = _globalvol; /* * this is when the left ear is done and switches to the right ear this * is when the left ear is done and switches to the right ear this is * when the left ear is done and switches to the right ear */ if (numberofpress == 6 * _intervals) totalnum = totalnum + storedvolumesl[1][i ]; critpointsl[5] = totalnum / 4; _toneselector = tone1; _globalvol = _250hzVol; if (numberofpress == 7 * _intervals) totalnum = totalnum + storedvolumesr[1][i ]; critpointsr[0] = totalnum / 4; _toneselector = tone2; _globalvol = _500hzVol;
26 if (numberofpress == 8 * _intervals) totalnum = totalnum + storedvolumesr[1][i ]; critpointsr[1] = totalnum / 4; _toneselector = tone3; _globalvol = _1000hzVol; if (numberofpress == 9 * _intervals) totalnum = totalnum + storedvolumesr[1][i ]; critpointsr[2] = totalnum / 4; _toneselector = tone4; _globalvol = _2000hzVol; if (numberofpress == 10 * _intervals) totalnum = totalnum + storedvolumesr[1][i ]; critpointsr[3] = totalnum / 4; _toneselector = tone5; _globalvol = _4000hzVol; if (numberofpress == 11 * _intervals) totalnum = totalnum + storedvolumesr[1][i ]; critpointsr[4] = totalnum / 4; _toneselector = tone6; _globalvol = _8000hzVol;
27 if(numberofpress == 12*_intervals +1) totalnum = totalnum + storedvolumesr[1][i ]; critpointsr[5] = totalnum / 4; for (int i = 0; i < 6; i++) System.out.println(critpointsL[i]); System.out.println(critpointsR[i]); sp.stop(_toneselector); sp.release(); public void attenuatevolume() if (_lefteardone == false) // if left ear running if ((_downpress == true) && ((numberofpress%6)<2)) System.out.println("TRUEEEEEEEEEEEEE!!!!!!!!!!!!!!!!"); voll = (float) (voll * 1 / 2); if ((_downpress == true) && (numberofpress%6)>=2) voll = (float) (voll * 9 / 10); if ((_downpress!= true) && ((numberofpress%6)<2)) voll = (float) (voll * 2 / 1); if ((_downpress!= true) && ((numberofpress%6)>=2)) voll = (float) (voll * 10 / 9); if (numberofpress >= 6 * _intervals) // _toneselector = tone1; // _intervals =0; _lefteardone = true; // numberofpress = 0; if ((_downpress == true) && ((numberofpress%6)<2))
28 System.out.println("DOWNPRESSED"); volr = (float) (volr * 1 / 2); if ((_downpress == true) && ((numberofpress%6)>=2)) volr = (float) (volr * 9 / 10); if ((_downpress!= true) && ((numberofpress%6)<2)) System.out.println("UP PRESSED"); volr = (float) (volr * 2 / 1); if ((_downpress!= true) && ((numberofpress%6)>=2)) volr = (float) (volr * 10 / 9); if (voll <= 0) voll = 0; if (voll >= _globalvol) voll = _globalvol; if (volr <= 0) volr = 0; if (volr >= _globalvol) boolean _rightearstarted; public void channelswitcher() if (_lefteardone == true && oneshot == 0) voll = 0; _rightearstarted = false; oneshot++; if (_rightearstarted == false && oneshot == 1) System.out.println("FALSE"); _rightearstarted = true; oneshot++; System.out.println(oneShot); View.OnTouchListener handler2 = new public boolean ontouch(view v, MotionEvent event)
29 if (event.getaction() == android.view.motionevent.action_down) sp.play(_toneselector, voll, volr, 0, 0, 1); // System.out.println("CURRENT VOLUME: " + voll); else if (event.getaction() == android.view.motionevent.action_up) return false; ; private OnClickListener startlistener = new OnClickListener() public void onclick(view view) System.out.println("BUTTON PRESSED!"); Intent myintent = new Intent(view.getContext(), XYPlotter.class); startactivityforresult(myintent, 0); ; public static double[] getvaluesl() return critpointsl; public static double[] getvaluesr() return critpointsr; private final double duration = 0.4; // seconds private final int samplerate = 8000; private final double numsamples = duration * samplerate; private final double sample[] = new double[(int) numsamples]; private double freqoftone = 250; int freqcounter = 0; /** hz **/ // BOOLEANS private boolean _freq1; private float _channel = 1; boolean _lefteardone = false; boolean _launch250hz = true; // ****************** private byte generatedsnd[] = new byte[(int) (2 * numsamples)]; // volumes float voll = (float) 0; float volr = (float) 0; double decrvol; double incrementer = 2 / 3; double _attenuationamount = 0.09;
30 float _globalvol; // frequency volumes for earbud offset float _250hzVol = (float) 0.45; float _500hzVol = (float) 0.37; float _1000hzVol = (float) 0.36; float _2000hzVol = (float) 0.24; float _4000hzVol = (float) 0.16; float _8000hzVol = (float) 0.78; int numberofpress = 0; int numbeeps = 6; // BOOLEANS boolean _downpress; boolean _flag = false; boolean _firsttime = true; boolean leftearcomplete = false; private int idx; private double storedvalues[] = new double[(int) duration]; private static double critpointsl[] = new double[6]; private static double critpointsr[] = new double[6]; private int _intervals = 6; private double totalnum = 0; private double totalnum1 = 0; int count = 0; int _touchdowncounter = 0; int _touchcounter = 0; int _freqcounter = 0; private double _datapoints[] = new double[4000]; private double storedvolumesl[][] = new double[2][1000]; private double storedvolumesr[][] = new double[2][1000]; int oneshot = 0; int _teststage = 0; /* * protected void onresume() super.onresume(); final Thread thread = new * Thread(new Runnable() public void run() * * // gentone(); handler.post(new Runnable() public void run() * * // playsound(); ); ); thread.start(); */
31
App Development for Smart Devices. Lec #7: Audio, Video & Telephony Try It Out
App Development for Smart Devices CS 495/595 - Fall 2013 Lec #7: Audio, Video & Telephony Try It Out Tamer Nadeem Dept. of Computer Science Trt It Out Example - SoundPool Example - VideoView Page 2 Fall
More information<uses-permission android:name="android.permission.internet"/>
Chapter 11 Playing Video 11.1 Introduction We have discussed how to play audio in Chapter 9 using the class MediaPlayer. This class can also play video clips. In fact, the Android multimedia framework
More informationAndroid Coding. Dr. J.P.E. Hodgson. August 23, Dr. J.P.E. Hodgson () Android Coding August 23, / 27
Android Coding Dr. J.P.E. Hodgson August 23, 2010 Dr. J.P.E. Hodgson () Android Coding August 23, 2010 1 / 27 Outline Starting a Project 1 Starting a Project 2 Making Buttons Dr. J.P.E. Hodgson () Android
More informationpublic AnimLayer(Context context, AttributeSet attrs, int defstyle) { super(context, attrs, defstyle); initlayer(); }
AnimLayer.java package com.kyindo.game; import java.util.arraylist; import java.util.list; import android.content.context; import android.util.attributeset; import android.view.view; import android.view.animation.animation;
More informationTip Calculator. xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
Tip Calculator activity_main.xml
More informationMAD ASSIGNMENT NO 2. Submitted by: Rehan Asghar BSSE AUGUST 25, SUBMITTED TO: SIR WAQAS ASGHAR Superior CS&IT Dept.
MAD ASSIGNMENT NO 2 Submitted by: Rehan Asghar BSSE 7 15126 AUGUST 25, 2017 SUBMITTED TO: SIR WAQAS ASGHAR Superior CS&IT Dept. Android Widgets There are given a lot of android widgets with simplified
More information1. Location Services. 1.1 GPS Location. 1. Create the Android application with the following attributes. Application Name: MyLocation
1. Location Services 1.1 GPS Location 1. Create the Android application with the following attributes. Application Name: MyLocation Project Name: Package Name: MyLocation com.example.mylocation 2. Put
More informationThread. A Thread is a concurrent unit of execution. The thread has its own call stack for methods being invoked, their arguments and local variables.
1 Thread A Thread is a concurrent unit of execution. The thread has its own call stack for methods being invoked, their arguments and local variables. Each virtual machine instance has at least one main
More informationEmbedded Systems Programming - PA8001
Embedded Systems Programming - PA8001 http://goo.gl/ydeczu Lecture 9 Mohammad Mousavi m.r.mousavi@hh.se Center for Research on Embedded Systems School of Information Science, Computer and Electrical Engineering
More informationVienos veiklos būsena. Theory
Vienos veiklos būsena Theory While application is running, we create new Activities and close old ones, hide the application and open it again and so on, and Activity can process all these events. It is
More informationAndroid Apps Development for Mobile and Tablet Device (Level I) Lesson 2
Workshop 1. Compare different layout by using Change Layout button (Page 1 5) Relative Layout Linear Layout (Horizontal) Linear Layout (Vertical) Frame Layout 2. Revision on basic programming skill - control
More informationEMBEDDED SYSTEMS PROGRAMMING Application Tip: Switching UIs
EMBEDDED SYSTEMS PROGRAMMING 2015-16 Application Tip: Switching UIs THE PROBLEM How to switch from one UI to another Each UI is associated with a distinct class that controls it Solution shown: two UIs,
More informationAndroid/Java Lightning Tutorial JULY 30, 2018
Android/Java Lightning Tutorial JULY 30, 2018 Java Android uses java as primary language Resource : https://github.mit.edu/6178-2017/lec1 Online Tutorial : https://docs.oracle.com/javase/tutorial/java/nutsandbolts/inde
More informationServices. service: A background task used by an app.
CS 193A Services This document is copyright (C) Marty Stepp and Stanford Computer Science. Licensed under Creative Commons Attribution 2.5 License. All rights reserved. Services service: A background task
More informationWorkshop. 1. Create a simple Intent (Page 1 2) Launch a Camera for Photo Taking
Workshop 1. Create a simple Intent (Page 1 2) Launch a Camera for Photo Taking 2. Create Intent with Parsing Data (Page 3 8) Making Phone Call and Dial Access Web Content Playing YouTube Video 3. Create
More informationMobile Application Development Lab [] Simple Android Application for Native Calculator. To develop a Simple Android Application for Native Calculator.
Simple Android Application for Native Calculator Aim: To develop a Simple Android Application for Native Calculator. Procedure: Creating a New project: Open Android Stdio and then click on File -> New
More information10.1 Introduction. Higher Level Processing. Word Recogniton Model. Text Output. Voice Signals. Spoken Words. Syntax, Semantics, Pragmatics
Chapter 10 Speech Recognition 10.1 Introduction Speech recognition (SR) by machine, which translates spoken words into text has been a goal of research for more than six decades. It is also known as automatic
More informationINTRODUCTION TO ANDROID
INTRODUCTION TO ANDROID 1 Niv Voskoboynik Ben-Gurion University Electrical and Computer Engineering Advanced computer lab 2015 2 Contents Introduction Prior learning Download and install Thread Android
More informationCS 370 Android Basics D R. M I C H A E L J. R E A L E F A L L
CS 370 Android Basics D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Activity Basics Manifest File AndroidManifest.xml Central configuration of Android application Defines: Name of application Icon for
More informationPress project on the left toolbar if it doesn t show an overview of the app yet.
#3 Setting up the permissions needed to allow the app to use GPS. Okay! Press project on the left toolbar if it doesn t show an overview of the app yet. In this project plane, we will navigate to the manifests
More informationINVISIO V60. Multi-Com Control Unit USER MANUAL
INVISIO V60 Multi-Com Control Unit USER MANUAL Contents Disclaimer 4 Overview 6 Getting Started 7 Hear-Thru Control 8 Hear-Thru Volume Steps 9 Transmit 10 PTT Assignment Examples 11 Received Audio 12 Received
More informationpackage import import import import import import import public class extends public void super new this class extends public super public void new
Android 2-D Drawing Android uses a Canvas object to host its 2-D drawing methods. The program below draws a blue circle on a white canvas. It does not make use of the main.xml layout but draws directly
More informationSW MAPS TEMPLATE BUILDER. User s Manual
SW MAPS TEMPLATE BUILDER User s Manual Copyright (c) 2017 SOFTWEL (P) Ltd All rights reserved. Redistribution and use in binary forms, without modification, are permitted provided that the following conditions
More informationHi Hsiao-Lung Chan, Ph.D. Dept Electrical Engineering Chang Gung University, Taiwan
Lab: LED Control Hi Hsiao-Lung Chan, Ph.D. Dept Electrical Engineering Chang Gung University, Taiwan chanhl@maili.cgu.edu.twcgu LED control Controlled by I/O ports of GPJ3_0 and GPJ3_1 Control register:
More informationGATAV 5. Animations Using a Game Loop
GATAV 5. Animations Using a Game Loop TOC 1. The basic principle. 2. Creating bubbles. 3. Making the bubbles more look alive. 4. The appearent look. 5. Making the audiance impressed. 6. Now it up to you:
More informationCOMP61242: Task 3 1 2/05/18
COMP61242: Task 3 1 2/05/18 1. Introduction University of Manchester School of Computer Science COMP61242: Mobile Communications Semester 2: 2017-18 Laboratory Task 3 Communicating with Android Smart-phones
More informationManifest.xml. Activity.java
Dr.K.Somasundaram Ph.D Professor Department of Computer Science and Applications Gandhigram Rural Institute, Gandhigram, Tamil Nadu-624302, India ka.somasundaram@gmail.com Manifest.xml
More informationAndroid Apps Development for Mobile Game Lesson Create a simple paint brush that allows user to draw something (Page 11 13)
Workshop 1. Create a simple Canvas view with simple drawing (Page 1 5) Hide Action Bar and Status Bar Create Canvas View Create Simple Drawing 2. Create a simple animation (Page 6 10) Load a simple image
More informationReal-Time Embedded Systems
Real-Time Embedded Systems DT8025, Fall 2016 http://goo.gl/azfc9l Lecture 8 Masoumeh Taromirad m.taromirad@hh.se Center for Research on Embedded Systems School of Information Technology 1 / 51 Smart phones
More informationThe Check-in Call How-to Guide
The Check-in Call How-to Guide Welcome to The Check-in Call. Thank you for choosing GreatCall s Check-in Call service. We ve designed this service so that you and your loved ones can enjoy the peace of
More informationAndroid Services. Victor Matos Cleveland State University. Services
22 Android Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 22. Android Android A Service is an application component that runs in
More informationelse if(rb2.ischecked()) {
Problem :Toy Calculator Description:Please design an Android application that contains 2 activities: cal_main and cal_result. The following figure is a suggested layout for the cal_main activity. For the
More informationB9: Việc cuối cùng cần làm là viết lại Activity. Tới Example.java và chỉnh sửa theo nội dung sau: Mã: package at.exam;
B9: Việc cuối cùng cần làm là viết lại Activity. Tới Example.java và chỉnh sửa theo nội dung sau: Mã: package at.exam; import java.util.arraylist; import android.app.activity; import android.app.alertdialog;
More informationBasic GUI elements - exercises
Basic GUI elements - exercises https://developer.android.com/studio/index.html LIVE DEMO Please create a simple application, which will be used to calculate the area of basic geometric figures. To add
More informationUpcoming Assignments Quiz Friday? Lab 5 due today Alpha Version due Friday, February 26
Upcoming Assignments Quiz Friday? Lab 5 due today Alpha Version due Friday, February 26 Inject one subtle defect (fault seeding) To be reviewed by a few class members Usability study by CPE 484 students
More informationEmbedded Systems Programming - PA8001
Embedded Systems Programming - PA8001 http://goo.gl/ydeczu Lecture 8 Mohammad Mousavi m.r.mousavi@hh.se Center for Research on Embedded Systems School of Information Science, Computer and Electrical Engineering
More informationPsyAcoustX Manual (v1)
PsyAcoustX Manual (v1) - 2015 Skyler Jennings, PhD Contents Getting started: Experiment Menu and Calibration Opening the GUI:... 2 Experiment Menu... 2 The SystemInfo.mat file... 3 Calibration:... 4 Calibration
More informationProgramming of Mobile Services, Spring 2012
Programming of Mobile Services, Spring 2012 HI1017 Lecturer: Anders Lindström, anders.lindstrom@sth.kth.se Lecture 6 Today s topics Android graphics - Views, Canvas, Drawables, Paint - Double buffering,
More informationANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Lecture 3: Android Life Cycle and Permission Android Lifecycle An activity begins its lifecycle when entering the oncreate() state If not
More informationMAD ASSIGNMENT NO 3. Submitted by: Rehan Asghar BSSE AUGUST 25, SUBMITTED TO: SIR WAQAS ASGHAR Superior CS&IT Dept.
MAD ASSIGNMENT NO 3 Submitted by: Rehan Asghar BSSE 7 15126 AUGUST 25, 2017 SUBMITTED TO: SIR WAQAS ASGHAR Superior CS&IT Dept. MainActivity.java File package com.example.tutorialspoint; import android.manifest;
More informationAndroid Workshop: Model View Controller ( MVC):
Android Workshop: Android Details: Android is framework that provides java programmers the ability to control different aspects of smart devices. This interaction happens through the Android SDK (Software
More informationThreads Chate Patanothai
Threads Chate Patanothai Objectives Knowing thread: 3W1H Create separate threads Control the execution of a thread Communicate between threads Protect shared data C. Patanothai Threads 2 What are threads?
More informationTextView Control. EditText Control. TextView Attributes. android:id - This is the ID which uniquely identifies the control.
A TextView displays text to the user. TextView Attributes TextView Control android:id - This is the ID which uniquely identifies the control. android:capitalize - If set, specifies that this TextView has
More informationAdaptive Layout Hands-On Challenges
Adaptive Layout Hands-On Challenges Copyright 2015 Razeware LLC. All rights reserved. No part of this book or corresponding materials (such as text, images, or source code) may be reproduced or distributed
More informationUser s Manual LOC8ING. Air Travel Tag Ver TM. LOC8ING LTD. Unit 1016 Houston Centre, 63 Mody road, T.S.T East, Kowloon HONG KONG
User s Manual LOC8ING TM. Air Travel Tag Ver.1.8.2 LOC8ING LTD. Unit 1016 Houston Centre, 63 Mody road, T.S.T East, Kowloon HONG KONG Tel. +852 21165380 email. info@loc8ing.com Web. www.loc8ing.com LOC8ING
More information1 카메라 1.1 제어절차 1.2 관련주요메서드 1.3 제작철차 서피스뷰를생성하고이를제어하는서피스홀더객체를참조해야함. 매니페스트에퍼미션을지정해야한다.
1 카메라 1.1 제어절차 서피스뷰를생성하고이를제어하는서피스홀더객체를참조해야함. 매니페스트에퍼미션을지정해야한다. 1.2 관련주요메서드 setpreviewdisplay() : startpreview() : stoppreview(); onpicturetaken() : 사진을찍을때자동으로호출되며캡처한이미지가전달됨 1.3 제작철차 Step 1 프로젝트를생성한후매니페스트에퍼미션들을설정한다.
More information... 1... 2... 2... 3... 3... 4... 4... 5... 5... 6... 6... 7... 8... 9... 10... 13... 14... 17 1 2 3 4 file.txt.exe file.txt file.jpg.exe file.mp3.exe 5 6 0x00 0xFF try { in.skip(9058); catch (IOException
More informationANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Lecture 3: Android Life Cycle and Permission Entire Lifetime An activity begins its lifecycle when entering the oncreate() state If not interrupted
More information@Bind(R.id.input_ ) EditText EditText Button _loginbutton;
package cyborg.pantaucctv; import android.app.progressdialog; import android.content.intent; import android.os.bundle; import android.support.v7.app.appcompatactivity; import android.util.log; import android.view.view;
More informationServices. Marco Ronchetti Università degli Studi di Trento
1 Services Marco Ronchetti Università degli Studi di Trento Service An application component that can perform longrunning operations in the background and does not provide a user interface. So, what s
More informationFundamentals of Perceptual Audio Encoding. Craig Lewiston HST.723 Lab II 3/23/06
Fundamentals of Perceptual Audio Encoding Craig Lewiston HST.723 Lab II 3/23/06 Goals of Lab Introduction to fundamental principles of digital audio & perceptual audio encoding Learn the basics of psychoacoustic
More information1D/2D android secondary development
1D/2D android secondary development The example in this document is developed in eclipse. 1. Import library to project Copy the filefolder and to the Project- libs 2.Copy JAVA
More informationQ.1 Explain the dialog and also explain the Demonstrate working dialog in android.
Q.1 Explain the dialog and also explain the Demonstrate working dialog in android. - A dialog is a small window that prompts the user to make a decision or enter additional information. - A dialog does
More informationBehavioral Auditory Research Tests (BART) Revised: 02/2/2010
Behavioral Auditory Research Tests (BART) Revised: 02/2/2010 2 OVERVIEW The purpose of Behavioral Auditory Tests (BART) is to simplify the process of designing and implementing experiments in auditory
More informationServices. Marco Ronchetti Università degli Studi di Trento
1 Services Marco Ronchetti Università degli Studi di Trento Service An application component that can perform longrunning operations in the background and does not provide a user interface. So, what s
More informationX Generic Event Extension. Peter Hutterer
X Generic Event Extension Peter Hutterer X Generic Event Extension Peter Hutterer X Version 11, Release 7.7 Version 1.0 Copyright 2007 Peter Hutterer Permission is hereby granted, free of charge, to any
More informationSolving an Android Threading Problem
Home Java News Brief Archive OCI Educational Services Solving an Android Threading Problem Introduction by Eric M. Burke, Principal Software Engineer Object Computing, Inc. (OCI) By now, you probably know
More informationBasic UI elements: Android Buttons (Basics) Marco Ronchetti Università degli Studi di Trento
Basic UI elements: Android Buttons (Basics) Marco Ronchetti Università degli Studi di Trento Let s work with the listener Button button = ; button.setonclicklistener(new.onclicklistener() { public void
More informationMultithreading Pearson Education, Inc. All rights reserved.
1 23 Multithreading 2 23.1 Introduction Multithreading Provides application with multiple threads of execution Allows programs to perform tasks concurrently Often requires programmer to synchronize threads
More informationJOHNS HOPKINS ARAMCO HEALTHCARE MYCHART. Terms and Conditions
JOHNS HOPKINS ARAMCO HEALTHCARE MYCHART Terms and Conditions Johns Hopkins Aramco Healthcare MyChart ( JHAH MyChart ) is an Internet application that enables patients and/or their proxies to have secure
More informationAndroid Programs Day 5
Android Programs Day 5 //Android Program to demonstrate the working of Options Menu. 1. Create a New Project. 2. Write the necessary codes in the MainActivity.java to create OptionMenu. 3. Add the oncreateoptionsmenu()
More informationMobile Programming Practice Background processing AsynTask Service Broadcast receiver Lab #5
1 Mobile Programming Practice Background processing AsynTask Service Broadcast receiver Lab #5 Prof. Hwansoo Han T.A. Sung-in Hong T.A. Minseop Jeong 2 Background processing Every Android app has a main
More informationshared objects monitors run() Runnable start()
Thread Lecture 18 Threads A thread is a smallest unit of execution Each thread has its own call stack for methods being invoked, their arguments and local variables. Each virtual machine instance has at
More informationJava Basics A Simple Hit the Zombies Game
Lecture #3 Introduction Java Basics A Simple Hit the Zombies Game The previous lecture provided a guided tour to explore the basics of Android Studio and how to use it to create a project to build an Android
More information4GB Micro-Speak Plus User Guide Text
4GB Micro-Speak Plus User Guide Text Important Notes Please read all instructions carefully before using this product and retain this document for future reference. Micro-Speak is not recommended for children
More informationChecking Multiple Conditions
Checking Multiple Conditions Conditional code often relies on a value being between two other values Consider these conditions: Free shipping for orders over $25 10 items or less Children ages 3 to 11
More informationOutline. Admin. Example: TipCalc. Android: Event Handler Blocking, Android Inter-Thread, Process Communications. Recap: Android UI App Basic Concepts
Outline Android: Event Handler Blocking, Android Inter-Thread, Process Communications 10/11/2012 Admin Android Basic concepts Activity, View, External Resources, Listener Inter-thread communications Handler,
More informationThreads & Timers. CSE260, Computer Science B: Honors Stony Brook University
Threads & Timers CSE260, Computer Science B: Honors Stony Brook University http://www.cs.stonybrook.edu/~cse260 Multi-tasking When you re working, how many different applications do you have open at one
More informationContents. 6-1 Copyright (c) N. Afshartous
Contents 1. Classes and Objects 2. Inheritance 3. Interfaces 4. Exceptions and Error Handling 5. Intro to Concurrency 6. Concurrency in Java 7. Graphics and Animation 8. Applets 6-1 Copyright (c) 1999-2004
More informationComparative Locatability Tests of Warning Signals. Sound Locatability Tests
Comparative Locatability Tests of Warning Signals 4 Sounds: BB Broadband MT Multi-tone; 200 Hz intervals TT Triple-tone; 500 Hz, 1kHz & 2kHz ST Single-tone; 1kHz 4 Sounds City of London Freeman s School
More informationScroll View School Hands-On Challenges
Scroll View School Hands-On Challenges Copyright 2014 Razeware LLC. All rights reserved. No part of this book or corresponding materials (such as text, images, or source code) may be reproduced or distributed
More informationPATH Newsletter Firmware / Software / Service Tool Release note DEVICES 2. FIRMWARE TEST MODULES. January 17 th, 2014
January 17 th, 2014 Dear customer, PATH medical is pleased to announce the release of new device hardware, device firmware (1.7.5511), PC software (1.5.0.4185 beta version), and Service Tool (1.3.0.4069).
More informationExercise Session Week 8
Chair of Software Engineering Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer Exercise Session Week 8 Quiz 1: What is printed? (Java) class MyTask implements Runnable { public void
More informationAndroidプログラミング 2 回目 迫紀徳
Androidプログラミング 2 回目 迫紀徳 前回の復習もかねて BMI 計算アプリを作ってみよう! 2 3 BMI の計算方法 BMI = 体重 [kg] 身長 [m] 2 状態も表示できると GOOD 状態低体重 ( 痩せ型 ) 普通体重肥満 (1 度 ) 肥満 (2 度 ) 肥満 (3 度 ) 肥満 (4 度 ) 指標 18.5 未満 18.5 以上 25 未満 25 以上 30 未満 30
More informationSteps to create a Tic-Tac-Toe game Part 2
Steps to create a Tic-Tac-Toe game Part 2 Let's fix a couple of things before moving on. The computer only makes one move, so correct that by updating the Board.setSelectedCell method as follows: public
More informationSoftware Engineering Large Practical: Preferences, storage, and testing
Software Engineering Large Practical: Preferences, storage, and testing Stephen Gilmore (Stephen.Gilmore@ed.ac.uk) School of Informatics November 9, 2016 Contents A simple counter activity Preferences
More informationandroid:layout_margintop="5dp" > <EditText android:layout_width="210dp"
activity_main.xml
More informationACS COLLEGE OF ENGINEERING DEPARTMENT OF BIOMEDICAL ENGINEERING
ACS COLLEGE OF ENGINEERING DEPARTMENT OF BIOMEDICAL ENGINEERING C++ and Data Structures Pre -Lab questions(2015-2016) Cycle -1 1. Which is not an integer data type? 2. Which is a numeric data type? 3.
More informationMainWindow.java. Page 1
/ This project is a demo showing a sound card selector and tester. The UI would look nice and work better, but I've decided that's outside the scope of this demo. Code from this demo will eventually be
More informationMobile Computing Practice # 2c Android Applications - Interface
Mobile Computing Practice # 2c Android Applications - Interface One more step in the restaurants application. 1. Design an alternative layout for showing up in landscape mode. Our current layout is not
More informationExercise Session Week 8
Chair of Software Engineering Java and C# in Depth Carlo A. Furia, Marco Piccioni, Bertrand Meyer Exercise Session Week 8 Java 8 release date Was early September 2013 Currently moved to March 2014 http://openjdk.java.net/projects/jdk8/milestones
More informationMobile Admin GETTING STARTED GUIDE. Version 8.2. Last Updated: Thursday, May 25, 2017
GETTING STARTED GUIDE Mobile Admin Version 8.2 Last Updated: Thursday, May 25, 2017 Retrieve the latest version from: https://support.solarwinds.com/success_center/mobile_admin/mobile_admin_documentation
More informationVoluntary Product Accessibility Template (VPAT)
Voluntary Product Accessibility Template (VPAT) Date 2017-02-06 Name of Product Top Hat Lecture - Student - Android App Version Contact Steve Pascoe steve.pascoe+vpat@tophat.com Summary Table Criteria
More informationCreate a local SQL database hosting a CUSTOMER table. Each customer includes [id, name, phone]. Do the work inside Threads and Asynctasks.
CIS 470 Lesson 13 Databases - Quick Notes Create a local SQL database hosting a CUSTOMER table. Each customer includes [id, name, phone]. Do the work inside Threads and Asynctasks. package csu.matos; import
More informationCoding Menggunakan software Eclipse: Mainactivity.java (coding untuk tampilan login): package com.bella.pengontrol_otomatis;
Coding Menggunakan software Eclipse: Mainactivity.java (coding untuk tampilan login): package com.bella.pengontrol_otomatis; import android.app.activity; import android.os.bundle; import android.os.countdowntimer;
More informationIPN-ESCOM Application Development for Mobile Devices. Extraordinary. A Web service, invoking the SOAP protocol, in an Android application.
Learning Unit Exam Project IPN-ESCOM Application Development for Mobile Devices. Extraordinary. A Web service, invoking the SOAP protocol, in an Android application. The delivery of this project is essential
More informationInterface ใน View class ประกอบด วย
Boonrit kidngan Interface ใน View class ประกอบด วย View.OnClickListener เม อม การ click View.OnLongClickListener เม อม การ click ค าง View.OnFocusChangeListener เม อเปล ยนการเล อก View.OnKeyListener เม
More informationA Crash Course to Android Mobile Platform
Enterprise Application Development using J2EE Shmulik London Lecture #2 A Crash Course to Android Mobile Platform Enterprise Application Development Using J2EE / Shmulik London 2004 Interdisciplinary Center
More informationMyDatabaseHelper. public static final String TABLE_NAME = "tbl_bio";
Page 1 of 5 MyDatabaseHelper import android.content.context; import android.database.sqlite.sqliteopenhelper; class MyDatabaseHelper extends SQLiteOpenHelper { private static final String DB_NAME = "friend_db";
More informationUnderstanding Intents and Intent Filters
255 Chapter 11 Understanding Intents and Intent Filters This chapter will delve into intents, which are messaging objects that carry communications between the major components of your application your
More informationDog Training Collar with Wireless Remote. CC-710 Product User Guide. Copyright 2014 Cujo Control. All Rights Reserved.
Dog Training Collar with Wireless Remote CC-710 Product User Guide Copyright 2014 Cujo Control. All Rights Reserved. Contents Overview... 2 Parts List... 3 Charging the Remote and Receiver... 4 Fitting
More informationAnalogue Ripper. What TAR does not do. Record Albums Break Them Into Tracks Send the tracks to itunes
Analogue Ripper Record Albums Break Them Into Tracks Send the tracks to itunes I. What the Analogue Ripper (TAR) does TAR allows you to digitally record music and sound from any analogue source onto your
More informationBasic UI elements: Defining Activity UI in the code. Marco Ronchetti Università degli Studi di Trento
1 Basic UI elements: Defining Activity UI in the code Marco Ronchetti Università degli Studi di Trento UI Programmatically public class UIThroughCode extends Activity { LinearLayout llayout; TextView tview;
More informationApp Development for Smart Devices. Lec #18: Advanced Topics
App Development for Smart Devices CS 495/595 - Fall 2011 Lec #18: Advanced Topics Tamer Nadeem Dept. of Computer Science Objective Web Browsing Android Animation Android Backup Presentation - Developing
More informationPodstawowe komponenty aplikacji, wymiana międzyprocesowa
Podstawowe komponenty aplikacji, wymiana międzyprocesowa Intencje. Budowanie intencji, komunikacja z wykorzystaniem intencji pomiędzy aktywnościami i aplikacjami. Obsługa powiadomień za pomocą klasy BroadcastReceiver.
More informationCreate Parent Activity and pass its information to Child Activity using Intents.
Create Parent Activity and pass its information to Child Activity using Intents. /* MainActivity.java */ package com.example.first; import android.os.bundle; import android.app.activity; import android.view.menu;
More informationEMBEDDED SYSTEMS PROGRAMMING Application Tip: Saving State
EMBEDDED SYSTEMS PROGRAMMING 2016-17 Application Tip: Saving State THE PROBLEM How to save the state (of a UI, for instance) so that it survives even when the application is closed/killed The state should
More informationDistributed Speaker Synchronization
Distributed Computing Distributed Speaker Synchronization Semester Thesis Kevin Luchsinger kevinlu@student.ethz.ch Distributed Computing Group Computer Engineering and Networks Laboratory ETH Zürich Supervisors:
More informationMANUAL AND USER GUIDE
MANUAL AND USER GUIDE INTERPRETER CONTROL CENTER Audio Control Center For Simultaneous Interpreters Model IC-1 MAN 067E INTERPRETER CONTROL CENTER, MODEL IC-1 INSTALLATION GUIDE & USER MANUAL Contents
More informationMobile Application Development - Android
Mobile Application Development - Android MTAT.03.262 Satish Srirama satish.srirama@ut.ee Goal Give you an idea of how to start developing Android applications Introduce major Android application concepts
More information