0Pricing
Android Academy · บทเรียน

การจัดการข้อมูลที่ผู้ใช้ป้อน

ตอบสนองต่อการคลิกปุ่ม อ่านข้อความจาก EditText ตรวจสอบข้อมูลที่ป้อน และให้ข้อมูลตอบกลับแก่ผู้ใช้ด้วยข้อความ Toast

การจัดการข้อมูลที่ผู้ใช้ป้อน เป็นบทเรียน Android Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 7 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Android Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Android Academy มีบทเรียนทั้งหมด 7 บทเรียน

การเชื่อม UI กับโค้ด

การสร้างเค้าโครงเป็นเพียงขั้นตอนแรกเท่านั้น คุณยังต้อง:

  • อ่านสิ่งที่ผู้ใช้พิมพ์ใน EditText
  • ตอบสนองเมื่อกดปุ่ม
  • อัปเดต TextViews ด้วยค่าใหม่

บทเรียนนี้จะแสดงวิธีเชื่อมองค์ประกอบ UI โดยใช้ ViewBinding ซึ่งเป็นแนวทางสมัยใหม่ที่ปลอดภัยตามชนิดข้อมูล

การเปิดใช้ ViewBinding

เปิดใช้ ViewBinding ใน app/build.gradle:

// app/build.gradle (inside android { })
android {
    ...
    buildFeatures {
        viewBinding = true
    }
}

การใช้ ViewBinding

ViewBinding จะสร้างคลาส binding จากเค้าโครง XML ของคุณ หากเค้าโครงคือ activity_main.xml คลาสที่สร้างขึ้นจะเป็น ActivityMainBinding

import androidx.appcompat.app.AppCompatActivity
import com.example.myapp.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        // Access views directly — no casting!
        binding.tvTitle.text = "Hello!"
    }
}

การจัดการการกดปุ่ม

กำหนดตัวรับฟังการคลิกให้กับมุมมองใดก็ได้โดยใช้ setOnClickListener แล้วส่งแลมบ์ดาที่จะทำงานเมื่อผู้ใช้แตะ:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)

    var count = 0
    binding.btnIncrement.setOnClickListener {
        count++
        binding.tvCount.text = "Count: $count"
    }

    binding.btnReset.setOnClickListener {
        count = 0
        binding.tvCount.text = "Count: 0"
    }
}

การอ่านข้อมูลจาก EditText

รับข้อความที่ผู้ใช้พิมพ์โดยใช้ .text.toString():

  • binding.etName.text.toString() — คืนค่าข้อความปัจจุบันเป็น String
  • ตัดช่องว่างเสมอด้วย: .trim()
  • ตรวจสอบค่าว่างโดยใช้: .isBlank() หรือ .isEmpty()

ตัวอย่าง EditText + Button

อ่านข้อมูลที่ป้อนและแสดงข้อมูลนั้นเมื่อกดปุ่ม:

binding.btnGreet.setOnClickListener {
    val name = binding.etName.text.toString().trim()

    if (name.isBlank()) {
        binding.tvResult.text = "Please enter your name"
        return@setOnClickListener
    }

    binding.tvResult.text = "Hello, $name!"
}

ข้อความ Toast

Toast คือข้อความป๊อปอัปขนาดเล็กที่แสดงชั่วครู่บริเวณด้านล่างหน้าจอ ใช้สำหรับแจ้งผลตอบกลับอย่างรวดเร็ว:

  • Toast.LENGTH_SHORT — ประมาณ 2 วินาที
  • Toast.LENGTH_LONG — ประมาณ 3.5 วินาที

ตัวอย่าง Toast

แสดง Toast จากการกดปุ่ม:

import android.widget.Toast

binding.btnSave.setOnClickListener {
    val input = binding.etEmail.text.toString().trim()

    if (input.contains("@")) {
        Toast.makeText(
            this,
            "Saved: $input",
            Toast.LENGTH_SHORT
        ).show()
    } else {
        Toast.makeText(
            this,
            "Invalid email address",
            Toast.LENGTH_LONG
        ).show()
    }
}

ประเภทข้อมูลที่ป้อนและแป้นพิมพ์

กำหนดแอตทริบิวต์ inputType ให้กับ EditText เพื่อแนะนำแป้นพิมพ์:

  • textEmailAddress — แสดงปุ่ม @
  • numberDecimal — แป้นพิมพ์ตัวเลข
  • textPassword — ซ่อนอักขระ
  • phone — แป้นกดหมายเลขโทรศัพท์

การกำหนดประเภทข้อมูลที่ป้อนอย่างเหมาะสมช่วยปรับปรุงประสบการณ์ผู้ใช้ได้อย่างมาก

ตรวจสอบความเข้าใจ

เมธอดใดใช้อ่านข้อความปัจจุบันจาก EditText เป็น String

สรุป: การจัดการข้อมูลที่ผู้ใช้ป้อน

ขณะนี้แอปของคุณสามารถโต้ตอบกับผู้ใช้ได้แล้ว:

  • เปิดใช้ ViewBinding เพื่อเข้าถึงมุมมองอย่างปลอดภัยตามชนิดข้อมูล
  • setOnClickListener { } — ตอบสนองต่อการแตะ
  • .text.toString().trim() — อ่านข้อมูลจาก EditText
  • Toast.makeText(...).show() — แสดงข้อความตอบกลับอย่างรวดเร็ว
  • inputType — แนะนำแป้นพิมพ์ที่เหมาะสมให้ผู้ใช้

ถัดไป: นำทางระหว่างหน้าจอด้วย Intent

คำถามที่พบบ่อย

บทเรียน “การจัดการข้อมูลที่ผู้ใช้ป้อน” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การจัดการข้อมูลที่ผู้ใช้ป้อน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Android Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Android Academy มีบทเรียนทั้งหมด 7 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การจัดการข้อมูลที่ผู้ใช้ป้อน”

ตอบสนองต่อการคลิกปุ่ม อ่านข้อความจาก EditText ตรวจสอบข้อมูลที่ป้อน และให้ข้อมูลตอบกลับแก่ผู้ใช้ด้วยข้อความ Toast คุณปฏิบัติ Android Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Android Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Android Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 7 บทเรียน

บทเรียน “การจัดการข้อมูลที่ผู้ใช้ป้อน” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Android Academy นี้ได้ไหม

ได้ บทเรียน Android Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. โครงสร้างโครงการและไฟล์ Manifest
  2. Activity และวงจรชีวิต
  3. เค้าโครงและมุมมอง
  4. การจัดการข้อมูลที่ผู้ใช้ป้อน
  5. อินเทนต์และการนำทาง
  6. Fragment
  7. สิทธิ์และคำขอขณะทำงาน
← กลับไปที่ Android Academy