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.

2. class java

untuk kode nya seperti ini

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();
}
}
}
setelah selesai kita lanjut bagian ke tiga yaitu "res" disini bagian drawable silahkan dan pastikan ada file berikut

3. drawable

drawable














pada bagian diperlukan untuk tampilan aplikasi agar lebih menarik dan kece

4. bagian Layout

layout












5. bagian RAW

pada bagian ini silahkan buat dulu folder RAW nya dengan mengikuti intruksi berikut ini

buat folder RAW










isi file RAW
6. bagian color

 pada bagian ini silahkan kamu pastikan code warna berikut ada di codingan ini ya
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="purple_200">#FFBB86FC</color>
<color name="purple_500">#FF6200EE</color>
<color name="purple_700">#FF3700B3</color>
<color name="teal_200">#FF03DAC5</color>
<color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="nocolor">#00404040</color>
<color name="light_blue_600">#FF039BE5</color>
<color name="light_blue_900">#FF01579B</color>
<color name="light_blue_A200">#FF40C4FF</color>
<color name="light_blue_A400">#FF00B0FF</color>
<color name="black_overlay">#66000000</color>

</resources>



dependencies {

implementation(libs.appcompat)
implementation(libs.material)
implementation(libs.activity)
implementation(libs.constraintlayout)
testImplementation(libs.junit)
androidTestImplementation(libs.ext.junit)
androidTestImplementation(libs.espresso.core)
implementation (libs.recyclerview)
implementation (libs.lifecycle.viewmodel)
implementation (libs.lifecycle.livedata)
}

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