この記事は、【完走したい】楽しくいろいろやる 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に切り替えると、左側に色々出てきます。
これの、TextViewをドラッグ&ドロップで任意の位置に持ってきます。
名前なんかを変更すればOKです。
Plain Text
アプリ内で文字を入れられる系のものになります。後ろに「ID」と薄く書かれていますが、これは
activity_main.xmlで
android:hint="@string/text_id"
と記述することで出せるようです。便利です。
こことつながっています。
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です。
これで、
できました!
まとめ
テキストボックス内テキスト取得→
var A=id.getText().toString()
判定→ifを使う
参考