PlayGroundActivity.java 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package de.tudarmstadt.informatik.hostage;
  2. import java.math.BigInteger;
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.Random;
  6. import de.tudarmstadt.informatik.hostage.logging.DatabaseHandler;
  7. import de.tudarmstadt.informatik.hostage.sync.BluetoothSync;
  8. import de.tudarmstadt.informatik.hostage.sync.NFCSync;
  9. import android.app.Activity;
  10. import android.content.Intent;
  11. import android.os.Bundle;
  12. import android.view.Menu;
  13. import android.view.View;
  14. import android.widget.TextView;
  15. public class PlayGroundActivity extends Activity{
  16. BluetoothSync bs;
  17. @Override
  18. protected void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.activity_playground);
  21. bs = new BluetoothSync(this);
  22. setNetworkInfoText();
  23. }
  24. @Override
  25. public boolean onCreateOptionsMenu(Menu menu) {
  26. getMenuInflater().inflate(R.menu.main, menu);
  27. return true;
  28. }
  29. private void setNetworkInfoText(){
  30. DatabaseHandler dbh = new DatabaseHandler(this);
  31. TextView bssids = (TextView) findViewById(R.id.textView1);
  32. String text = "";
  33. ArrayList<HashMap<String, Object>> netInfo = dbh.getNetworkInformation();
  34. for(HashMap<String, Object> network : netInfo){
  35. text = text + (String) network.get(DatabaseHandler.KEY_BSSID) + "\n"
  36. + (String) network.get(DatabaseHandler.KEY_SSID) + "\n"
  37. + (double)(Double) network.get(DatabaseHandler.KEY_LATITUDE) + "\n"
  38. + (double)(Double) network.get(DatabaseHandler.KEY_LONGITUDE) + "\n"
  39. + (float)(Float) network.get(DatabaseHandler.KEY_ACCURACY) + "\n"
  40. + (long) (Long) network.get(DatabaseHandler.KEY_TIME) + "\n\n";
  41. }
  42. bssids.setText(text);
  43. }
  44. public void syncData(View view){
  45. bs.syncData();
  46. }
  47. public void startNFC(View view){
  48. startActivity(new Intent(this, NFCSync.class));
  49. }
  50. public void createNetworkData(View view){
  51. Random rnd = new Random();
  52. ArrayList<HashMap<String, Object>> fakeNetInfo = new ArrayList<HashMap<String, Object>>();
  53. for(int i = 0; i < 25; i++){
  54. HashMap<String, Object> network = new HashMap<String, Object>();
  55. network.put("BSSID", createRandomBSSID());
  56. network.put("SSID", new BigInteger(130, rnd).toString(32));
  57. network.put("LATITUDE", rnd.nextDouble() * 360);
  58. network.put("LONGITUDE", rnd.nextDouble() * 360);
  59. network.put("ACCURACY", rnd.nextFloat());
  60. network.put("TIMESTAMP", System.currentTimeMillis());
  61. fakeNetInfo.add(network);
  62. }
  63. setNetworkInfoText();
  64. new DatabaseHandler(this).updateNetworkInformation(fakeNetInfo);
  65. }
  66. private String createRandomBSSID(){
  67. Random rnd = new Random();
  68. char[] symbols = new char[16];
  69. for (int idx = 0; idx < 10; ++idx)
  70. symbols[idx] = (char) ('0' + idx);
  71. for (int idx = 10; idx < 16; ++idx)
  72. symbols[idx] = (char) ('a' + idx - 10);
  73. char[] buf = new char[17];
  74. for(int i = 0; i < 18; i += 3){
  75. buf[i] = symbols[rnd.nextInt(symbols.length)];
  76. buf[i + 1] = symbols[rnd.nextInt(symbols.length)];
  77. if(i < 15){
  78. buf[i + 2] = ':';
  79. }
  80. }
  81. return new String(buf);
  82. }
  83. }