Affichage des articles dont le libellé est java. Afficher tous les articles
Affichage des articles dont le libellé est java. Afficher tous les articles

samedi 19 mars 2011

Le serveur HTTP réponds-t-il ?

Concernant le protocole HTTP et si vous programmez des applications avec les APIs Apache(tm), par exemple en développant des applications Androïd, une recette simple et souvent à utiliser est :
Comment faire pour savoir si le serveur HTTP retourne un code réponse 200 (OK) , ou au contraire une réponse KO (exemple : erreur bien connue 404).

Voici un exemple de code qui permet de constater la réponse du serveur HTTP :


Exemple issu d'un code java Androïd














Le code ci-dessus utilise les APIs Apache(tm) : org.apache.http.HttpEntity;

dimanche 20 février 2011

Développement Androïd - le réseau est-il actif ?

Sur un mobile ou une tablette Androïd il est courant d’accéder à des services en réseau.

La plupart du temps votre mobile est connecté soit au 3G, soit au WIFI. Il arrive néanmoins que votre mobile perde le réseau : dans ce cas il est utile de tester la présence de votre réseau, sous peine d'erreur.

Voici un petit code utile qui vous permet de tester l'état de votre mobile en terme de connexion à un réseau.


public class NetworkTest1 extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
      
        // Accèder au service de connectivité
        String service = this.CONNECTIVITY_SERVICE;
        Log.v( "LTM", service );
        ConnectivityManager connectivity = (ConnectivityManager)getSystemService( service );
        //boolean b = connectivity.getBackgroundDataSetting();
      
        NetworkInfo activeNetwork = connectivity.getActiveNetworkInfo();
        if( activeNetwork == null ){
         Toast.makeText( this, "Le réseau n'est pas actif", Toast.LENGTH_LONG ).show();
        }else {
         int type = activeNetwork.getType();
         Toast.makeText( this, "type = " + type, Toast.LENGTH_LONG ).show();
        }
      
        // Spécifier que le réseau en question est de type WIFI
        int network = ConnectivityManager.TYPE_WIFI;
        NetworkInfo mobileNetwork = connectivity.getNetworkInfo(network);
      
        // Ici on obtient l'état : CONNECTED, DISCONNECTED, etc.
        NetworkInfo.State state = mobileNetwork.getState();
        NetworkInfo.DetailedState d_state = mobileNetwork.getDetailedState();
      
        // On affiche l'état du réseau dans un Toast !
        Toast.makeText( this, state.name(), Toast.LENGTH_LONG ).show();
    }
}

mercredi 5 janvier 2011

Androïd OS et SDK Androïd

Androïd est le système d'exploitation pour mobiles de Google.

Les smart phones tel que certains Samsung (Galaxy) ou les tablettes telles que : Archos ou la Galaxy Tab de Samsung fonctionnent à base de ce système.

Le modèle de l'OS proposé par Google est particulièrement judicieux et novateur.















Le modèle de l'OS est basé sur un noyau Linux sur lequel fonctionne une machine virtuelle assez novatrice appelée Dalvik.

Le développeur d'applications Androïd est isolé des processus Linux et manipule des composants de plus haut niveau appelés : Activity, services, application, broadcast receivers, intents, ContentProvider, etc. (voir le slide ci-avant).

Le modèle de programmation est disponible en Java (SDK Androïd) et en C (NDK).

Eclipse ADP est disponibles en bundle avec tout ce qu'il faut pour développer en java.

Le portail pour les développeurs c'est ici.

Le modèle de programmation et les concepts de l'architecture sont particulièrement bien expliqués ici.

J'anime désormais un cours sur le développement Androïd, le programme de ce cours c'est ici.

mardi 14 décembre 2010

SDK chez Facebook

Un SDK est disponible chez Facebook pour développer autour de du réseau social bien connu.

Ces fonctions vous permettront de :
1. Accéder aux données de la base FaceBook (Graph API)
2. Des APIs d’authentification
3. Création de plugins Facebook intégrables sur le serveur FaceBook
4. L'"Open graph protocol" qui vous permettra d'intégrer vos propres pages dans le réseau social

