Trottinette Électrique Connectée  1.0
BTS SN-IR La Salle Avignon 2018
 Tout Classes Fichiers Fonctions Variables
Fonctions membres publiques | Fonctions membres publiques statiques | Fonctions membres protégées | Attributs de paquetage | Fonctions membres privées | Attributs privés | Attributs privés statiques
Référence de la classe com.example.iris.myapplication.MainActivity

Activité principale de l'application (Thread UI) Plus de détails...

Graphe d'héritage de com.example.iris.myapplication.MainActivity:
Inheritance graph
[légende]
Graphe de collaboration de com.example.iris.myapplication.MainActivity:
Collaboration graph
[légende]

Liste de tous les membres

Fonctions membres publiques

void onResume ()
void onClick (View view)
void journaliser (String text)
 Permet d'afficher des messages dans l'IHM.
boolean onCreateOptionsMenu (Menu menu)
boolean onOptionsItemSelected (MenuItem item)

Fonctions membres publiques statiques

static String getApplicationName (Context context)

Fonctions membres protégées

void onCreate (Bundle savedInstanceState)
 Demarre l'activite.
void onDestroy ()
 Arrete l'activite.
void onActivityResult (int requestCode, int resultCode, Intent data)
 Fonction d'affichage si le bluetooth est active ou non.

Attributs de paquetage

ArrayList< GeoPoint > traceTrajet
LocationListener ecouteurGPS

Fonctions membres privées

void initialiserActivite ()
 Intialise l'affichage de l'activité
void gererBoutons ()
 Gère les boutons de l'application.
void initialiserCarte ()
 Intialise la carte.
void initialiserLocalisation ()
 Intialise la localisation de la trottinette.
void arreterLocalisation ()
void initialiserCommunication ()
 Initialise les communication.
void activerBluetooth ()
 Gère l'activation de l'adaptateur Bluetooth.
void arreterBluetooth ()
 Fonction d'arrete du bluetooth.
void afficherPositionTTE ()
 Fonction d'affichage de la position de la trottinette.
void afficherDonneesTTE (Boolean ok)
 Fonction d'affichage des données de la TTE boolean pour activer l'affichage ou non.
int getPosition (String adresse)
void setBoutons (int position)
 Fonction pour changer la couleur et le positionement de nos boutons.
void remplacerPeripherique (PeripheriqueBluetooth peripherique)

Attributs privés

BluetoothAdapter bluetoothAdapter = null
PeripheriqueBluetooth peripherique = null
List< PeripheriqueBluetoothperipheriques
List< String > noms
Set< BluetoothDevice > devices
TrameTTE trame
Trajet trajet
Boolean trajetEncours = false
Spinner spinnerListePeripheriques
ListView mListView
ArrayAdapter< String > journal
List< String > mListLog
TextView affichageDistanceParcourue
TextView affichageChargeBatterie
TextView affichageVitesse
TextView affichageDistanceParcourueTrajet
TextView affichageConsommationTrajet
TextView affichageVitesseMoyenneTrajet
Button boutonCommunicationTTE
Button boutonTrajet
MapView myOpenMapView
ScaleBarOverlay myScaleBarOverlay
CompassOverlay mCompassOverlay
RotationGestureOverlay mRotationGestureOverlay
DirectedLocationOverlay myLocationOverlay
LocationManager locationManager = null
String fournisseur
Geocoder geocoder
int etatLocalisation
float mAzimuthAngleSpeed = 0.0f
double mSpeed = 0.0
final BroadcastReceiver bluetoothReceiver
 permet d'écouter ce qui se passe sur le système et de rendre la tablette visible par les périphériques Bluetooth distants
final Handler gestionnaire
 Gère les communications avec le thread de réception des trames.

Attributs privés statiques

static final String TAG = "<TEC 2018>"
static final int REQUEST_CODE_ENABLE_BLUETOOTH = 0

Description détaillée

Auteur:
Hachette Alexandre
Version:
1.0

Documentation des fonctions membres

A faire:
changer en TEC-01

