Cara buat aplikasi nomor antrian dengan android studio
Cara buat aplikasi nomor antrian dengan android studio
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
<?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>
a. Log
package com.modelantrian;
public class Log {
public static void d(String playSound, String s) {
}
}
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();
}
}
}4. bagian Layout
| 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