Cara buat aplikasi nomor antrian dengan android studio
Table of Contents
Cara buat aplikasi nomor antrian dengan android studio
Halo sahabat javasetid, era digitalisasi kini dapat mempermudah segala aktivitas baik yang bersinggungan dengan pelayanan masyarakat seperti layanan kesehahatan atau perusahaan yang bergerak dibidang jasa, salah satu manfaat yang telah dirasakan yaitu terciptanya sebuah aplikasi yang digunakan untuk sistem antrian.
Dalam kesempatan kali kami telah membangun aplikasi nomor antrian yang bisa diakses secara offline, nah buat kamu yang tertarik ingin mempelajari source tersebut kita akan langsung saja membangun aplikasi ini berikut step by step yang harus kamu perhatikan ya.
Langkah pertama silahkan akmu buat projek baru "empty projek" dan sesuaikan nama projek sesuai keingina kalian dan ini dia struktur yang akan kita buat agar aplikasi bisa digunakan berikut daftar dan codenya
Langkah awal kita setting dulu android manifestnya untuk code nya seperti ini:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
<application
android:allowClearUserData="true"
android:allowClearUserDataOnFailedRestore="true"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:enabled="true"
android:extractNativeLibs="true"
android:hardwareAccelerated="true"
android:uiOptions="splitActionBarWhenNarrow"
android:usesCleartextTraffic="true"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Modelantrian"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
kalau sudah si android manifest selesai kamu setting kita lanjut bagian java class, di javaclass ini kita memerlukan dua activity yaitu log dan MainActivity.
untuk kode nya seperti ini
a. Log
a. Log
package com.modelantrian;
public class Log {
public static void d(String playSound, String s) {
}
}
b. MainActivity
package com.modelantrian;
import android.annotation.SuppressLint;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainActivity extends AppCompatActivity {
private int queueNumber = 0;
private TextView tvQueueNumber, tvServiceType;
private Button btnNext, btnPrevious, btnReset, btnPrint, btnRepeatCall;
private MediaPlayer mediaPlayer;
private TextView textClock, textDate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textClock =findViewById(R.id.clock);
textDate =findViewById(R.id.date);
Handler handler = new Handler();
handler . post(new Runnable() {
@Override
public void run() {
@SuppressLint("SimpelDateFormat")
DateFormat clockFormat = new SimpleDateFormat("HH:mm:ss");
@SuppressLint("SimpelDateFormat")
DateFormat dateFormat = new SimpleDateFormat("EEEE,dd MMMM yyyy");
textClock.setText(clockFormat.format(new Date()));
textDate.setText(dateFormat.format(new Date()));
// interval
handler.postDelayed(this,1000);
}
});
tvQueueNumber = findViewById(R.id.tvQueueNumber);
btnNext = findViewById(R.id.btnNext);
btnPrevious = findViewById(R.id.btnPrevious);
btnReset = findViewById(R.id.btnReset);
btnPrint = findViewById(R.id.btnPrint);
btnRepeatCall = findViewById(R.id.btnRepeatCall);
// Siapkan media player untuk suara panggil
mediaPlayer = new MediaPlayer();
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
queueNumber++;
updateQueueNumber();
showNotification("Sedang ada antrian: " + queueNumber);
playSound(queueNumber);
}
});
btnPrevious.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (queueNumber > 0) {
queueNumber--;
updateQueueNumber();
} else {
Toast.makeText(MainActivity.this, "Tidak ada nomor sebelumnya!", Toast.LENGTH_SHORT).show();
}
}
});
btnReset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
queueNumber = 0;
updateQueueNumber();
}
});
btnPrint.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
printQueueNumber();
}
});
btnRepeatCall.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
playSound(queueNumber);
}
});
// Set jenis layanan awal
;
}
private void updateQueueNumber() {
tvQueueNumber.setText("" + queueNumber);
}
private void showNotification(String message) {
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
private void playSound(int number) {
int soundResource = getResources().getIdentifier("nomor_" + number, "raw", getPackageName());
// Tambahkan log untuk memeriksa ID sumber suara
Log.d("PlaySound", "Sound resource ID: " + soundResource);
if (soundResource != 0) {
if (mediaPlayer != null) {
mediaPlayer.release(); // Lepaskan media player sebelumnya
}
mediaPlayer = MediaPlayer.create(this, soundResource);
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.release(); // Lepaskan media player setelah selesai
}
});
mediaPlayer.start();
} else {
Toast.makeText(this, "File suara tidak ditemukan!", Toast.LENGTH_SHORT).show();
}
}
private void printQueueNumber() {
Toast.makeText(this, "Nomor Antrian " + queueNumber + " dicetak!", Toast.LENGTH_SHORT).show();
// Di sini Anda bisa menambahkan logika untuk mencetak nomor, seperti mengirim ke printer
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mediaPlayer != null) {
mediaPlayer.release();
}
}
}
3. drawable
pada bagian diperlukan untuk tampilan aplikasi agar lebih menarik dan kece
4. bagian Layout
4. bagian Layout
5. bagian RAW
pada bagian ini silahkan buat dulu folder RAW nya dengan mengikuti intruksi berikut ini
| isi file RAW 6. bagian color pada bagian ini silahkan kamu pastikan code warna berikut ada di codingan ini ya
7. bagian build.gradle.kts
Setelah kode ini sudah selesai selanjutnya silahkan kamu buidl menjadi aplikasi, selamat mencoba KESIMPULAN Aplikasi nomor antrian sangat efektif digunakan di berbagai pelayanan dengan kondisi layanan khlayak ramai, jadi buat kamu yang tertarik untuk membuat aplikasi ini jangan malu bertanya jika terjai kedala pada saat membuatnya, kamu butuh source code ini silahkan kunjungi disini ya Source code Nomor Antrian |
Posting Komentar