AndroidStudio入門　ログイン画面っぽいものを作る　

この記事は、[【完走したい】楽しくいろいろやる Advent Calendar 2023
](https://qiita.com/advent-calendar/2023/notbeginner)の17日目です。
多少順番が前後していますが、16日目⇒18日目⇒19日目⇒この記事の順番で見ればいい感じになると思います。
# AndroidStudio
去年ちょっと触ってみたのですが、ちょっと難しかったのであきらめていました。
せっかくの機会なので、アプリを作るところまで頑張ってみようと思います。
そもそもAndroidStudioは、その名の通りAndroidアプリを作ることができます。
「Androidアプリ」なので、例えばカーナビとか、テレビとか、そういったスマホでないもののアプリも作れるようです。
基本的にkotlin,java,(C++)?が多分使ええます。基本はkotlinとjavaで作るみたいです。
# 作ったもの
ログインができそうなアプリです。
見た目だけで、全然ログイン機能は搭載していません。



作った過程を書きます
# 準備
作る際には、
・MainActivity.kt(ほぼ使わない)
・layout.xml（絶対必須級に使う）
がおそらく必要です。
が、layoutが、どこを探しても見当たりませんでした。
こんな時は、右クリック⇒New⇒XML⇒Layout XML Fileを押すと追加されます。
(最初に左上Androidと書かれている部分をProjectに変更します)
これで、一応レイアウトを作る画面を出せました。下準備完了。

# Text
Designに切り替えると、左側に色々出てきます。
![スクリーンショット 2023-12-23 123653.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/83c62a79-7e20-a547-a51e-e3816848d6dd.png)
これの、TextViewをドラッグ＆ドロップで任意の位置に持ってきます。
名前なんかを変更すればOKです。
# Plain Text
アプリ内で文字を入れられる系のものになります。後ろに「ID」と薄く書かれていますが、これは
activity_main.xmlで
```
 android:hint="@string/text_id"
```
と記述することで出せるようです。便利です。
![スクリーンショット 2023-12-23 125433.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/7f14abcb-e00e-2d54-1cfd-44f1c889af37.png)
こことつながっています。
# password
パスワードを打てます。大体plain textと一緒です。
# Button
ボタンです。押したときの処理は後で書きます。
ボタン内の文字は、
```
  android:text="@string/button" 
```
とすることで出たはずです。
# ボタンを押したときの処理


# ログイン画面
本題です。
↓以下コード
```
package com.example.myapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import org.w3c.dom.Text

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)



        val id=findViewById<EditText>(R.id.editTextText)
        val idmsg=id.text.toString()
        val pass=findViewById<EditText>(R.id.Password)
        val passmsg=pass.text.toString()
        var TextA=findViewById<TextView>(R.id.TextA)
        var TexMsg=TextA.text.toString()
        var button = findViewById<Button>(R.id.button)
        var IDV=findViewById<TextView>(R.id.IDV)
        var IDG=IDV.text.toString()

        
        }
        button.setOnClickListener{
            var A=id.getText().toString()
            var B=pass.getText().toString()
            if(A=="abcde"){
                if(B=="12345"){
                    TextA.setText(R.string.TextOK)
                }
                else{
                    TextA.setText(R.string.TextNG)

                }

            }
            else{
                TextA.setText(R.string.TextNG)


            }
        }

    }

}
```
id(上の段)がabcde,パスワード（下の段）が12345です。
これで、
![Screenshot_20231224_120412_com.example.myapplication.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2961125/894f1830-48b4-b4b1-7c85-793b229ba71c.jpeg)

できました！
# まとめ
テキストボックス内テキスト取得→
 var A=id.getText().toString()
 判定→ifを使う
       
参考

https://nobuo-create.net/activity-main/

https://teratail.com/questions/jafyxq02pl42zr

https://akira-watson.com/android/helloworld.html

https://b-risk.jp/blog/2021/02/androidstudio4/

https://liginc.co.jp/489910

https://hirauchi-genta.com/kotlin-edittext/

https://akira-watson.com/android/kotlin/edit-text.html

https://akira-watson.com/android/edittext.html