logo

Crowdly

Voici une application qui liste toutes les versions Android (Nom, type, AP...

✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.

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.
More questions like this

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

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