Beispiel #1
0
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    try {
      AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
      String s1 = am.getProperty(AudioManager.PROPERTY_OUTPUT_SAMPLE_RATE);
      String s2 = am.getProperty(AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER);

      if (s1 != null && s2 != null) {
        World.freq = Integer.parseInt(s1);
        World.samples = Integer.parseInt(s2);
        System.out.println(
            "AudioManager suggested fs=" + World.freq + ", samples=" + World.samples);
      }

    } catch (Throwable t) {
      System.err.println("Could not get device defaults: " + t.toString());
    }

    AndroidService.setInstance(new AndroidService(this));

    AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
    cfg.useAccelerometer = false;
    cfg.useCompass = false;
    cfg.useWakelock = true;
    initialize(new DrumApp(), cfg);
  }
  /**
   * Appellé à la réception d'un message envoyé depuis la montre
   *
   * @param messageEvent message reçu
   */
  @Override
  public void onMessageReceived(MessageEvent messageEvent) {
    super.onMessageReceived(messageEvent);

    // Ouvre une connexion vers la montre
    ConnectionResult connectionResult = mApiClient.blockingConnect(30, TimeUnit.SECONDS);

    if (!connectionResult.isSuccess()) {
      Log.e(TAG, "Failed to connect to GoogleApiClient.");
      return;
    }

    // traite le message reçu
    final String path = messageEvent.getPath();

    if (path.equals("bonjour")) {

      // Utilise Retrofit pour réaliser un appel REST
      AndroidService androidService =
          new RestAdapter.Builder()
              .setEndpoint(AndroidService.ENDPOINT)
              .build()
              .create(AndroidService.class);

      // Récupère et deserialise le contenu de mon fichier JSON en objet Element
      androidService.getElements(
          new Callback<List<Element>>() {
            @Override
            public void success(List<Element> elements, Response response) {
              envoyerListElements(elements);
            }

            @Override
            public void failure(RetrofitError error) {}
          });
    }
  }