ObjectsActivity.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. package de.tu_darmstadt.informatik.tk.olir;
  2. import android.content.Intent;
  3. import android.net.Uri;
  4. import android.os.Bundle;
  5. import android.support.design.widget.NavigationView;
  6. import android.support.v4.view.GravityCompat;
  7. import android.support.v4.widget.DrawerLayout;
  8. import android.support.v7.app.AppCompatActivity;
  9. import android.view.KeyEvent;
  10. import android.view.MenuItem;
  11. import android.view.View;
  12. import java.io.BufferedReader;
  13. import java.io.File;
  14. import java.io.FileInputStream;
  15. import java.io.FileNotFoundException;
  16. import java.io.IOException;
  17. import java.io.InputStream;
  18. import java.io.InputStreamReader;
  19. public class ObjectsActivity extends AppCompatActivity {
  20. static final int FILE_SELECT_CODE = 1;
  21. @Override
  22. protected void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. setContentView(R.layout.activity_objects);
  25. getSupportActionBar().setTitle("1. Choose a Sensor");
  26. getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  27. getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu_white_24dp);
  28. NavigationView navigationView = findViewById(R.id.nav_view);
  29. navigationView.setNavigationItemSelectedListener(
  30. new NavigationView.OnNavigationItemSelectedListener() {
  31. @Override
  32. public boolean onNavigationItemSelected(MenuItem menuItem) {
  33. if (menuItem.getItemId() == R.id.show_history) {
  34. Intent intent = new Intent(ObjectsActivity.this, HistoryActivity.class);
  35. startActivity(intent);
  36. }
  37. return true;
  38. }
  39. });
  40. }
  41. public void openFile(View view) {
  42. Intent chooseFile = new Intent(Intent.ACTION_GET_CONTENT);
  43. chooseFile.setType("*/*");
  44. chooseFile = Intent.createChooser(chooseFile, "Choose a file");
  45. startActivityForResult(chooseFile, FILE_SELECT_CODE);
  46. }
  47. //FROM http://stackoverflow.com/questions/7856959/android-file-chooser 14.3.17 13:00
  48. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  49. switch (requestCode) {
  50. case FILE_SELECT_CODE:
  51. if (resultCode == RESULT_OK) {
  52. // Get the Uri of the selected file
  53. Uri uri = data.getData();
  54. // Get the path
  55. File file = new File(uri.getPath());
  56. String fileName = uri.toString();
  57. String extension = "";
  58. int i = fileName.lastIndexOf('.');
  59. if (i > 0) {
  60. extension = fileName.substring(i+1);
  61. }
  62. if (extension.equals("txt")) {
  63. try {
  64. openReadingActivityWith(new FileInputStream(file));
  65. } catch (FileNotFoundException e) {
  66. e.printStackTrace();
  67. }
  68. }
  69. }
  70. break;
  71. }
  72. super.onActivityResult(requestCode, resultCode, data);
  73. }
  74. public void openLoad(View view) {
  75. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_load));
  76. }
  77. public void openPressure(View view) {
  78. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_pressure));
  79. }
  80. public void openAcceleration(View view) {
  81. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_acceleration));
  82. }
  83. public void openTilt90(View view) {
  84. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_tilt90));
  85. }
  86. public void openTilt180(View view) {
  87. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_tilt180));
  88. }
  89. public void openTempRising(View view) {
  90. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_temp_rising));
  91. }
  92. public void openTempFalling(View view) {
  93. openReadingActivityWith(getResources().openRawResource(R.raw.object_specs_temp_falling));
  94. }
  95. public void openReadingActivityWith(InputStream stream) {
  96. BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
  97. String[] content = new String[5];
  98. String line;
  99. int i = 0;
  100. try {
  101. while ((line = reader.readLine()) != null) {
  102. content[i++] = line;
  103. }
  104. } catch (IOException e) {
  105. e.printStackTrace();
  106. }
  107. Intent intent = new Intent(this, ReadingActivity.class);
  108. intent.putExtra("file", content);
  109. startActivity(intent);
  110. }
  111. @Override
  112. public boolean onKeyDown(int keyCode, KeyEvent event) {
  113. if (keyCode == KeyEvent.KEYCODE_BACK
  114. && event.getRepeatCount() == 0) {
  115. finishAffinity();
  116. return true;
  117. }
  118. return super.onKeyDown(keyCode, event);
  119. }
  120. @Override
  121. public boolean onOptionsItemSelected(MenuItem item) {
  122. if (item.getItemId() == android.R.id.home) {
  123. DrawerLayout drawer = findViewById(R.id.drawer_layout);
  124. drawer.openDrawer(GravityCompat.START);
  125. return true;
  126. }
  127. return false;
  128. }
  129. }