質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

606閲覧

Android Studioのこれらは何の言語になるのでしょうか?

sun-flower

総合スコア2

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2023/01/04 12:19

Androidのアプリを自分でも作ってみたいと思い、色々と調べながら環境の設定までを行ったのですが、いざ作成するにあたって情報が少なすぎて(または調べ方が下手なのか…)一連の流れや基本的な操作も分からず困っております。
また、プログラミング以前に?全く異なる言語?での記述なども必要なようで、何をどうしたらよいかわからずアドバイスいただけないでしょうか。お願いいたします…。

整えた環境は、Android Studio Dolphin | 2021.3.1 | というものになります。
言語はKotlinの学習をしましたが、ひとまず基本的な部分のみです。

しかし、Kotlin以前に、XMLの記述としてこういった記述があります。

<TextView android:id="@+id/hogeTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="32dp" android:text="@string/hoge" android:textSize="40dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />

これらの記述方法はいったいどこで学べばよいものなのでしょうか?
そしてこれらは何語?になるのでしょうか?
XMLなのでマークアップ的な意味が強いと思うのですが、こういった書き方の情報をお伺いできればと思います。(wrap_contentは何の言語の記述になりますか?)

さらに、上記と合わせての不思議なのですが、今度は、XXXX.ktへの記述になるのですが、ここでもKOtlin自体の言語とは異なる?書き方が多々出現しておりまして悩んでいるのですが、

hoge:TextView=findViewById(R.id.hogehoge) btn.setOnClickListener { //乱数 val num = Random.nextInt(10) tv.text = num.toString() }

などなど、こういった記述は何の言語になるのでしょうか?
Random.nextInt()などはkotlinの記述っぽいと思いましたが、
kotlinの入門でbtn.setOnClickListener などの書き方はありませんでした。

なんとなく、javascriptのdocument.getElementByIdな感じで要素をまずは取得して…的な内容だとは把握できましたが、こういった記述が他にも多々あるわけで、これらはどういったところで確認できますでしょうか?(調べたりしたいのですが、言語も分からず何と調べればよいか…?)
また、この記述などは何を学ぶという行為になりますでしょうか?
kotlinの学習ですか?書籍も含め幾つか学習を進めたのですが、これらの記述はkotlinではないと思いまして…。

すみません、わからないことがわからな過ぎて質問が的を得ない感じで恐縮ですが、わからない理由が少しでも把握頂けると幸いです。
このような状況で何かつでもアドバイスを頂けますと助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2023/01/04 15:42

XML は汎用のマークアップ言語ですが、wrap_content などの内容は Android に固有のものです。 また、btn.setOnClickListener { 〜 } はラムダ式を引数とするメソッド呼び出しで、Kotlin のちよっと高度な文法なので、初心者向けの Kotlin 入門書には出てこないのかも…。 とりあえず、Android 開発の入門書を読むことをお勧めします。
sun-flower

2023/01/05 02:28

有難うございます。 初心者の初心者なので、理解が及ばないところが多々ありまして…。 もっと、公式や書籍など多くの情報に触れて理解を深めたいと思います。
guest

回答1

0

ベストアンサー

記述方法はいったいどこで学べばよいものなのでしょうか?
これらは何語?

XMLは汎用もので、AndroidではUIの記述などで使っていて、Androidの画面のレイアウトを記述するための要素を持つようになっていますが、これは他のものではなくあくまでXMLです。 何語だろうと思ってしまうと進めませんよ。
「android:layout_width="wrap_content"」は、 android:layout_width という属性に wrap_content とう文字列を設定しているということです。 android:layout_width については、検索すると以下のような公式の説明がみつかるでしょう。
https://developer.android.com/guide/topics/resources/layout-resource?hl=ja

こういった記述は何の言語になるのでしょうか?

これらもkotlinです。 どのあたりがkotlinではなさそうだと思ったのでしょうか?

hoge:TextView=findViewById(R.id.hogehoge)

これのどのあたりが kotlinとは違うと思ったのですか?

kotlinの入門でbtn.setOnClickListener などの書き方はありませんでした。

これが、もし「setOnClickListener」というメソッドを見たことがないということであれば、入門書で全てのオブジェクトの全てのメソッドの説明があるわけではありません、ということです。 btnオブジェクトのクラスの定義を見ればどのようなメソッドがあるかはわかるはずです。

もし、「setOnClickListener { ... }」という書き方にひっかかっているということであれば、これはkotlinのSAM変換という記法で変形された形です。 SAM変換で検索するといろいろ解説がみつかると思います。


XMLなのでマークアップ的な意味が強いと思う
これらの記述はkotlinではないと思いまして

質問をパッと見たとき、不思議な考えかたをするなと思いました。
XMLはXMLです。場合によってはテンプレート化されていて、他の言語の記述が混っている場合もあるかもしれませんが、そういうものはそもそもXMLとは呼びません。同様に、kotlinのソースコードの中に他の言語こ記述が混じることもありません。
なので、知識に無いものを見たときに、そういう方向の考えかたに行くのはやめたほうがいいと思います。

ちなみに、以下の公式のスタートガイドの内容は全て理解しながらやっておくといいと思います。
https://developer.android.com/docs?hl=ja

投稿2023/01/05 01:43

編集2023/01/05 02:12
TakaiY

総合スコア12657

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sun-flower

2023/01/05 02:27

有難うございます。 上記に頂きました、公式のスタートガイドのリンク大変参考になります。 こちらの内容を隅々確認いたします、イベント リスナーの欄にsetOnClickListenerなど様々記載が御座いました…。 またSAM変換というキーワードも大変助かりました。 有難うございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問