Les APis permettent également d'utiliser un langage de "query" sur les données le : FQL (Facebook query langage).

Il existe un SDK dans chacun des langages suivants :
- PHP
- Javascript
- Python
- iPhone / iPap
- Androïd (kit de dev. mobile)

Ci-dessous les sources en java d'une activité Androïd (les activités sont des applications Androïd) :


Des exemples sont également fournis dans le SDK Facebook pour comprendre comment développer dans le monde Facebook : http://developers.facebook.com/docs/samples

Un cahier de bonnes pratiques existe aussi : http://developers.facebook.com/docs/best-practices

Bon amusement,

jeudi 29 avril 2010

Source Monitor

Source Monitor est un utilitaire qui analyse vos sources C++, java, C#, HTML, VB etc. et qui vous donne des métrics sur :
- La complexité des méthodes
- Profondeur d'appel des méthodes
- % de branches
- % de commentaires, etc.

Il existe la possibilité de créer ses profils.

Il est gratuit.

C'est ici que ça se passe.


jeudi 19 février 2009

Cours Optimisation d'applications

Un nouveau cours est disponible : Optimisation d'applications (objets)

Le présent cours représente une somme d’expériences vécues par moi-même et par mes collègues de travail sur les dix dernières années. Il y a certains concepts connus, d’autres moins, l’originalité vient sans doute de la pluralité des informations et des conseils dispensés ici.

Nous avons depuis les années 90 vécus pas mal d’aventures logicielles et un peu à l’instar des design patterns : pour un problème qui revient souvent il existe une ou plusieurs solutions qui conviennent.

Le but n’est sans doute pas de « ré inventer la roue » mais de puiser dans cette mine d’expérience creusée par tant de développeurs depuis tant d’années.

Le présent document représente sans doute une bonne synthèse des expériences d’optimisation rencontrées.

Vous remarquerez très vite que j’utilise ici plusieurs langages simultanément même si on peut considérer aujourd’hui une vraie différence entre les codes natifs et les codes « managés » (Java et Dot Net).

On constate très souvent que la plupart des optimisations seront minimales et partielles si elles ne sont pas résolues en amont dans la phase de modélisation.

Je remercie particulièrement les clients qui au travers des années m’ont « ouvert les yeux » sur bien des sujets. L’expérience se partage et nous permet d’avancer tous et de progresser.


Voici le programme :

1. Methodologie d'optimisation
2. Comprendre le système (processeur et OS)
3. Comprendre l'objet et ses règles
4. Eviter la création des objets
5. Les caches de ressources
6. Les instances virtuelles
7. Les caches de calcul
8. La programmation parallèle
9. Choisir les bonnes bibliothèques
10. Les réglages
11. Les trucs purement C++
12. Divers

Dans ce cours nous utilisons : UML, C++, Java et C# et de nombreux outils de monitoring.

Pour tous renseignements : bl@ltm.fr

mardi 17 juin 2008

Netbeans 6.1

A ce jour Netbeans avec sa version 6.1 permet un développement en java plus intégré que l'IDE le plus connu du marché : Eclipse(tm).


NetBeans 6.1 permet de créer des applications java de tous types, notamment :

- Des applications java avec les SWING grâce à un générateur de code permettant la génération des IHM (interface homme machine) en temps réel.

- Des applications en java pour téléphone portable au format CDC ou MDIP. La génération des écrans du téléphone se fait graphiquement et l'outil dispose d'un émulateur de téléphone intégré.

- Des applications java type Servlets, JSP et/ou Java Faces et ce en permettant la génération des IHM Web graphiquement et automatiquement.

- Propose un serveur embarqué type 'Tomcat' ou 'Glassfish' (serveur proposé par SUN(tm)).

A découvrir absolument, cet outil rivalise nettement avec Visual Studio de Microsoft (dans le même style et pour la plateforme DOT Net).

Tout ceci est 'free' et en ligne ...

Une seule adresse : http://www.netbeans.org/