Références com.example.iris.myapplication.MainActivity.bluetoothAdapter, com.example.iris.myapplication.MainActivity.boutonCommunicationTTE, com.example.iris.myapplication.MainActivity.devices, com.example.iris.myapplication.MainActivity.gestionnaire, com.example.iris.myapplication.MainActivity.noms, com.example.iris.myapplication.MainActivity.peripherique, com.example.iris.myapplication.MainActivity.peripheriques, com.example.iris.myapplication.MainActivity.REQUEST_CODE_ENABLE_BLUETOOTH, com.example.iris.myapplication.MainActivity.setBoutons(), com.example.iris.myapplication.MainActivity.spinnerListePeripheriques, et com.example.iris.myapplication.MainActivity.TAG.

Référencé par com.example.iris.myapplication.MainActivity.initialiserCommunication().

    {
        bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
        // A-t-on un adaptateur bluetooth ?
        if (bluetoothAdapter == null)
        {
            Toast.makeText(getApplicationContext(), "Bluetooth non présent sur l'appareil!", Toast.LENGTH_SHORT).show();
            Log.d(TAG, "Bluetooth non présent !"); // d = debug
            boutonCommunicationTTE.setEnabled(false);
        }
        else
        {
            if (!bluetoothAdapter.isEnabled())
            {
                // le bluetooth est-il désactivé ?
                Log.d(TAG, "Demande activation Bluetooth"); // d = debug

                // Demande de l'activation du bluetooth
                Toast.makeText(getApplicationContext(), "Bluetooth non activé !", Toast.LENGTH_SHORT).show();
                Intent activeBlueTooth = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
                startActivityForResult(activeBlueTooth, REQUEST_CODE_ENABLE_BLUETOOTH);
            }
            else
            {
                // le bluetooth est déjà activé
                Log.d(TAG, "Bluetooth activé"); // d = debug

                // Recherche des périphériques connus
                peripheriques = new ArrayList<PeripheriqueBluetooth>();
                noms = new ArrayList<String>();
                devices = bluetoothAdapter.getBondedDevices();

                for (BluetoothDevice blueDevice : devices)
                {
                    if((blueDevice.getName().equals("HC-05")))
                    {
                        peripheriques.add(new PeripheriqueBluetooth(blueDevice, gestionnaire));
                        noms.add(blueDevice.getName());
                    }
                }
                if(peripheriques.size() == 0)
                {
                    peripheriques.add(new PeripheriqueBluetooth(null, gestionnaire));
                    Toast.makeText(getApplicationContext(), "Aucun périphérique détecté ! ", Toast.LENGTH_SHORT).show();
                }
                else
                {
                    boutonCommunicationTTE.setEnabled(true);
                }

                if(noms.size() == 0)
                    noms.add("Aucun");

                ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, noms);
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                spinnerListePeripheriques.setAdapter(adapter);
                adapter.setNotifyOnChange(true);

                spinnerListePeripheriques.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
                {
                    @Override
                    public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long id)
                    {
                        peripherique = peripheriques.get(position);
                        setBoutons(position);
                    }

                    @Override
                    public void onNothingSelected(AdapterView<?> arg0)
                    {

                    }
                });
            }
        }
    }
Paramètres:
ok

Références com.example.iris.myapplication.MainActivity.affichageChargeBatterie, com.example.iris.myapplication.MainActivity.affichageConsommationTrajet, com.example.iris.myapplication.MainActivity.affichageDistanceParcourue, com.example.iris.myapplication.MainActivity.affichageDistanceParcourueTrajet, com.example.iris.myapplication.MainActivity.affichageVitesse, com.example.iris.myapplication.MainActivity.affichageVitesseMoyenneTrajet, com.example.iris.myapplication.TrameTTE.getChargeBatterie(), com.example.iris.myapplication.Trajet.getConsommationTrajet(), com.example.iris.myapplication.Trajet.getDistanceParcourue(), com.example.iris.myapplication.TrameTTE.getDistanceParcourue(), com.example.iris.myapplication.TrameTTE.getVitesse(), com.example.iris.myapplication.Trajet.getVitesseMoyenneTTE(), com.example.iris.myapplication.MainActivity.trajet, com.example.iris.myapplication.MainActivity.trajetEncours, et com.example.iris.myapplication.MainActivity.trame.

