0

私は音楽アプリを作成しています。このアプリでは、アーティストやアルバムなどに基づいて、曲が選択されるときに多くの変数が飛び交っています。

これらの変数をすべて新しいクラスに送信することで、アプリを少し使いやすくしようとしています。これは、Excel の「ヘルパー セル」のようなものだと考えています。余分なものを渡したり受け取ったりし続ける必要はありません。

アイデアは次のとおりです。

ユーザーが曲を選択すると、アーティスト/アルバム/曲の情報がヘルパー クラスに渡されます。

次に、音楽サービスが開始され、ヘルパー クラスから選択された曲のパスが取得され、再生されます。

同時に、ヘルパー クラスから選択されたアーティスト/アルバム/曲を表示するアクティビティが開始されます。ここには次/前のボタンが含まれており、クリックすると、ヘルパー クラスの現在の曲が変更され、音楽サービスはヘルパー クラスから変数を再度受け取るように指示されます。

これはどのような種類のクラスになりますか? それはどのような範囲で、どのようにインスタンス化できますか?また、そのクラスとの間で変数を送受信するにはどうすればよいですか?

4

2 に答える 2

0

実行しようとしている正確な実装に応じて、SharedPreferences を使用してこれらの変数を保存し、新しい曲が選択されたときに必要に応じて変更することもできます。http://developer.android.com/guide/topics/ data/data-storage.html#pref

于 2012-06-06T04:46:08.573 に答える
0

Application インスタンスを使用して、アプリケーション レベルの変数を保持します。

  1. 拡張するandroid.app.application

  2. AndroidManifest.xml でアプリケーションを定義します

    <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:name=".MainApplication">
    
  3. アクティビティでアプリケーション インスタンスを取得するには、次のように呼び出します。getApplication()

たとえば、アクティビティの onCreate() メソッドでは、アプリケーション クラスに「MainApplication」という名前を付けたと仮定して、次のコードを使用します。

Application application = ((MainApplication)getApplication());
Album album = application.getAlbum();
Song song = application.getSong();
...
于 2012-06-06T04:39:56.180 に答える