Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Kotlin Discussion :

demande d'aide sur les variables


Sujet :

Kotlin

  1. #1
    Nouveau Candidat au Club
    demande d'aide sur les variables
    bonjour a tous,

    je me suis initié au langage kotlin il y'a quelque jours dans le but de crée une application android pour mon usage personnel.
    Elle a pour but d'automatiser des calcules de limiteur pour divers processeur de diffusion (outil en sonorisation).
    le problème est que quand je lance l’application sur mon mobile le résultat reste a 0 et je n'arrive pas a savoir pourquoi.

    mon application au niveau de l'interface et composé:
    d'un bouton "switch" pour choisir entre une charge fermé ou ouverte pour le haut parleur
    de 4 "check box" pour choisir entre les 4 modèle de processeur
    de 4 entré texte (number) pour les valeur du haut parleur et de l’amplificateur
    d'un bouton pour lancer le calcule
    et d'une boite texte qui affiche le résultat

    j'ai mis en pièce jointe une capture d’écran de l'interface
    pour l'instant c'est une prototype et tant niveau interface que niveau fonctionnalité mais je souhaite élucidé ce problème avant d'optimiser un peux plus l'interface ou de la rendre un peut plus jolie et rajouter du contenue a l'application.

    (je suis sur android studio pour faire cette application)

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    package com.example.limiteur
     
    import androidx.appcompat.app.AppCompatActivity
    import android.os.Bundle
    import com.google.android.material.chip.ChipGroup
    import kotlinx.android.synthetic.main.activity_main.*
    import java.lang.Math.log
    import java.lang.Math.sqrt
    import kotlin.math.log10
    import kotlin.math.round
     
    class MainActivity : AppCompatActivity() {
     
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            button.setOnClickListener {
                var php: Int = puissance_hp.text.toString().toInt()
                var gain: Float = gain_ampli.text.toString().toFloat()
                var ohm: Double = resistance_hp.text.toString().toDouble()
                var pamp: Int = puissance_ampli.text.toString().toInt()
                var ghp: Double = 0.0
                var dcxghpsub:Float = 0f
                var dcxghptop: Float = 0f
                var dcxsubresult:Float =0f
                var dcxtopresult:Float =0f
                var ouvert=(((((20)*(log10((((kotlin.math.sqrt((((((php) / (1.5625))) * (ohm)))))/(0.775)))))))-(gain)))
                var fermer=(((((20)*(log10((((kotlin.math.sqrt((((((php) / (2.34375))) * (ohm)))))/(0.775)))))))-(gain)))
                var dcxouvert=(((((((20)*(log10((((kotlin.math.sqrt((((((php) / (1.5625))) * (ohm)))))/(0.775)))))))-(gain)))-(22)))
                var dcxfermer=(((((((20)*(log10((((kotlin.math.sqrt((((((php) / (2.34375))) * (ohm)))))/(0.775)))))))-(gain)))-(22)))
                var dcxgampsub=(((((((((20)*(log10((((kotlin.math.sqrt((((((pamp) / (2))) * (ohm)))))/(0.775)))))))-(gain)))-(22)))+(1.5)))
                var dcxgamptop=(((((((((20)*(log10((((kotlin.math.sqrt((((((pamp) / (2))) * (ohm)))))/(0.775)))))))-(gain)))-(22)))+(3.75)))
                var difAMP=(((((20)*(log10((((kotlin.math.sqrt((((((pamp) / (2))) * (ohm)))))/(0.775)))))))-(gain)))
                // charge hp
                if(open.isActivated){
                    var ghp= ouvert
                    var dcxghpsub= (dcxouvert+1.5).toFloat()
                    var dcxghptop= (dcxouvert+1.5)
                }
                else{
                    var ghp= fermer
                    var dcxghpsub= (dcxfermer+3.75).toFloat()
                    var dcxghptop= (dcxouvert+3.75)
                }
                //1er type de proc
                if (dbu.isChecked){
                    if (difAMP>ghp){
                        var etape= ghp.toFloat()
                        resultat.text = "threshold: "+  etape
                    }
                    else {
                        var etape= difAMP .toFloat()
                        resultat.text = "threshold: "+  etape
                    }
                }
                //2eme type de proc
                else if (track.isChecked){
                    if (difAMP>ghp){
                        var etape= ghp.toFloat()
                        var result= (etape-2.5)
                        resultat.text = "threshold: "+  result
     
                    }
                    else {
                        var etape = difAMP.toFloat()
                        var result = (etape - 2.5)
                        resultat.text = "threshold: " + result
                    }
     
                }
                // 3eme type de proc
                else if (dcxs.isChecked){
                    if (dcxgampsub>dcxghpsub) {
                        var dcxsubresult= dcxghpsub
                    }
                    else if (dcxghpsub>dcxgampsub){
                        var dcxsubresult= dcxgampsub
                    }
                    resultat.text = "threshold: " + dcxsubresult 
     
                }
                //4 eme type de proc
                else if (dcxt.isChecked) {
                    if (dcxgamptop > dcxghptop) {
                        var dcxtopresult = dcxghptop
                    } else if (dcxghptop > dcxgamptop) {
                        var dcxtopresult = dcxgamptop
                    }
                    resultat.text = "threshold: " + dcxtopresult 
                }
            }
        }
    }

  2. #2
    Membre habitué
    Tu peux montrer le xml de ton activity ?

  3. #3
    Nouveau Candidat au Club
    .xml
    Code XML :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    <?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">
     
        <TextView
            android:id="@+id/textView5"
            android:layout_width="300dp"
            android:layout_height="40dp"
            android:gravity="center"
            android:text="@string/calculatrice_limiteur_dbu"
            android:textAppearance="@style/TextAppearance.AppCompat.Medium"
            android:textColor="#1B0AB5"
            android:textSize="24sp"
            android:textStyle="bold"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.01999998" />
     
        <TextView
            android:id="@+id/textView"
            android:layout_width="98dp"
            android:layout_height="50dp"
            android:gravity="center"
            android:text="@string/puissance_aes_du_haut_parleur_en_w"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.05"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.26999998"
            tools:ignore="MissingConstraints" />
     
        <TextView
            android:id="@+id/textView2"
            android:layout_width="98dp"
            android:layout_height="46dp"
            android:gravity="center"
            android:text="@string/gain_de_l_ampli_en_db"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.05"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.68"
            tools:ignore="MissingConstraints,UnknownId" />
     
        <TextView
            android:id="@+id/textView4"
            android:layout_width="98dp"
            android:layout_height="46dp"
            android:gravity="center"
            android:text="puissance de l'ampli en W"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.051"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.57"
            tools:ignore="MissingConstraints,UnknownId" />
     
        <TextView
            android:id="@+id/textView3"
            android:layout_width="98dp"
            android:layout_height="55dp"
            android:gravity="center"
            android:text="@string/r_sistance_du_haut_parleur_en_ohm"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.05"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.44"
            tools:ignore="MissingConstraints,UnknownId" />
     
        <TextView
            android:id="@+id/resultat"
            android:layout_width="174dp"
            android:layout_height="80dp"
            android:background="@color/colorPrimary"
            android:gravity="center"
            android:text="@string/résultat"
            android:textAllCaps="true"
            android:textColor="@color/white"
            android:textSize="24sp"
            android:textStyle="bold"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.497"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.946"
            tools:ignore="MissingConstraints" />
     
        <EditText
            android:id="@+id/gain_ampli"
            android:layout_width="160dp"
            android:layout_height="45dp"
            android:autoText="false"
            android:ems="10"
            android:gravity="center"
            android:importantForAutofill="no"
            android:inputType="number|numberDecimal"
            android:maxLength="4"
            android:maxLines="1"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.496"
            app:layout_constraintStart_toEndOf="@+id/textView2"
            app:layout_constraintTop_toTopOf="@+id/textView2"
            tools:ignore="MissingConstraints" />
     
        <EditText
            android:id="@+id/puissance_ampli"
            android:layout_width="160dp"
            android:layout_height="45dp"
            android:autoText="false"
            android:ems="10"
            android:gravity="center"
            android:importantForAutofill="no"
            android:inputType="number|numberDecimal"
            android:maxLength="4"
            android:maxLines="1"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.49"
            app:layout_constraintStart_toEndOf="@+id/textView4"
            app:layout_constraintTop_toTopOf="@+id/textView4"
            tools:ignore="MissingConstraints" />
     
        <EditText
            android:id="@+id/puissance_hp"
            android:layout_width="160dp"
            android:layout_height="50dp"
            android:ems="10"
            android:gravity="center"
            android:inputType="number"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/textView"
            app:layout_constraintTop_toTopOf="@+id/textView"
            tools:ignore="MissingConstraints" />
     
        <EditText
            android:id="@+id/resistance_hp"
            android:layout_width="160dp"
            android:layout_height="50dp"
            android:ems="10"
            android:gravity="center"
            android:inputType="number"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/textView3"
            app:layout_constraintTop_toTopOf="@+id/textView3" />
     
        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.76" />
     
        <Switch
            android:id="@+id/open"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="charge du haut parleur"
            android:textOff="fermer"
            android:textOn="ouvert"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.099" />
     
        <CheckBox
            android:id="@+id/dbu"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginLeft="16dp"
            android:text="dbu"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="@+id/track" />
     
        <CheckBox
            android:id="@+id/dcxt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="9dp"
            android:layout_marginRight="9dp"
            android:text="dcx 2496 top"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/dcxs"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.16" />
     
        <CheckBox
            android:id="@+id/dcxs"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="dcx 2496 sub"
            app:layout_constraintStart_toEndOf="@+id/track"
            app:layout_constraintTop_toTopOf="@+id/dcxt" />
     
        <CheckBox
            android:id="@+id/track"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="t.rack ds 24"
            app:layout_constraintStart_toEndOf="@+id/dbu"
            app:layout_constraintTop_toTopOf="@+id/dcxs" />
     
    </androidx.constraintlayout.widget.ConstraintLayout>

  4. #4
    Membre habitué
    Tes variables globales sont redéfinies localement. Par exemple ghp utilisée dans le "1er type de proc".
    Modifie le bloc ainsi :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if(open.isActivated){
                    ghp= ouvert
                    var dcxghpsub = (dcxouvert+1.5)
                    var dcxghptop = (dcxouvert+1.5)
                }
                else {
                    ghp = fermer
                    var dcxghpsub = (dcxfermer+3.75)
                    var dcxghptop = (dcxouvert+3.75)
                }

    tu obtiendras un résultat.
    Je n'ai pas vérifié le reste mais je suppose que c'est le même problème.

  5. #5
    Nouveau Candidat au Club
    merci !
    Super c’était ça ! merci pour ton aide et d'avoir pris le temps !