Référencé par com.example.iris.myapplication.MainActivity.onResume().

    {
        if(ok)
        {
            affichageChargeBatterie.setText("Batterie : " + trame.getChargeBatterie() + " %");
            if(trame.getDistanceParcourue() > 1000)
            {
                affichageDistanceParcourue.setText("Distance : " + (trame.getDistanceParcourue()/1000) + " km");
            }
            else
            {
                affichageDistanceParcourue.setText("Distance : " + trame.getDistanceParcourue() + " m");
            }
            affichageVitesse.setText("Vitesse : " + trame.getVitesse() + " km/h");

            affichageDistanceParcourueTrajet = (TextView) findViewById(R.id.affichageDistanceParcourueTrajet);
            affichageConsommationTrajet = (TextView) findViewById(R.id.affichageChargeBatterieTrajet);
            affichageVitesseMoyenneTrajet = (TextView) findViewById(R.id.affichageVitesseTrajet);

            if(trajetEncours)
            {
                affichageConsommationTrajet.setText("Consommation : "+ trajet.getConsommationTrajet(trame.getChargeBatterie()) +" %");
                affichageVitesseMoyenneTrajet.setText("Vitesse moy : " + trajet.getVitesseMoyenneTTE() + " km/h");
                if(trajet.getDistanceParcourue(trame.getDistanceParcourue()) > 1000)
                {
                    affichageDistanceParcourueTrajet.setText("Parcours : " + (trajet.getDistanceParcourue(trame.getDistanceParcourue())/1000) + " km");
                }
                else
                {
                    affichageDistanceParcourueTrajet.setText("Parcours : " + trajet.getDistanceParcourue(trame.getDistanceParcourue()) + " m");
                }
            }
            else
            {
                affichageDistanceParcourueTrajet.setText("Vitesse moy. : -- km/h");
                affichageConsommationTrajet.setText("Consommation : -- %");
                affichageVitesseMoyenneTrajet.setText("Parcours : -- m");
            }
        }
        else
        {
            affichageChargeBatterie.setText("Batterie : -- %");
            affichageDistanceParcourue.setText("Distance : -- m");
            affichageVitesse.setText("Vitesse : -- km/h");
            affichageDistanceParcourueTrajet.setText("Vitesse moy. : -- km/h");
            affichageConsommationTrajet.setText("Consommation : -- %");
            affichageVitesseMoyenneTrajet.setText("Parcours : -- m");
        }
        

    }

Références com.example.iris.myapplication.MainActivity.ecouteurGPS, com.example.iris.myapplication.MainActivity.fournisseur, com.example.iris.myapplication.MainActivity.locationManager, et com.example.iris.myapplication.MainActivity.TAG.

    {
        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED)
        {
            Log.d(TAG, "<GPS> no permissions !");
            return;
        }
        if (locationManager != null)
        {
            if (fournisseur != null)
            {
                Location localisation = locationManager.getLastKnownLocation(fournisseur);
                if (localisation != null)
                {
                    // on notifie la localisation
                    ecouteurGPS.onLocationChanged(localisation);

                }
            }
        }
    }

Références com.example.iris.myapplication.Trajet.arreterTrajet(), com.example.iris.myapplication.MainActivity.boutonCommunicationTTE, com.example.iris.myapplication.MainActivity.boutonTrajet, com.example.iris.myapplication.PeripheriqueBluetooth.connecter(), com.example.iris.myapplication.PeripheriqueBluetooth.deconnecter(), com.example.iris.myapplication.Trajet.demarrerTrajet(), com.example.iris.myapplication.PeripheriqueBluetooth.estConnecte(), com.example.iris.myapplication.PeripheriqueBluetooth.getAdresse(), com.example.iris.myapplication.TrameTTE.getChargeBatterie(), com.example.iris.myapplication.TrameTTE.getDistanceParcourue(), com.example.iris.myapplication.Trajet.getEtatTrajet(), com.example.iris.myapplication.PeripheriqueBluetooth.getNom(), com.example.iris.myapplication.MainActivity.journaliser(), com.example.iris.myapplication.MainActivity.onClick(), com.example.iris.myapplication.MainActivity.peripherique, com.example.iris.myapplication.MainActivity.trajet, com.example.iris.myapplication.MainActivity.trajetEncours, et com.example.iris.myapplication.MainActivity.trame.

