[JAVA] [Stajun a également admis] Je veux un spiser gastronomique, mais il coûte 1103,3543 billions de yens, j'ai donc créé une application Android

Refus

Principalement pour le développement d'applications Android, le langage java est la première fois, donc je pense que la mise en page est en lambeaux et qu'il y a des endroits où creuser. Si vous n'aimez pas le matériel, nous vous recommandons de retourner le navigateur ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇ ⌇

Public cible

・ Les personnes qui n'ont pas 1103 billions 354,3 milliards de yens ・ Les gens qui veulent écraser facilement des bonbons ·Gourmet ・ Star Jun ・ Pon partout! crash! crash! Pappappa! Qui veut

Vidéo: expliqué

https://www.nicovideo.jp/watch/sm37827489 https://www.youtube.com/watch?v=CkE88pO2VAI

Télécharger et installer

download

Puisqu'il s'agira d'une application errante, je pense que vous pouvez l'installer si vous vous référez à l'article de gumby

Période de développement

Planification, définition des besoins, etc. => 3 secondes Construction de l'environnement, programmation => 6 heures 6 heures 3 secondes au total

fonction

13973 (3).jpg

PON!! CRASH!! UMASOO!! GOURMETSPYZER!!

Appuyez sur le bouton et Trico parlera

Son épicé Lorsque vous appuyez sur le bouton>, la lumière du flash brille et vous pouvez facilement reproduire l'exemple de scène.

Appuyez à nouveau sur le bouton pour éteindre le flash

Contrôle de fonctionnement

huwei p30 lite

La source

MainActivity.java


import android.media.AudioAttributes;
import android.media.SoundPool;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraManager;
import android.os.Handler;
import android.content.Context;

public class MainActivity extends AppCompatActivity {

    private SoundPool soundPool;
    private int soundPon, soundCresh,soundUmasooo,soundGourmetSpyzer,UfoSoundEffect;
    private Button button1, button2,button3,button4,button5;
    private CameraManager McameraManager;
    private String McameraID;
    private boolean SW;



    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        McameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);

        AudioAttributes audioAttributes = new AudioAttributes.Builder()
                // USAGE_MEDIA
                // USAGE_GAME
                .setUsage(AudioAttributes.USAGE_GAME)
                // CONTENT_TYPE_MUSIC
                // CONTENT_TYPE_SPEECH, etc.
                .setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
                .build();

        soundPool = new SoundPool.Builder()
                .setAudioAttributes(audioAttributes)
                //En fonction du nombre de flux
                .setMaxStreams(5)
                .build();

        //Charger wav
        soundPon = soundPool.load(this, R.raw.pon, 1);

        soundCresh = soundPool.load(this, R.raw.crash, 1);

        soundUmasooo = soundPool.load(this, R.raw.umasooo, 1);

        soundGourmetSpyzer = soundPool.load(this, R.raw.gourmetspyzer, 1);

        UfoSoundEffect = soundPool.load(this, R.raw.ufosoundeffect, 1);

        soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
            @Override
            public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
                Log.d("debug", "sampleId=" + sampleId);
                Log.d("debug", "status=" + status);
            }
        });

        button1 = findViewById(R.id.button1);
        button2 = findViewById(R.id.button2);
        button3 = findViewById(R.id.button3);
        button4 = findViewById(R.id.button4);
        button5 = findViewById(R.id.button5);

        button1.setOnClickListener(v -> {
            // pon.lecture wav
            // play(ID chargé,Volume gauche,Bon volume,priorité,boucle,Vitesse de lecture)
            soundPool.play(soundPon, 1.0f, 1.0f, 0, 0, 1);

        });

        button2.setOnClickListener(v -> {
            // crash.lecture wav
            soundPool.play(soundCresh, 1.0f, 1.0f, 1, 0, 1);

        });
        button3.setOnClickListener(v -> {
            // Umasooo.lecture wav
            soundPool.play(soundUmasooo, 1.0f, 1.0f, 1, 0, 1);
        });
        button4.setOnClickListener(v -> {
            // gourmetspyzer.lecture wav
            soundPool.play(soundGourmetSpyzer, 1.0f, 1.0f, 1, 0, 1);
        });
        button5.setOnClickListener(v -> {
            soundPool.play(UfoSoundEffect, 1.0f, 1.0f, 1, 0, 1);
                //Ne faites rien si vous ne pouvez pas obtenir la caméra
                if (McameraID == null) {
                    return;
                }
                try {
                    if (SW == false) {
                        //Si SW est faux, réglez le mode de la torche sur vrai et activez LDE
                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                            McameraManager.setTorchMode(McameraID, true);
                        }
                    } else {
                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                            McameraManager.setTorchMode(McameraID, false);
                        }
                        //Si SW est vrai, réglez le mode de la torche sur faux et désactivez LDE
                    }

                } catch (CameraAccessException e) {
                    //La gestion des erreurs
                    e.printStackTrace();
                }

        });

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            McameraManager.registerTorchCallback(new CameraManager.TorchCallback() {
                //Traitement lorsque le mode de la torche est modifié
                @Override
                public void onTorchModeChanged(String cameraId, boolean enabled) {
                    super.onTorchModeChanged(cameraId, enabled);
                    //Définir l'ID de la caméra
                    McameraID = cameraId;
                    //Définissez l'état actuel sur SW
                    SW = enabled;
                }
            }, new Handler());
        }

    }
}


activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginBottom="20dp"
        android:text="pon!!"
        app:backgroundTint="#F44336"
        app:layout_constraintBottom_toBottomOf="@+id/imageView"
        app:layout_constraintEnd_toEndOf="@+id/button5" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginBottom="20dp"
        android:text="crash!!"
        app:backgroundTint="#F44336"
        app:layout_constraintBottom_toBottomOf="@+id/imageView"
        app:layout_constraintStart_toEndOf="@+id/button3" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="20dp"
        android:layout_marginLeft="20dp"
        android:layout_marginBottom="20dp"
        android:text="umasoo!!"
        app:backgroundTint="#F44336"
        app:layout_constraintBottom_toBottomOf="@+id/imageView"
        app:layout_constraintStart_toStartOf="parent"
        app:strokeColor="#F44336" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginEnd="9dp"
        android:layout_marginRight="9dp"
        android:layout_marginBottom="32dp"
        android:text="GourmetSpyzer!!"
        app:backgroundTint="#F44336"
        app:layout_constraintBottom_toTopOf="@+id/button2"
        app:layout_constraintEnd_toStartOf="@+id/button5"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintStart_toStartOf="parent" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="4dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/home" />

    <Button
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="24dp"
        android:layout_marginRight="24dp"
        android:text="Son épicé"
        app:backgroundTint="#F44336"
        app:layout_constraintBaseline_toBaselineOf="@+id/button4"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/button4" />


</androidx.constraintlayout.widget.ConstraintLayout>

Postscript

Retour le week-end

Recommended Posts

[Stajun a également admis] Je veux un spiser gastronomique, mais il coûte 1103,3543 billions de yens, j'ai donc créé une application Android
J'ai créé une application correspondante (application Android)
[Android] J'ai créé une application de podomètre.
J'ai créé une application de calculatrice sur Android
J'ai créé une application Janken avec Android
J'ai créé une application Android pour le service MiRm
Je veux pousser une application créée avec Rails 6 vers GitHub
J'ai créé une application de chat.