123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package de.tudarmstadt.informatik.hostage.ui;
- import java.math.BigInteger;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Random;
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.View;
- import android.widget.TextView;
- import de.tudarmstadt.informatik.hostage.R;
- import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract;
- import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
- import de.tudarmstadt.informatik.hostage.sync.BluetoothSync;
- import de.tudarmstadt.informatik.hostage.sync.NFCSync;
- public class PlayGroundActivity extends Activity {
- public void createNetworkData(View view) {
- Random rnd = new Random();
- ArrayList<HashMap<String, Object>> fakeNetInfo = new ArrayList<HashMap<String, Object>>();
- for (int i = 0; i < 25; i++) {
- HashMap<String, Object> network = new HashMap<String, Object>();
- network.put(HostageDBContract.NetworkEntry.COLUMN_NAME_BSSID, createRandomBSSID());
- network.put(HostageDBContract.NetworkEntry.COLUMN_NAME_SSID, new BigInteger(130, rnd).toString(32));
- network.put(HostageDBContract.NetworkEntry.COLUMN_NAME_LATITUDE, rnd.nextDouble() * 360);
- network.put(HostageDBContract.NetworkEntry.COLUMN_NAME_LONGITUDE, rnd.nextDouble() * 360);
- network.put(HostageDBContract.NetworkEntry.COLUMN_NAME_ACCURACY, rnd.nextFloat());
- network.put(HostageDBContract.NetworkEntry.COLUMN_NAME_GEO_TIMESTAMP, System.currentTimeMillis());
- fakeNetInfo.add(network);
- }
- setNetworkInfoText();
- new HostageDBOpenHelper(this).updateNetworkInformation(fakeNetInfo);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- public void startNFC(View view) {
- startActivity(new Intent(this, NFCSync.class));
- }
- public void syncData(View view) {
- startActivity(new Intent(this, BluetoothSync.class));
- }
- private String createRandomBSSID() {
- Random rnd = new Random();
- char[] symbols = new char[16];
- for (int idx = 0; idx < 10; ++idx)
- symbols[idx] = (char) ('0' + idx);
- for (int idx = 10; idx < 16; ++idx)
- symbols[idx] = (char) ('a' + idx - 10);
- char[] buf = new char[17];
- for (int i = 0; i < 18; i += 3) {
- buf[i] = symbols[rnd.nextInt(symbols.length)];
- buf[i + 1] = symbols[rnd.nextInt(symbols.length)];
- if (i < 15) {
- buf[i + 2] = ':';
- }
- }
- return new String(buf);
- }
- private void setNetworkInfoText() {
- HostageDBOpenHelper dbh = new HostageDBOpenHelper(this);
- TextView bssids = (TextView) findViewById(R.id.textView1);
- String text = "";
- ArrayList<HashMap<String, Object>> netInfo = dbh.getNetworkInformation();
- for (HashMap<String, Object> network : netInfo) {
- text = text + (String) network.get(HostageDBContract.NetworkEntry.COLUMN_NAME_BSSID) + "\n"
- + (String) network.get(HostageDBContract.NetworkEntry.COLUMN_NAME_SSID) + "\n"
- + network.get(HostageDBContract.NetworkEntry.COLUMN_NAME_LATITUDE) + "\n"
- + network.get(HostageDBContract.NetworkEntry.COLUMN_NAME_LONGITUDE) + "\n"
- + network.get(HostageDBContract.NetworkEntry.COLUMN_NAME_ACCURACY) + "\n"
- + network.get(HostageDBContract.NetworkEntry.COLUMN_NAME_GEO_TIMESTAMP) + "\n\n";
- }
- bssids.setText(text);
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_playground);
- setNetworkInfoText();
- }
- }
|