コード例 #1
0
  public static City getById(Context context, long id) {
    Log.i(Global.TAG, City.class.getSimpleName() + ": getById");
    City city = null;

    MyDbHelper dbHelper = new MyDbHelper(context);
    SQLiteDatabase db = dbHelper.getWritableDatabase();

    Cursor c = db.rawQuery("SELECT * FROM tbl_place WHERE id_place = " + id, null);

    if (c != null && c.moveToFirst()) {
      // 0-id, 1-name, 2-latitude, 3-longitude, 4-country, 5-description
      city =
          new City(
              c.getLong(0),
              c.getString(1),
              c.getString(4),
              c.getString(5),
              c.getDouble(2),
              c.getDouble(3));
    }
    c.close();

    db.close();
    db = null;

    return city;
  }
コード例 #2
0
  public static void getAll(Context context, ArrayList<City> cities) {
    Log.i(Global.TAG, City.class.getSimpleName() + ": getAll");
    MyDbHelper dbHelper = new MyDbHelper(context);
    SQLiteDatabase db = dbHelper.getWritableDatabase();

    cities.clear();

    Cursor c = db.rawQuery("SELECT * FROM tbl_place ORDER BY name ASC", null);

    if (c != null && c.moveToFirst()) {
      do {
        // 0-id, 1-name, 2-latitude, 3-longitude, 4-country, 5-description
        City city =
            new City(
                c.getLong(0),
                c.getString(1),
                c.getString(4),
                c.getString(5),
                c.getDouble(2),
                c.getDouble(3));
        cities.add(city);
      } while (c.moveToNext());
    }
    c.close();

    db.close();
    db = null;
  }
コード例 #3
0
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.notification);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    toolbar.setTitle("Notifications");

    RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view_notification);
    MyDbHelper dbHelper = new MyDbHelper(this);
    ArrayList<NotificationItem> list = dbHelper.readData();
    NotificationAdapter adapter = new NotificationAdapter(list);
    recyclerView.setAdapter(adapter);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
  }
コード例 #4
0
  @Override
  public boolean onCreate() {
    myDb = new MyDbHelper(getContext());
    db = myDb.getWritableDatabase();

    TelephonyManager tel =
        (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE);
    self_avd = tel.getLine1Number().substring(tel.getLine1Number().length() - 4);
    port_avd = Integer.parseInt(self_avd);
    try {
      self_hash = genHash(self_avd);
      hash0 = genHash("5556");
      hash1 = genHash("5554");
      hash2 = genHash("5558");
    } catch (NoSuchAlgorithmException e) {
      e.printStackTrace();
    }

    if (self_avd.compareTo("5556") == 0) {
      suc_pointer1 = 11108;
      suc_pointer2 = 11116;
    } else if (self_avd.compareTo("5554") == 0) {
      suc_pointer1 = 11116;
      suc_pointer2 = 11112;
    } else if (self_avd.compareTo("5558") == 0) {
      suc_pointer1 = 11112;
      suc_pointer2 = 11108;
    }

    Thread serv = new Thread(new Server());
    serv.start();

    Thread recov = new Thread(new Recovery());
    recov.start();

    return false;
  }
コード例 #5
0
  @Override
  public Uri insert(Uri uri, ContentValues values) {
    db = myDb.getWritableDatabase();
    String key = (String) values.get(MyDbHelper.KEY);
    String value = (String) values.get(MyDbHelper.VALUE);
    String version = "0";
    key_recov = key;
    String keyhash = null;
    try {
      keyhash = genHash(key);
    } catch (NoSuchAlgorithmException e) {
      e.printStackTrace();
    }

    Cursor c1 =
        db.rawQuery(
            "select * from " + MyDbHelper.TABLE_NAME + " where key like '" + key + "'", null);
    if (c1 != null && c1.getCount() > 0) {
      Log.d("values in content provider checking version", "Insert");
      int ind = c1.getColumnIndex(MyDbHelper.VERSION);
      while (c1.moveToNext()) {
        version_tracker = Integer.parseInt(c1.getString(ind)) + 1;
        version = Integer.toString(version_tracker);
        break;
      }
    } else {
      Log.d("First time version", "Insert");
      version_tracker = 1;
      version = Integer.toString(version_tracker);
    }

    if (keyhash.compareTo(self_hash) <= 0) {
      r1 = isalive(suc_pointer1);
      r2 = isalive(suc_pointer2);
      if (r1 == true) {
        String msg1 = "I" + " " + key + " " + value + " " + version;
        Thread cli = new Thread(new Client(msg1, suc_pointer1));
        cli.start();
      }
      if (r2 == true) {
        String msg1 = "I" + " " + key + " " + value + " " + version;
        Thread cli = new Thread(new Client(msg1, suc_pointer2));
        cli.start();
      }
      Log.d("Content Provider", "Insert");
      Cursor c =
          db.rawQuery(
              "select * from " + MyDbHelper.TABLE_NAME + " where key like '" + key + "'", null);
      if (c != null && c.getCount() > 0) {
        Log.d("values in content provider", "Insert");
        int a = db.delete(MyDbHelper.TABLE_NAME, MyDbHelper.KEY + "=" + key, null);
      }
      values.put(MyDbHelper.VERSION, version);
      long rowId = db.insert(MyDbHelper.TABLE_NAME, MyDbHelper.VALUE, values);
      if (rowId > 0) {
        Uri newuri = ContentUris.withAppendedId(CONTENT_URI, rowId);
        getContext().getContentResolver().notifyChange(uri, null);
        return newuri;
      }
    } else {
      String nodes = findkeypos(keyhash);
      StringTokenizer s = new StringTokenizer(nodes, " ");
      coordinator = Integer.parseInt(s.nextToken());
      rep1 = Integer.parseInt(s.nextToken());
      rep2 = Integer.parseInt(s.nextToken());
      if (isalive(coordinator) == false) {
        quorum = 2;
        String msg1 = "I" + " " + key + " " + value + " " + version;
        Thread cli = new Thread(new Client(msg1, rep1));
        cli.start();
        Thread cli1 = new Thread(new Client(msg1, rep2));
        cli1.start();
      } else if ((isalive(coordinator) == true)
          && (isalive(rep1) == true)
          && (isalive(rep2) == true)) {
        quorum = 3;
        String msg1 = "I" + " " + key + " " + value + " " + version;
        Thread cli = new Thread(new Client(msg1, coordinator));
        cli.start();
        Thread cli1 = new Thread(new Client(msg1, rep1));
        cli1.start();
        Thread cli2 = new Thread(new Client(msg1, rep2));
        cli2.start();
      } else {
        if (isalive(rep1) == false) {
          String msg1 = "I" + " " + key + " " + value + " " + version;
          Thread cli = new Thread(new Client(msg1, coordinator));
          cli.start();
          Thread cli1 = new Thread(new Client(msg1, rep2));
          cli1.start();
        } else if (isalive(rep2) == false) {
          String msg1 = "I" + " " + key + " " + value + " " + version;
          Thread cli = new Thread(new Client(msg1, coordinator));
          cli.start();
          Thread cli1 = new Thread(new Client(msg1, rep1));
          cli1.start();
        }
      }
    }
    return null;
  }