logo

Crowdly

TCH057-05 Applications mobiles et expérience usager (H2025)

Looking for TCH057-05 Applications mobiles et expérience usager (H2025) test answers and solutions? Browse our comprehensive collection of verified answers for TCH057-05 Applications mobiles et expérience usager (H2025) at enaquiz.etsmtl.ca.

Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!

Dans quel fichier sont

déclarées les activités d’une application Android?  

0%
100%
0%
0%
View this question

Cochez

tous les éléments qui sont des layouts dans Android

100%
100%
0%
100%
100%
View this question

L'activité suivante effectue un envoi d'un SMS. Elle a besoin de vérifier si l'utilisateur a accordé les permissions nécessaires. Sinon, elle doit les demander.

Voici le code de la classe de l'activité. Complétez-le pour que l'application gère la permission correctement :

public class MainActivity extends AppCompatActivity {

public static final int PERMISSION_ENVOYER_SMS = 100;

@Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(la-ressource-sms);

demanderPermission(); }

public void demanderPermission() {
int resultat =
; if (resultat ==
) {// on peut procéder à l'envoi d'un SMS } else { // il faut demander les permissions
} }

@Override public void
{switch (requestCode) {case PERMISSION_ENVOI_SMS: int resultat =  xxxxxxxxxxxxxxxxxxxxxx; // Même code que dans la méthode demanderPermission() ci-dessus. if (resultat == yyyyyyyyyyyyyyyyyyyyy) { //Même code que dans la méthode demanderPermission() ci-dessus.EnvoyerSMS(); } break; default: super.onRequestPermissionsResult(requestCode, permissions, grantResults); }}}

Merci de répondre à tous les éléments de la question.
View this question

Quels dossiers

contient, par défaut, le dossier « res » d’une application Java

Android ?

100%
100%
100%
100%
0%
100%
100%
View this question

Dans quel fichier

sont définis les informations de construction et de compilation d’une

application Android ?

0%
0%
0%
100%
View this question

Voici une application qui liste toutes les versions Android (Nom, type, API et date de sortie). Le bouton "info" nous affiche la date de sortie.

Cette application est composée de 4 classes Java Android : MainActiviy, VersionAdapter, DataModel et VersionsLocalDAO.

Compléter le code de 3 classes pour que l'application fonctionne correctement
public class VersionAdapter extends ArrayAdapter<DataModel>  {

    private List<DataModel> lesversions;

    private Context contexte;

    private int viewResourceId;

    private Resources ressources;

    public VersionAdapter(@NonNull Context context, int viewResourceId, @NonNull List<DataModel> versions) {

        super(context, viewResourceId, versions);

        this.contexte = context;

        this.viewResourceId = viewResourceId;

        this.ressources =
;

        this.lesversions = versions;

    }

    @Override

    public int getCount() { return this.lesversions.size(); }

    @Override

    public View getView(int position, View convertView, ViewGroup parent) {

        View view = convertView;

        if (view == null) {

            LayoutInflater layoutInflater = (LayoutInflater) contexte.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            view = layoutInflater.inflate(this.viewResourceId, parent, false);

        }

        final DataModel version = this.lesversions.get(position);

        if (version != null) {

            final TextView txtNom = view.findViewById(R.id.nom_id);

            final TextView txtType = view.findViewById(R.id.type_id);

            final TextView txtNum_version = view.findViewById(R.id.num_version_id);

            final ImageView imgInfo = view.findViewById(R.id.version_info);

            txtNom.setText(
) ;

            txtType.setText(
) ;

            txtNum_version.setText(
);

            imgInfo.setTag(position);

            imgInfo.setOnClickListener(new View.OnClickListener() { 

                @Override

                public void
(View v) {

                    int position=(Integer) v.getTag();

                    Object object= getItem(position);

                    DataModel dataModel=(DataModel)object;

                   if (v ==
)

                    {

                        Toast.makeText(v.getContext(), "Date de sortie : " + dataModel.getDate(), Toast.LENGTH_SHORT).show();

                    }

                }

            });

        }

        return view;

    }

}

public class VersionsLocalDao {

    private static VersionsLocalDao instance = null;

    private List<DataModel> versions = null;

    private static VersionAdapter adapter;

    public static VersionsLocalDao getInstance(){

        if( instance == null)

            instance = new VersionsLocalDao();

        return instance;

    }

    public VersionsLocalDao() {

        versions = new ArrayList<>();

        versions.add(new DataModel("Apple Pie", "Android 1.0", "1","September 23, 2008"));

        versions.add(new DataModel("Banana Bread", "Android 1.1", "2","February 9, 2009"));

        // ...

        // ...

        versions.add(new DataModel("Android 14","Upside Down Cake","34","October 4, 2023"));

        versions.add(new DataModel("Android 15", "Vanilla Ice Cream", "V DP2","March 21, 2024"));

    }

    public List<DataModel> getVersions() {

        return versions;

    }

    public DataModel getVersion(int index) {

        if(index >= 0 && index < versions.size())

            return versions.get(index);

        return null;

    }

}

public class DataModel {

    String nom, type, num_version, date;

    public DataModel(String nom, String type, String num_version, String date ) {

        this.nom = nom;

        this.type = type;

        this.num_version = num_version;

        this.date = date;

    }

    public String getNom() { return nom; }

    public String getType() {  return type;  }

    public String getNum_Version() { return num_version; }

    public String getDate() {  return date; }

}
// Fichier XML associé à MainActivity

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 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:id="@+id/main"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity">

    <

        android:id="@+id/lvVersions"

        android:layout_width="match_parent"

        android:layout_height="match_parent"/>

</LinearLayout>
public class MainActivity extends AppCompatActivity {

    ListView listView;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        setTitle("Historique des versions d'Android");

        VersionsLocalDao dao = VersionsLocalDao.
;

        List<DataModel> listeVersions =
;

       
adapter;

        adapter = new VersionAdapter(this, R.layout.version_details, listeVersions);

        listView = findViewById(
);

        listView.
(adapter);

    }

}

Merci de répondre à tous les éléments de la question.
View this question

L'activité suivante effectue un envoi d'un SMS. Elle a besoin de vérifier si l'utilisateur a accordé les permissions nécessaires. Sinon, elle doit les demander.

Voici le code de la classe de l'activité. Complétez-le pour que l'application gère la permission correctement :

public class MainActivity extends AppCompatActivity {

public static final int PERMISSION_ENVOYER_SMS = 100;

@Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(la-ressource-sms);

demanderPermission(); }

public void demanderPermission() {
int resultat =
; if (resultat ==
) {// on peut procéder à l'envoi d'un SMS } else { // il faut demander les permissions
} }

@Override public void
{switch (requestCode) {case PERMISSION_ENVOI_SMS: int resultat =  xxxxxxxxxxxxxxxxxxxxxx; // Même code que dans la méthode demanderPermission() ci-dessus. if (resultat == yyyyyyyyyyyyyyyyyyyyy) { //Même code que dans la méthode demanderPermission() ci-dessus.EnvoyerSMS(); } break; default: super.onRequestPermissionsResult(requestCode, permissions, grantResults); }}}

View this question

Voici une application qui liste toutes les versions Android (Nom, type, API et date de sortie). Le bouton "info" nous affiche la date de sortie.

Cette application est composée de 4 classes Java Android : MainActiviy, VersionAdapter, DataModel et VersionsLocalDAO.

Compléter le code de 3 classes pour que l'application fonctionne correctement
public class VersionAdapter extends ArrayAdapter<DataModel>  {

    private List<DataModel> lesversions;

    private Context contexte;

    private int viewResourceId;

    private Resources ressources;

    public VersionAdapter(@NonNull Context context, int viewResourceId, @NonNull List<DataModel> versions) {

        super(context, viewResourceId, versions);

        this.contexte = context;

        this.viewResourceId = viewResourceId;

        this.ressources =
;

        this.lesversions = versions;

    }

    @Override

    public int getCount() { return this.lesversions.size(); }

    @Override

    public View getView(int position, View convertView, ViewGroup parent) {

        View view = convertView;

        if (view == null) {

            LayoutInflater layoutInflater = (LayoutInflater) contexte.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            view = layoutInflater.inflate(this.viewResourceId, parent, false);

        }

        final DataModel version = this.lesversions.get(position);

        if (version != null) {

            final TextView txtNom = view.findViewById(R.id.nom_id);

            final TextView txtType = view.findViewById(R.id.type_id);

            final TextView txtNum_version = view.findViewById(R.id.num_version_id);

            final ImageView imgInfo = view.findViewById(R.id.version_info);

            txtNom.setText(
) ;

            txtType.setText(
) ;

            txtNum_version.setText(
);

            imgInfo.setTag(position);

            imgInfo.setOnClickListener(new View.OnClickListener() { 

                @Override

                public void
(View v) {

                    int position=(Integer) v.getTag();

                    Object object= getItem(position);

                    DataModel dataModel=(DataModel)object;

                   if (v ==
)

                    {

                        Toast.makeText(v.getContext(), "Date de sortie : " + dataModel.getDate(), Toast.LENGTH_SHORT).show();

                    }

                }

            });

        }

        return view;

    }

}

public class VersionsLocalDao {

    private static VersionsLocalDao instance = null;

    private List<DataModel> versions = null;

    private static VersionAdapter adapter;

    public static VersionsLocalDao getInstance(){

        if( instance == null)

            instance = new VersionsLocalDao();

        return instance;

    }

    public VersionsLocalDao() {

        versions = new ArrayList<>();

        versions.add(new DataModel("Apple Pie", "Android 1.0", "1","September 23, 2008"));

        versions.add(new DataModel("Banana Bread", "Android 1.1", "2","February 9, 2009"));

        // ...

        // ...

        versions.add(new DataModel("Android 14","Upside Down Cake","34","October 4, 2023"));

        versions.add(new DataModel("Android 15", "Vanilla Ice Cream", "V DP2","March 21, 2024"));

    }

    public List<DataModel> getVersions() {

        return versions;

    }

    public DataModel getVersion(int index) {

        if(index >= 0 && index < versions.size())

            return versions.get(index);

        return null;

    }

}

public class DataModel {

    String nom, type, num_version, date;

    public DataModel(String nom, String type, String num_version, String date ) {

        this.nom = nom;

        this.type = type;

        this.num_version = num_version;

        this.date = date;

    }

    public String getNom() { return nom; }

    public String getType() {  return type;  }

    public String getNum_Version() { return num_version; }

    public String getDate() {  return date; }

}
// Fichier XML associé à MainActivity

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 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:id="@+id/main"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity">

    <

        android:id="@+id/lvVersions"

        android:layout_width="match_parent"

        android:layout_height="match_parent"/>

</LinearLayout>
public class MainActivity extends AppCompatActivity {

    ListView listView;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        setTitle("Historique des versions d'Android");

        VersionsLocalDao dao = VersionsLocalDao.
;

        List<DataModel> listeVersions =
;

       
adapter;

        adapter = new VersionAdapter(this, R.layout.version_details, listeVersions);

        listView = findViewById(
);

        listView.
(adapter);

    }

}

View this question

Want instant access to all verified answers on enaquiz.etsmtl.ca?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!