Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

จะสร้างบริการพื้นหลังใน Android ได้อย่างไร?


ก่อนเข้าตัวอย่างเราควรรู้ว่าบริการใน Android คืออะไร บริการจะดำเนินการเบื้องหลังโดยไม่มีการโต้ตอบกับ UI และทำงานได้แม้หลังจากกิจกรรมถูกทำลาย

ตัวอย่างนี้สาธิตวิธีสร้างบริการพื้นหลังใน Android

ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่

ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml

 
ในโค้ดข้างต้น เราได้ดูข้อความ เมื่อผู้ใช้คลิกที่มุมมองข้อความ จะเริ่มให้บริการและหยุดบริการ

ขั้นตอนที่ 3 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java

แพ็คเกจ com.example.andy.myapplication;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;นำเข้า android.view.View นำเข้า android.widget.TextView คลาสสาธารณะ MainActivity ขยาย AppCompatActivity { @Override ป้องกันโมฆะ onCreate (Bundle saveInstanceState) { super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); ข้อความ TextView สุดท้าย =findViewById (R.id.text); text.setOnClickListener ( View.OnClickListener ใหม่ () { @ แทนที่โมฆะสาธารณะ onClick (ดู v) { ถ้า (text.getText ().toString (). เท่ากับ ("เริ่ม")) { text.setText ("หยุด"); stopService (เจตนาใหม่ (MainActivity.this,service.class)); } อื่น { text.setText ("เริ่มต้น"); startService (เจตนาใหม่ (MainActivity.this, service.class)); } } }); }}

ในรหัสด้านบนเพื่อเริ่มและหยุดบริการ เราใช้เจตนาและผ่านบริบทและคลาสบริการ ตอนนี้สร้างคลาสบริการในโฟลเดอร์แพ็คเกจเป็น service.class และเพิ่มรหัสต่อไปนี้ –

แพ็คเกจ com.example.andy.myapplication;import android.app.Service;import android.content.Intent;import android.os.IBinder;import android.widget.Toast;บริการคลาสสาธารณะขยายบริการ { @Override สาธารณะ IBinder onBind (เจตนาเจตนา) { ส่งคืน null; } @แทนที่ int สาธารณะ onStartCommand (เจตนาเจตนา แฟล็ก int int startId) { Toast.makeText (นี่คือ "บริการที่เริ่มต้นโดยผู้ใช้", Toast.LENGTH_LONG).show(); ส่งคืน START_STICKY; } @แทนที่โมฆะสาธารณะ onDestroy() { super.onDestroy(); Toast.makeText(นี่คือ "บริการถูกทำลายโดยผู้ใช้", Toast.LENGTH_LONG).show(); }}

ขั้นตอนที่ 4 − เพิ่มรหัสต่อไปนี้ใน manifest.xml

     <หมวดหมู่ android:name ="android.intent.category.LAUNCHER" />    

มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์แล้วคลิกไอคอน Run จากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก จากนั้นตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ –

จะสร้างบริการพื้นหลังใน Android ได้อย่างไร?

ในผลลัพธ์ข้างต้นเป็นหน้าจอเริ่มต้น คลิกที่ Text view จะเริ่มให้บริการตามที่แสดงด้านล่าง –

จะสร้างบริการพื้นหลังใน Android ได้อย่างไร?

จากผลด้านบนนี้ บริการได้เริ่มขึ้นแล้ว คลิกที่ Text View จะหยุดบริการดังภาพ -

จะสร้างบริการพื้นหลังใน Android ได้อย่างไร?