Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:dydaktyka:aml:lab5 [2013/11/18 09:47]
esimon [Android]
pl:dydaktyka:aml:lab5 [2019/06/27 15:50]
Linia 1: Linia 1:
-====== Wykrywanie aktywności użytkownika ====== 
  
-===== Octave ===== 
- 
-==== Analiza danych ==== 
-Napisz program zapisujący dane z akcelerometru do bazy SQLite. ​ 
-Aby zapisać bazę danych w pamięci urządzenia,​ wykorzystaj poniższy kod. 
- 
-Ustalmy że: 
-  * Baza danych będzie nazywać się **acc** 
-  * Będzie zawierać 4 kolumny: **id, acc_x, acc_y, acc_z** 
- 
-<code java> 
-try { 
-  File sd = Environment.getExternalStorageDirectory();​ 
-  File data = Environment.getDataDirectory();​ 
- 
-  if (sd.canWrite()) { 
-    String currentDBPath = "//​data//"​ + context.getApplicationContext().getPackageName() + "//​databases//"​ 
-                            + DataBaseHelper.DATABASE_NAME;​ 
-    String backupDBPath = DataBaseHelper.DATABASE_NAME;​ 
-    File currentDB = new File(data, currentDBPath);​ 
-    File backupDB = new File(sd, backupDBPath);​ 
- 
-    FileChannel src = new FileInputStream(currentDB).getChannel();​ 
-    FileChannel dst = new FileOutputStream(backupDB).getChannel();​ 
-    dst.transferFrom(src,​ 0, src.size());​ 
-    src.close();​ 
-    dst.close();​ 
-  } 
-} catch (Exception e) { 
-    e.printStackTrace();​ 
-} 
-</​code>​ 
- 
-=== Import do Octave === 
-  - Zaimportuj dane z odczytów do Octave: 
-    * W tym celu otwórz bazę danych w SQLite: <code bash>​sqlite3 acc.db</​code>​ 
-    * Ustaw separator danych na tabulator <code sqlite>​.mode tabs </​code>​ 
-    * Ustaw wyjscie z SQLite do pliku: <code sqlite>​.output '​dane.dat'</​code>​ 
-    * Wrzuć dane z trzech osi do pliku: <code sql> select acc_x, acc_y, acc_z from acc;</​code>​ 
-  - Następnie otwórz Octave i zaimportuj dane do zmiennej **Acc**:<​code octave> Acc = load('​dane.dat'​);</​code>​ 
-  - Wyrysuj dane z poszczególnych osi na wykresie:<​code octave> plot(Acc)</​code>​ 
- 
- 
-=== Określenie parametrów danych === 
-  - Przyglądając się wykresom wyodrębnij cechy które twoim zdaniem mogą mieć wpływ na rozróżnienie poszczególnych aktywności użytkownika takich jak: 
-    - stanie 
-    - chodzenie 
-    - bieganie 
-    - siadanie 
-    - wstawanie 
-  - Spróbuj określić aktywność na podstawie maksymalnej i minimalnej amplitudy oraz średniej amplitudy w oknie czasowym o długości np. 3 sekund. 
-  - Zapoznaj się (pobieżnie) z artykułem: {{:​pl:​dydaktyka:​aml:​activity-recognition-phone.pdf| Activity recognition}} i zastanów się, czy możesz zastosowac którys z opisanych algorytmów do swoich danych 
- 
- 
- 
- 
- 
- 
-===== Android===== 
-  - Android API oferuje wbudowaną klasę do wykrywania aktywności o nazwie //​ActivityRecognition//​. 
-  - Pobierz przykładową aplikację wykorzystującą tą klasę: [http://​developer.android.com/​shareables/​training/​ActivityRecognition.zip|Activity recognition]] i zapoznaj się z kodem źródłowym. Opis kodu źródłowego znajduje się [[http://​developer.android.com/​training/​location/​activity-recognition.html|tutaj]] 
-  - Przetestuj działanie aplikacji. Czy klasę można byłoby udoskonalić o analizę danych z akcelerometru jak w pierwszym zadaniu z laboratorium?​ 
pl/dydaktyka/aml/lab5.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0