0
0

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

Last updated at Posted at 2023-12-24

この記事は、【完走したい】楽しくいろいろやる Advent Calendar 2023
の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
これの、TextViewをドラッグ&ドロップで任意の位置に持ってきます。
名前なんかを変更すればOKです。

Plain Text

アプリ内で文字を入れられる系のものになります。後ろに「ID」と薄く書かれていますが、これは
activity_main.xmlで

 android:hint="@string/text_id"

と記述することで出せるようです。便利です。
スクリーンショット 2023-12-23 125433.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

できました!

まとめ

テキストボックス内テキスト取得→
var A=id.getText().toString()
判定→ifを使う

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0