IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

xamarin android et binding de librairire java


Sujet :

Android

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Points : 21
    Points
    21
    Par défaut xamarin android et binding de librairire java
    bonjour à tous,

    je débute le developpement mobile android mais avec xamarin (visual studio 2015 c#).

    Je sais que je suis dans le forum java mais je me dis que peut etre certains d'entre vous pourraient me guider dans mon probleme

    Je dois tester le scanner du telephone honeywell dolphin ct 50.
    Pour ce faire, j'ai d'abord ete chercher les sources sur le site de honeywell afin d'avoir les exemples et la librairie (*.jar)
    Ensuite, j'ai cree un projet blank ds xamarin et un projet binding librairie.
    J'ai ajouté le jar en tant que resources embedded quand je compile je n'ai aucune erreur.

    J'ai ensuite ajouté la dll de la librairie (projet binding) a mon projet blank.
    Et si j'ajoute le namespace dans mon projet Com.honeyWell ... ca compile aussi
    Jusqu'ici tout fonctionne .

    Ou cela se complique c'est dans les exemples fournit par honeywell pour faire fonctionner le scanner.
    voici le code qu'il donne comme exemple en java:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
     
    package com.honeywell.barcodeexample;
     
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Intent;
    import android.content.pm.ActivityInfo;
    import android.view.Menu;
    import android.view.View;
    import android.widget.Button;
     
    import com.honeywell.aidc.AidcManager;
    import com.honeywell.aidc.AidcManager.CreatedCallback;
    import com.honeywell.aidc.BarcodeReader;
     
    public class MainActivity extends Activity {
     
        private static BarcodeReader barcodeReader;
        private AidcManager manager;
     
        private Button btnAutomaticBarcode;
        private Button btnClientBarcode;
        private Button btnScannerSelectBarcode;
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
     
            // create the AidcManager providing a Context and a
            // CreatedCallback implementation.
            AidcManager.create(this, new CreatedCallback() {
     
                @Override
                public void onCreated(AidcManager aidcManager) {
                    manager = aidcManager;
                    barcodeReader = manager.createBarcodeReader();
                }
            });
     
            ActivitySetting();
        }
    Mon souci est le suivant, je n'arrive pas à convertir ce code java en c# !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
     // create the AidcManager providing a Context and a
            // CreatedCallback implementation.
            AidcManager.create(this, new CreatedCallback() {
     
                @Override
                public void onCreated(AidcManager aidcManager) {
                    manager = aidcManager;
                    barcodeReader = manager.createBarcodeReader();
                }
            });
    J'ai bien compris que le this c'etait le context mais pour le new createdCallBack la je bloque ...
    Je n'ai pas de createdCallBack j'ai un ICreateCallBack une interface donc que j'ai implemente dans une classe que j'ai appelee BarcodeService
    J'ai implemente la méthode OnCreated comme ci dessus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public void OnCreated(AidcManager aidcManager)
            {
                //
                MainActivity.manager = aidcManager;
                MainActivity.reader = MainActivity.manager.CreateBarcodeReader();
    Mais quand je lance le tout j'ai cette erreur :

    Java.Lang.IllegalArgumentException: The parameters cannot be null.

    bon, voilà sait on jamais si des personnes ont converti des projets java vers c# je me dis qu'il pourrait m'aiguiller ...

    Je vous remercie et vous souhaite une bonne journée
    christophe

  2. #2
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    bonjour,

    Une idée sur mon problème ?

    merci et bonne journée

  3. #3
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Je n'ai pas vraiment fait ça, mais tu n'as plus d'info sur ton erreur ?

    Manifestement, la variable aidcManager est null lorsque tu es dans ton onCreated.
    As-tu bien fait un callback ?
    De ce que je comprends du code, la création du manager se fait en asynchrone, et il est informe un callback quand il a fini. Tu dois faire de même côté C#.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    il faut que tu crées une classe qui hérite de la classe dans laquelle une méthode est surchargée

    Ou alors faire en sorte que ta classe de base implémente une interface...

    C'est un peu le même principe que quand on implémente un BroadcastReceiver !!!

    Après, juste pour info, chez la concurrence (je travaille chez un intégrateur, pas chez Zebra), Zebra, en l'occurence, ils ont mis en place un EMDK qui permet de piloter
    le scanner directement en .Net sans avoir besoin de faire du binding
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/10/2014, 11h12
  2. Application Android communiquant avec un projet Java
    Par CoralieAntoine dans le forum Android
    Réponses: 4
    Dernier message: 04/02/2013, 15h49
  3. pourquoi Android est dans la rubrique java ?
    Par Aquaa dans le forum Android
    Réponses: 2
    Dernier message: 09/02/2010, 21h53
  4. Réponses: 6
    Dernier message: 04/07/2008, 18h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo