Parcels and inheritance in Android

To pass information between Activities and save states during the application lifecycle, Android uses Parcel objects. Like Serializable in Java, the Parcelable interface offers a marshalling mechanism to represent and transfer object instances as bytes. In this post I will present some of the differences between Parcels and Serializable, then explain how to implement the Parcelable interface correctly, in particular in a hierarchy of inherited classes.

Read more

A try-with-resources equivalent for Java 6 and Android

In Java core libraries, resources such as network, files and databases can be accessed through a large range of low-level interfaces which all require to explicitly handle exceptions and release resources properly. As a consequence, writing such code is arguably more error-prone than in languages with high-level resource access methods, and it is actually quite common to find bugs related to flawed resource management in Java codebases.

To tackle this issue, Java 7 offers higher-level methods to access files in the java.nio.file package, but also a new try-with-resources language construct to automatically release resources, even when errors occur. Unfortunately, these new features are not available for all and some projects are still stuck with Java 6. In Android, support for try-with-resources was added in SDK 19 (Android 4.4), therefore apps compatible with earlier versions of the system cannot use it.

In this article I will show why properly releasing resources can get tricky in the presence of errors, show Java 7’s try-with-resources solution, then explain how it is mostly syntactic sugar for some Java 6 code. The takeaway is a general-purpose code snippet to start from and simplify, in order to get resource management right everytime, even in old Java environments.

Read more

Par définition, vous avez tort

Ne prenez pas ce texte pour ce qu’il n’est pas. Il ne s’agit pas d’un traité de philosophie. Il ne s’agit pas d’un essai de linguistique. Il ne s’agit pas d’un exposé sur la logique fondamentale. N’y voyez pas une accusation, une critique ou un règlement de comptes. Bien fidèle au thème de ce blog, je considère cet article comme un résumé construit et détaillé de ce qui me passe par la tête en ce moment. Je ne prétends pas détenir la vérité – comme vous le comprendrez bientôt, je pense même que cette notion n’existe pas – mais je vais défendre mon point de vue avec vigueur. J’espère sincèrement que vous ne serez pas d’accord et que j’oublierai assez de choses pour que vous ayez de quoi me contredire. Ne vous privez pas, je répondrai à tout, dans la mesure du possible.

Read more

La prépa, entre math et réalité

Publié la première fois le 8 juillet 2012, un an après la fin de mon cursus en CPGE.

Je me rappelle encore cette discussion avec un ami, devant la porte de la prépa dans laquelle nous allions tous les deux passer les prochaines années de notre scolarité, lui, en CPEC et moi en MPSI : on se disait que ça risquait d’être dur, qu’il faudrait se mettre à bosser et qu’on en reparlerait deux ans plus tard une fois que tout ça serait passé. Eh bien voilà Guillaume, on l’a fait ! Et en regardant en arrière, je n’ai que peu de regrets, beaucoup de très bons souvenirs, et surtout l’agréable sentiment d’avoir accompli quelque chose.

Avant d’aller plus loin, j’aimerais préciser que j’ai bien conscience que tous les étudiants étant passés par la prépa n’en ont pas un vécu identique au mien et, pour avoir parlé avec certains d’entre eux, je sais que nos expériences peuvent même être extrêmement différentes. Ce qui suit ne correspond qu’à mon vécu personnel et n’engage que moi.

Read more

L'enseignement secondaire en France, spirale de la médiocrité ?

Publié la première fois le 25 juin 2009, à la fin de ma scolarité dans l’enseignement secondaire français, sous le titre ambigu “L’Éducation Nationale, spirale de la médiocrité ?”.

En sept ans, j’ai traversé, comme une majorité de bacheliers, quatre ans de collège et trois de lycée. Sept ans dans l’enseignement secondaire de la République, et il faut l’avouer, sept ans à observer, plus ou moins passivement, l’incompétence d’un système idéaliste. Ses symptômes ? Irréalisme, inefficacité, paresse, hypocrisie.

Read more