Référencé par com.example.iris.myapplication.MainActivity.onCreate().

    {
        boutonCommunicationTTE.setOnClickListener(
                new View.OnClickListener() {
                    public void onClick(View v) {
                        if (peripherique != null)
                        {
                            if (!(peripherique.estConnecte()))
                            {
                                journaliser("===> Connexion " + peripherique.getNom() + " [" + peripherique.getAdresse() + "]");
                            }
                            else
                            {
                                journaliser("===> Deconnexion " + peripherique.getNom() + " [" + peripherique.getAdresse() + "]");
                            }
                            if(peripherique.estConnecte())
                            {
                                if(trajetEncours)
                                {
                                    // Arrêt
                                    trajet.arreterTrajet();
                                    trajetEncours = trajet.getEtatTrajet();
                                    journaliser("===> Arrêt du trajet");
                                    boutonTrajet.setBackgroundResource(R.drawable.trajetoff);
                                }
                                peripherique.deconnecter(true);
                                boutonTrajet.setEnabled(false);

                            }
                            else
                            {
                                peripherique.connecter();
                                boutonTrajet.setEnabled(true);
                            }
                        }
                    }
                }
        );
        boutonTrajet.setOnClickListener(
                new View.OnClickListener() {
                    public void onClick(View v) {
                        if(trajetEncours)
                        {
                            // Arrêt
                            trajet.arreterTrajet();
                            trajetEncours = trajet.getEtatTrajet();
                            journaliser("===> Arrêt du trajet");
                            boutonTrajet.setBackgroundResource(R.drawable.trajetoff);
                        }
                        else
                        {
                            // Départ
                            journaliser("===> Démarrage du trajet");
                            trajet = new Trajet(trame.getChargeBatterie(),trame.getDistanceParcourue());
                            trajet.demarrerTrajet();
                            trajetEncours = trajet.getEtatTrajet();
                            boutonTrajet.setBackgroundResource(R.drawable.trajeton);
                        }
                    }
                }
        );
    }
static String com.example.iris.myapplication.MainActivity.getApplicationName ( Context  context) [static]
    {
        int stringId = context.getApplicationInfo().labelRes;
        return context.getString(stringId);
    }

Références com.example.iris.myapplication.PeripheriqueBluetooth.getAdresse(), com.example.iris.myapplication.MainActivity.peripherique, et com.example.iris.myapplication.MainActivity.peripheriques.

    {
        PeripheriqueBluetooth peripherique;

        for(int i = 0; i < peripheriques.size(); i++)
        {
            peripherique = peripheriques.get(i);
            if(peripherique.getAdresse() == adresse)
                return i;
        }
        return -1;
    }

Références com.example.iris.myapplication.MainActivity.affichageChargeBatterie, com.example.iris.myapplication.MainActivity.affichageConsommationTrajet, com.example.iris.myapplication.MainActivity.affichageDistanceParcourue, com.example.iris.myapplication.MainActivity.affichageDistanceParcourueTrajet, com.example.iris.myapplication.MainActivity.affichageVitesse, com.example.iris.myapplication.MainActivity.affichageVitesseMoyenneTrajet, com.example.iris.myapplication.MainActivity.boutonCommunicationTTE, com.example.iris.myapplication.MainActivity.boutonTrajet, com.example.iris.myapplication.MainActivity.journal, com.example.iris.myapplication.MainActivity.mListLog, com.example.iris.myapplication.MainActivity.mListView, et com.example.iris.myapplication.MainActivity.spinnerListePeripheriques.

