0

私はJavaとC#で多くの経験を持っていますが、私はAndroidが初めてです。私は主にC#を使用します。なぜなら、私はコントロール階層に魅了されているからです。私はオントロジのプラグアンドプレイが大好きです。私はこの新しいパラダイムでオントロジを理解しようとしています。私は誤った情報を与えられているかもしれません。Android:ウィジェット、AppWidget、フラグメント、アクティビティ、アプリケーション - 違いは何ですか?

Appsに関しては、これが最大のコンポーネントである必要があります。アプリケーション内にはいくつかのアクティビティがあります。アクティビティには、いくつかのフラグメントが表示されます。 AppWidgetsはAppのコンポーネントとして存在するものの、単独で表示されるため、特別なケースと思われます。また、ボタンやProgressBarを拡張して独自のコンポーネントを作成し、再びウィジェットと呼ばれるように見えることが伝えられました。

私が言ったように、私はこれを完全に間違っているかもしれません。理想的には、自分自身のウィジェットを作成して、フラグメント、AppWidget、またはアクティビティに置くことができます。私はそれをAppに組み込むことができます。私が見つけたすべてのオンラインソースは、ウィジェットをAppWidgetという意味でのみ議論していますか?私は間違った情報を与えられましたか?誰でもオントロジーを明確にすることはできますか? ありがとう

+0

@誰でも投票した私の質問。理由だけに興味があります。私はこのサイトでかなり新しい評判を得ており、より理解したいと思っています。この点についてもう一つの質の問題はないようです。私はオンラインのドキュメントを探しており、ウィジェットとAppWidgetの間の混乱は解析することができません。あなたはなぜdownvoteについてコメントすることができますか? – BSD

+1

私はあなたの質問に何か間違っているとは思わなかったので、私はあなたのために投票しました。私たちは、質問をし、他の人から知識を得ることで前進します。圧倒的な知識で生まれたすべての人がいるわけではありません。残念ながら、私がフォーラムで見たことは、根本的な問題を理解し、コミュニティを支援することを嫌う人々が数多くいることです。彼らはあなたの質問を投票したり削除したり、質問全体を変更したりする簡単なルートを取っています。それは奇妙な状況のための解決策を模索している私たちのためにちょうど不幸です。 – Vincy

+0

@Vincyまあ、私は助けていただきありがとうございます。私は議決権行使について検討しており、メタコミュニティが熱く議論していることを理解しています。私の立場では、質問に対する特定の批判があったなら、それに対処してうれしいです。もし質問を大幅に改善する必要があれば、私はそれを行います。しかし、下降者は特定されていないので、質問を見つけたり、対処したり、再評価することは不可能です。長い返信。ありがとう、 – BSD

答えて

2

「ウィジェット」は、少しオーバーロードされた用語です。代わりに "カスタムビュー"でチュートリアルを検索すると、あなたはもっと良い運を得られるでしょう。私は、様々な用語の簡単な説明とその意味を下に示します。

カスタムビューは、Viewクラス(またはそのサブクラス)を拡張するもので、フレームワークの一部ではありません。カスタムビューは、典型的なビューが期待される場所であればどこでも使用できます。レイアウトファイルやJavaで直接構築することができます。注目すべきことは、AppWidgetではAppWidgetで使用できる特定のビューのみがアプリケーション外の別のプロセスで実行されているためです。つまり、カスタムビューをAppWidgetsで使用することはできません。私の経験では、これはあまり重要ではありません。


のApp:アプリケーション。コンポーネントは、<application>タグ内のマニフェストで定義されています。

アクティビティ:4つのアプリケーションコンポーネントのいずれか。ほとんどの場合、関連するUIがあり、階層はViewです。

フラグメント:アプリケーションのコードとUIをモジュール化するのに役立つフレームワーククラス。フラグメントをアクティビティに添付して、アクティビティの階層にUIを寄与させることができます。それらは完全にオプションです。あなたはあなたのアプリでフラグメントを使用する必要はありませんし、あなたはアクティビティにUIを提供しないフラグメントを添付することができます。

表示:テキスト(TextView)または画像(ImageView)などのUIコンポーネント。これらは「ウィジェット」とも呼ばれ、フレームワーククラスはandroid.widgetパッケージに含まれています。一部のビューには他のビューが含まれているため、UI階層を構築できます。これらは、ViewGroupに拡張され、「表示グループ」または「レイアウト」と言い換えられます。

AppWidget:ユーザーが自分のホーム画面に追加できるもの。これはアプリケーションによって提供されていますが、前述の4つのアプリケーションコンポーネントの1つではありません(BroadcastReceiverという特別なサブクラスでアプリケーションコンポーネントによってが管理されています)。ほとんどの人は、これを「ウィジェット」と呼んでいます。なぜなら、ランチャーはその用語を使用しています。

+0

私は間違っていますか?私たちは「4つのアプリケーションコンポーネント」を持っています.AppWidgetは「4つのアプリケーションコンポーネントのうちの1つではありません」、私は他の3つのタイプ(Activity、Fragment、View)を数えます。私は1つを欠いていますか? – BSD

+0

@BSD 4つのアプリケーションコンポーネントはマニフェストの ''タグの内部に現れるものです。 Activity( '')、サービス( '')、BroadcastReceiver( '')、ContentProvider( '')です。フラグメントとビューはアプリケーションコンポーネントではなく、アクティビティーのUIとロジックを作成するために使用されます。 – Karakuri

+0

優れています。ありがとう – BSD

関連する問題