• ベストアンサー

Android/コンポーネントとクラスの違いは?

クラスの中で、特殊な働きをするもの(?)を、特別にコンポーネントと呼ぶのでしょうか? つまり、コンポーネントの実体はクラス? コンポーネント<クラス? 例えば、「コンポーネントのアクティビティ」と言うときの「アクティビティ」は、「Android SDK」で提供されている「Activityクラス」と完全に同義の意味でしょうか? ■質問背景 ・コンポーネントが何なのか分からなくて質問しました

  • re97
  • お礼率80% (601/744)
  • Java
  • 回答数1
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

Androidの場合は、コンポーネント(application component)という用語は下記のものを指します。 ・Activity ・Service ・Content provider ・Broadcast receiver いずれも特定のクラスのサブクラスとして実装されるものです。したがって、「クラスの中で、特定の形式を満たしているものがコンポーネントである」ということは言えます。 Androidに限定しない文脈だとコンポーネント(ソフトウェアコンポーネント)はもっと多様なものを指している可能性があります。

re97
質問者

お礼

回答ありがとうございました。 >いずれも特定のクラスのサブクラスとして実装されるものです。したがって、「クラスの中で、特定の形式を満たしているものがコンポーネントである」ということは言えます ・大変参考になりましたー

関連するQ&A

  • Andoridの標準クラスという呼び方をする?

    Androidに関して ■質問 ・Android SDKで提供されているクラスを、何と言うでしょうか? ・また、ユーザーが自分で定義したクラスを、何と言うでしょうか? ・それぞれ、「標準クラス」、「ユーザ定義クラス」と呼んでよいのでしょうか? ■質問背景 ・そもそも「標準クラス」は何を指す言葉なのでしょうか? ・Java言語が提供しているクラスだけを指して言う言葉? ・Android SDKで提供されているクラスは、また別の呼び方をする?

    • ベストアンサー
    • Java
  • Androidの画面遷移ができません(その2)

    前回の質問の続きです. 今度はページXXXXXから3つのボタン(AAAAA,BBBBB,CCCCCと仮定)を画面上に表示させ,ボタンに記載された通りの各ページAAAAA,BBBBB,CCCCCに画面遷移しようと考えています. AAAAA,BBBBB,CCCCCにはそれぞれ異なった画像が表示されるようにプログラミングしてあるのですが,すべてのボタンを押してもページAAAAAに画面遷移してしまい困っています. おそらくAndroidManifest.xmlの定義が間違えているのではないかと思っているのですが,どこに原因があるのでしょうか?解答よろしくお願いします. 【AndroidManifest.xml】 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="sample.XXXXX" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="9" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".XXXXX" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="AAAAA"></activity> <activity android:name="BBBBB"></activity> <activity android:name="CCCCC"></activity> </application> </manifest>

  • new クラス名(Activity名.this);

    Android ・下記のようなコードがあるのですが、このとき「.this」の意味を教えてください ・Activityクラス自身? ・「.」で繋いでいる意味も、「this」の意味も良く分かりません ・thisだけでは駄目? ・引数は1つ? public class Hoge extends Activity {  public class C1 {//インナークラス?   protected m1method(略) {   略 = new クラス名(Hoge.this);

    • ベストアンサー
    • Java
  • Androidアプリプログラミング

    Androidアプリ初心者です。 android-sdk-/samples/android-8/ApiDemos/src/com/example/android/apis/graphics/spritetextの中にあるサンプルクラスをつかいたいのですが(本でそのクラスを使ってプログラミングしているので) import com.example.android.apis.graphics.spritetext.*; ↑importしたらエラーになってしまいます。 どうやったらサンプルクラスを使えるのでしょうか? 私の乏しい知識では、限界です…何方様かお知恵をお貸しくださいよろしくお願いします。

    • ベストアンサー
    • Java
  • android inflateメソッドについて

    eclipseから「新規アプリケーション・プロジェクト」でプロジェクトを作成すると下記のコードが自動作成されます。 package com.example.hello; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } この中で、inflateメソッドにカーソルを当てると  void android.view.MenuInflater.inflate(int menuRes, Menu menu) が表示されるので、MenuInflaterクラスのメソッドだと確認できます。 しかし、import文でMenuInflaterクラスを定義していないのになぜ使用できるのでしょうか。

  • Android SDKのアンインストール方法

    Android SDKをまるごとアンインストールしようとしています。 コントロールパネルの「プログラムの追加と削除」にそれらしいものがなかったので、 ファイルごと削除しようかとも思ったのですが、 念のため検索してみると、以下のような記述のあるサイトを見つけました。 「Android SDK をアンインストールするには、 コントロールパネルの「プログラムの追加と削除」から実行する必要があります。」 そこで、再度「プログラムの追加と削除」をひととおりチェックしたのですが、 「Android」の文字はまったく見当たりません。 「SDK」と付くものもありません。 あるのは、「java(TM) SE Development Kit 6 Update 21」とか 「java(TM) 6 Update 21」とかくらいです。 javaは、とりあえずアンインストールしてもしなくてもいいかと思い、置いています。 (後日アンインストールするかも知れません) Eclipseなどは、すでに削除してしまいました。 Android SDKのバージョンがわからないのですが、 ローカルディスクC直下の「android」というフォルダに 「android-sdk-windows」というフォルダのみあり、 その中にSDK Manager.exeなどのファイルやフォルダが入っています。 C直下にあるということは、「android」というフォルダごと削除してしまえば良いのでしょうか? 「プログラムの追加と削除」から実行する必要があると書かれていたことが気になり、 質問させていただきました。 おわかりになる方、よろしくお願いします!

  • activityからviewクラスを呼び出すには?

    アンドロイドアプリを開発しているものですが、質問があります。 mainのactivityにボタンを表示させて、そのボタンが押されたらviewクラスを継承して自作したクラスScreenを呼び出したいと思っているのですが、うまくいきません。 Button btn = (Button)findViewById(R.id.button1); btn.setOnClickListener(new View.OnClickListener(){ public void onClick(View view){                         Intent intent  =  new Intent(start.this , Screen.class) ;                                   startActivity(intent) ;           }           }               ) ; AndroidMainifest.xmlのActivityにも遷移先のクラス名を挿入していますので、問題がないはずなのですが、どなたか詳しい方お願い致します。 初心者なので、拙い説明で申し訳ありませんが、是非回答よろしくお願いいたします。

  • Android開発の詳しい本

    質問させてください。 「Google Androidプログラミング入門」という本を読んで、Android開発の勉強をしています。 自分である程度アプリケーションも作成できるようになったので、ステップアップしようと思っています。 ActivityやIntentなど今までなんとなく使用していたものを、再度勉強しなおしたいです。 市販の書籍やWebページの中で、Androidについて詳しく記載しているものはありませんでしょうか。 どなたかご存知でしたらお教えください。よろしくお願いします。

  • Android Studioでタブアプリを作りたい

    閲覧いただき、ありがとうございます。 超初心者のため、的外れな質問でしたら申し訳ありません。 http://yan-note.blogspot.jp/2012/10/android-fragmenttab.html こちらのサイトを参考に、Android Studio1.3を使って タブで画面を切り替えるアプリを作ってみたいと思っています。 最初のプロジェクト作成で「Blank Activity」を選択し、 サイトを参考にしながら「Fragment(Blank)」を二つ作成しました。 その後、タブを変更したときのリスナーを作成する、というところで つまづいてしまい、困っております。 これまでのFragment作成などは、同時にXMLが作成されるため 「プロジェクト」>「New」>「Fragment」>「Fragment(Blank)」で javaクラスを作成していたのですが、 リスナーに関するクラスを作るためのメニューがなく、困っています。 リスナーのクラスは、普通のクラス作成で作ってしまって良いのでしょうか? 非常に稚拙な質問で申し訳ないのですが、 ご回答いただけるとありがたいです。 どうぞよろしくお願いいたします。

  • ActivityからViewクラスへデータの渡し方

    やりたいことは、次のサイトのTest131ActクラスからImageFileViewクラスへ文字列を受け渡して、 ImageFileViewで受けた文字列を使いたいのですが、どのように受け渡せばよいのでしょうか? http://www.usefullcode.net/2011/01/android_sdk_4.html 試したのは、事前にopenFileOutputでファイルに文字列を書いておき、ImageFileViewクラスのpublic ImageFileView(Context context)の中でopenFileInputを使おうとしましたが、「メソッド openFileInput(String) は型 ImageFileView で未定義です」 と表示されてしまいます。 クラス間のデータの受け渡しについて検索して試してみましたが、うまくいきません。 Viewクラスに文字列が受け渡せて処理結果が安定した方法であれば何でもよいのでお知恵を貸して下さい。 宜しくお願いします。 Android os:3.0~4.4 pc:windows 7

    • ベストアンサー
    • Java