Référencé par com.example.iris.myapplication.MainActivity.onCreate().

    {
        setContentView(R.layout.activity_main_ihm);

        // Initialisation des ressources
        mListView = (ListView) findViewById(R.id.listview);
        boutonCommunicationTTE = (Button) findViewById(R.id.boutoncommunication);
        boutonTrajet = (Button) findViewById(R.id.boutontrajet);
        spinnerListePeripheriques = (Spinner) findViewById(R.id.spinnerListeAppareils);
        spinnerListePeripheriques.setContentDescription("La liste des périphériques");
        affichageDistanceParcourue = (TextView) findViewById(R.id.affichageDistanceParcourue);
        affichageChargeBatterie = (TextView) findViewById(R.id.affichageChargeBatterie);
        affichageVitesse = (TextView) findViewById(R.id.affichageVitesse);
        affichageDistanceParcourueTrajet = (TextView) findViewById(R.id.affichageDistanceParcourueTrajet);
        affichageConsommationTrajet = (TextView) findViewById(R.id.affichageChargeBatterieTrajet);
        affichageVitesseMoyenneTrajet = (TextView) findViewById(R.id.affichageVitesseTrajet);
        mListLog = new ArrayList<>();
        journal = new ArrayAdapter<>(this, R.layout.item, mListLog);
        mListView.setAdapter(journal);
    }

Références com.example.iris.myapplication.MainActivity.mCompassOverlay, com.example.iris.myapplication.MainActivity.mRotationGestureOverlay, com.example.iris.myapplication.MainActivity.myLocationOverlay, com.example.iris.myapplication.MainActivity.myOpenMapView, com.example.iris.myapplication.MainActivity.myScaleBarOverlay, com.example.iris.myapplication.MainActivity.TAG, et com.example.iris.myapplication.MainActivity.traceTrajet.

Référencé par com.example.iris.myapplication.MainActivity.onCreate().

    {
        myOpenMapView = (MapView)findViewById(R.id.carte);
        myOpenMapView.setBuiltInZoomControls(true);
        myOpenMapView.setClickable(true);
        myOpenMapView.getController().setZoom(18);

        myScaleBarOverlay = new ScaleBarOverlay(myOpenMapView);
        myOpenMapView.getOverlays().add(myScaleBarOverlay);

        mCompassOverlay = new CompassOverlay(getApplicationContext(), new InternalCompassOrientationProvider(getApplicationContext()), myOpenMapView);
        mCompassOverlay.enableCompass();
        myOpenMapView.getOverlays().add(mCompassOverlay);

        mRotationGestureOverlay = new RotationGestureOverlay(getApplicationContext(), myOpenMapView);
        mRotationGestureOverlay.setEnabled(true);
        myOpenMapView.setMultiTouchControls(true);
        myOpenMapView.getOverlays().add(this.mRotationGestureOverlay);

        myLocationOverlay = new DirectedLocationOverlay(this);
        myLocationOverlay.setEnabled(false);
        myOpenMapView.getOverlays().add(myLocationOverlay);

        traceTrajet = new ArrayList<GeoPoint>();

        Log.d(TAG, "Carte initialisée"); // d = debug
    }

Références com.example.iris.myapplication.MainActivity.ecouteurGPS, com.example.iris.myapplication.MainActivity.fournisseur, com.example.iris.myapplication.MainActivity.geocoder, com.example.iris.myapplication.MainActivity.locationManager, et com.example.iris.myapplication.MainActivity.TAG.

