Saturday, November 8, 2014

Android: The import javax.annotation cannot be resolved


I was trying to compile some code from AOSP (Android Open Source Project), and I ran into this error:

The import javax.annotation cannot be resolved

Caused by this code:

import javax.annotation.concurrent.GuardedBy;
import javax.annotation.concurrent.ThreadSafe;


The solution was actually really easy:
  1. Go here:
    http://mvnrepository.com/artifact/com.google.code.findbugs/jsr305

  2. In the Version column click on the latest version number

  3. Click Download ( JAR )

  4. Copy the downloaded JAR file to the libs folder in your Android project (create the libs folder if it doesn't already exist).

Android: The import javax.annotation cannot be resolved


J'essayais de compiler du code de AOSP (Android Open Source Project), et je suis tombé sur cette erreur :

The import javax.annotation cannot be resolved

Causée par ce code :

import javax.annotation.concurrent.GuardedBy;
import javax.annotation.concurrent.ThreadSafe;


La solution était en fait très simple :
  1. Rendez-vous ici :
    http://mvnrepository.com/artifact/com.google.code.findbugs/jsr305

  2. Dans la colonne Version cliquez sur le dernier numéro de version 

  3. Cliquez sur Download ( JAR )

  4. Copiez le fichier JAR téléchargé au dossier libs dans votre projet Android (créez le dossier libs si elle n'existe pas déjà).

Saturday, November 1, 2014

Using Exchange without Outlook


There are some good alternatives to Microsoft Exchange, for instance Zimbra. If your experience is like mine, however, most places use Exchange. Up until now, there haven't been many good options for using Exchange without Outlook. Support for Exchange calendar integration in particular has been lacking. But now there's a great option for using Exchange without Outlook, and you can set it up in less than 15 minutes:

  1. Install Thunderbird

  2. Install the Lightning calendar extension
    1. Download it from here:
      https://www.mozilla.org/projects/calendar/

    2. To install, open the downloaded .xpi extension file with Thunderbird. If that isn't an option:
      1. Open Thunderbird and go to the Tools menu → Add-ons

      2. Click the button to the left of the Search bar → Install Add-on From File

      3. Browse to the extension file and select it → Open

      4. Click Install Now

      5. Click the Restart Now button near the top right

      6. When Thunderbird reopens, close the Add-ons Manager tab

    3. You can also install it as a package in Debian/Ubuntu/Elementary (I normally prefer to download it to get the latest version):
      sudo apt-get -y install xul-ext-lightning

  3. Install the Exchange EWS Provider extension
    1. Download it from here:
      https://github.com/Ericsson/exchangecalendar/releases

    2. Unzip it

    3. Follow the instructions above for installing the Lightning extension to install the Exchange EWS Provider extension

  4. Set up your Exchange email
    1. If you haven't set up your Exchange email address yet, you can do so by using the following instructions. You may need to get the server addresses (IMAP/POP/SMTP) from your system administrator or IT department:
      https://support.mozilla.org/kb/manual-account-configuration

  5. Set up your Exchange calendar
    1. Open Thunderbird and then open the Calendar tab (Events and Tasks menu → Calendar)

    2. Right-click in the Calendar section in the lower-left side of the screen → New Calendar

    3. Select On the Network → Next

    4. Select Microsoft Exchange 2007/2010/2013 → Next

    5. Give it a name, select your email address, and click Next

    6. Check Use Exchange's autodiscovery function, enter your primary email address, Active Directory username, and Active Directory domain name. Then click Perform autodiscovery

    7. Enter your password when prompted

    8. The EWS server URL should automatically be detected. When it is, click Select

    9. Enter your password again if prompted

    10. You should be brought back to the Create New Calendar dialog. Click Next → Finish

    11. Your calendar should now be populated with your Exchange calendar events

  6. Set up your Exchange address book
    1. In Thunderbird go to the Tools menu → Address Book

    2. Click Add Exchange contact folder

    3. Give it a name

    4. Check Add global address list to search results (otherwise, it will only use your personal address book in Exchange)

    5. Check Use Exchange's autodiscovery function

    6. Enter your primary email address, Active Directory username, and Active Directory domain name, then click Perform autodiscovery

    7. The EWS server URL should automatically be detected. When it is, click Select

    8. You should be brought back to the Exchange Contact Settings dialog. Click Save

    9. Now you can search for a contact in Exchange by selecting Exchange contacts on the left and then using the search box in the upper right. Contacts will also be auto-populated when composing new emails.
There are other options out there for Outlook alternatives. One I tried is DavMail Gateway. Compared to Exchange EWS Provider, however, it used a lot of memory because it ran as a Java application in the background. It also didn't handle calendar events as well; for instance, if a calendar event was moved to a different time, it would show up under the new time as well as the old time.

Utiliser Exchange sans Outlook


Il y a quelques bonnes alternatives à Microsoft Exchange, par exemple Zimbra. Si votre expérience est comme la mienne, cependant, la plupart des entreprises utilisent Exchange. Jusqu'à présent, il n'y a pas eu beaucoup de bonnes options pour utiliser Exchange sans Outlook. Le support pour l'intégration des agendas d'Exchange en particulier a fait défaut. Mais maintenant il y a une excellente option pour utiliser Exchange sans Outlook, et vous pouvez le configurer en moins de 15 minutes :

  1. Installez Thunderbird

  2. Installez l'extension d'agenda Lightning
    1. Téléchargez-le ici :
      https://www.mozilla.org/projects/calendar/

    2. Pour l'installer, ouvrez le fichier d'extension .xpi téléchargé avec Thunderbird. Si ce n'est pas une option :
      1. Ouvrez Thunderbird et allez dans le menu Outils → Modules complémentaires 

      2. Cliquez sur le bouton à gauche de la barre de recherche → Installer un module depuis un ficher

      3. Trouver le fichier d'extension et le sélectionnez → Ouvrir

      4. Cliquez sur Installer

      5. Cliquez sur le bouton Redémarrer maintenant en haut à droite

      6. Lorsque Thunderbird rouvre, fermer l'onglet Gestionnaire de modules complémentaires

    3. Vous pouvez aussi l'installer comme un paquet dans Debian/Ubuntu/Elementary (je préfère normalement à le télécharger pour obtenir la dernière version):
      sudo apt-get -y install xul-ext-lightning

  3. Installez l'extension Exchange EWS Provider
    1. Téléchargez-le ici :
      https://github.com/Ericsson/exchangecalendar/releases

    2. Le décompressez

    3. Suivez les instructions ci-dessuspour l'installation de l'extension Lightning pour installer l'extension Exchange EWS Provider

  4. Configurez votre courriel Exchange
    1. Si vous ne l'avez pas encore mis en place votre courriel Exchange, vous pouvez le faire en suivant les instructions suivantes. Vous devrez peut-être obtenir les adresses de serveur (IMAP/POP/SMTP) de votre administrateur système ou votre département informatique :
      https://support.mozilla.org/kb/manual-account-configuration

  5. Configurez votre agenda Exchange
    1. Ouvrez Thunderbird et puis ouvrez l'onglet Agenda (menu Évènements et tâches  Agenda)

    2. Faites un clic droit dans la section Agendas dans le coin en bas à gauche de l'écran → Nouvel agenda

    3. Sélectionnez Sur le réseauSuivant

    4. Sélectionnez Microsoft Exchange 2007/2010/2013Suivant

    5. Entrez un nom, sélectionnez votre adresse courriel, et cliquez sur Suivant

    6. Cochez Utiliser la fonction de découverte automatique d’Exchange, entrez votre adresse courriel principale, nom d'utilisateur Active Directory, et nom de domaine Active Directory. Puis cliquez sur Lancer la découverte automatique

    7. Entrez votre mot de passe lorsque vous êtes invité

    8. L'URL du serveur EWS doit être détecté automatiquement. Puis cliquez sur Sélection

    9. Entrez de nouveau votre mot de passe si vous êtes invité

    10. Vous devez être ramené à la boîte de dialogue Créer un nouveau agenda. Cliquez sur Suivant → Terminer

    11. Votre agenda doit maintenant être rempli avec les événements d'agenda Exchange 

  6. Configurez votre carnet d'adresses Exchange
    1. Dans Thunderbird allez dans le menu Outils Carnet d’adresses

    2. Cliquez sur Ajouter un ficher de contacts Exchange

    3. Entrez un nom

    4. Cocher Ajouter la liste globale d’adresses aux résultats de recherche (sinon, il ne utiliser que votre carnet d'adresses personnel dans Exchange)

    5. Cocher Utiliser la fonction de découverte automatique d'Exchange

    6. Entrez votre adresse courriel principale, nom d'utilisateur Active Directory, et nom de domaine Active Directory. Puis cliquez sur Lancer la découverte automatique

    7. L'URL du serveur EWS doit être détecté automatiquement. Puis cliquez sur Sélection

    8. Vous devez être ramené à la boîte de dialogue Exchange Contact Settings. Cliquez sur Sauvegarder

    9. Maintenant, vous pouvez rechercher un contact dans Exchange en sélectionnant Exchange contacts sur la gauche, puis en utilisant la boîte de recherche en haut à droite. Les contacts seront également généré automatiquement lors de la composition de nouveaux courriels.
Il y a d'autres options qui existent pour les alternatives Outlook. L'un d'eux que j'ai essayé est DavMail Gateway. Par rapport à Exchange EWS Provider, cependant, il utilise beaucoup de mémoire car il fonctionne comme application Java en arrière-plan. Il n'a pas non plus géré les événements d'agenda bien; par exemple, si un événement d'agenda a été replanifié à un autre moment, il se présenterait sous la nouvelle heure ainsi que l'ancien heure.