Référencé par com.example.iris.myapplication.MainActivity.onCreate().

    {
        if (locationManager == null)
        {

            geocoder = new Geocoder(this, Locale.getDefault());
            locationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE);
            Criteria criteres = new Criteria();

            // la précision  : (ACCURACY_FINE pour une haute précision ou ACCURACY_COARSE pour une moins bonne précision)
            criteres.setAccuracy(Criteria.ACCURACY_FINE);

            // l'altitude
            criteres.setAltitudeRequired(true);

            // la direction
            criteres.setBearingRequired(true);

            // la vitesse
            criteres.setSpeedRequired(true);

            // la consommation d'énergie demandée
            criteres.setCostAllowed(true);
            criteres.setPowerRequirement(Criteria.POWER_MEDIUM);

            fournisseur = locationManager.getBestProvider(criteres, true);
            Log.d(TAG, "Fournisseur : " + fournisseur);
        }

        if (fournisseur != null)
        {
            // dernière position connue
            if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED)
            {
                Log.d(TAG, "<GPS> no permissions !");
                return;
            }

            Location localisation = locationManager.getLastKnownLocation(fournisseur);
            if(localisation != null)
            {
                // on notifie la localisation
                ecouteurGPS.onLocationChanged(localisation);
            }

            // on configure la mise à jour automatique : au moins 1 mètres et 5 secondes
            locationManager.requestLocationUpdates(fournisseur, 5000, 1, ecouteurGPS);
        }
    }
com::example::iris::myapplication.MainActivity::onActivityResult ( int  requestCode,
int  resultCode,
Intent  data 
) [protected]
Paramètres:
resultCode
requestCode
data

Références com.example.iris.myapplication.MainActivity.REQUEST_CODE_ENABLE_BLUETOOTH.

    {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode != REQUEST_CODE_ENABLE_BLUETOOTH)
            return;
        if (resultCode == RESULT_OK)
        {
            Toast.makeText(getApplicationContext(), "Bluetooth activé", Toast.LENGTH_SHORT).show();
        }
        else
        {
            Toast.makeText(getApplicationContext(), "Bluetooth non activé !", Toast.LENGTH_SHORT).show();
        }
    }
com::example::iris::myapplication.MainActivity::onCreate ( Bundle  savedInstanceState) [protected]
    {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
    {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings)
        {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

Références com.example.iris.myapplication.MainActivity.afficherDonneesTTE().

    {
        super.onResume();
        //Log.d(TAG, "onResume()");
        afficherDonneesTTE(false);
    }
Paramètres:
position

Références com.example.iris.myapplication.MainActivity.boutonCommunicationTTE, com.example.iris.myapplication.PeripheriqueBluetooth.estConnecte(), com.example.iris.myapplication.PeripheriqueBluetooth.getAdresse(), com.example.iris.myapplication.PeripheriqueBluetooth.getNom(), com.example.iris.myapplication.MainActivity.journaliser(), com.example.iris.myapplication.MainActivity.peripherique, et com.example.iris.myapplication.MainActivity.peripheriques.

Référencé par com.example.iris.myapplication.MainActivity.activerBluetooth().

    {
        PeripheriqueBluetooth peripherique = peripheriques.get(position);

        if(peripherique.estConnecte())
        {
            boutonCommunicationTTE.setBackgroundResource(R.drawable.tteon);
            journaliser("===> Périphérique sélectionné " + peripherique.getNom() + " [" + peripherique.getAdresse() + "] : connecté");
        }
        else
        {
            boutonCommunicationTTE.setBackgroundResource(R.drawable.tteoff);
            journaliser("===> Périphérique sélectionné " + peripherique.getNom() + " [" + peripherique.getAdresse() + "] : déconnecté");
        }
    }

Documentation des données membres

Valeur initiale :
 new BroadcastReceiver()
    {
        public void onReceive(Context context, Intent intent)
        {
            String action = intent.getAction();
            if (BluetoothDevice.ACTION_FOUND.equals(action))
            {
                BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                Toast.makeText(getApplicationContext(), "Nouveau périphérique : " + device.getName(), Toast.LENGTH_SHORT).show();
            }
            bluetoothAdapter.startDiscovery();
        }
    }

Référencé par com.example.iris.myapplication.MainActivity.arreterBluetooth().

final String com.example.iris.myapplication.MainActivity.TAG = "<TEC 2018>" [static, private]

La documentation de cette classe a été générée à partir du fichier suivant :
 Tout Classes Fichiers Fonctions Variables