Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt
No Result
View All Result
Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt
Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
No Result
View All Result
Home Programmation Android

Développement multiplateforme mobile et Web avec C ++ expliqué

16 mai 2020
in Android
Reading Time: 6 mins read

Table des matières

ArticlesA lire

Revue Atomicrops – SUPERJUMP – Moyen

Revue Atomicrops – SUPERJUMP – Moyen

Un moyen super facile de faire des validations EditText dans Android

Messagerie cloud Firebase – Satya Pavan Kantamani

Messagerie cloud Firebase – Satya Pavan Kantamani

Génération de DeepLinks au moment de la compilation Android

Génération de DeepLinks au moment de la compilation Android

Développement multiplateforme mobile et Web avec C ++ expliqué

Partie 2: Passer des objets d’avant en arrière

Stéphane Konstantaropoulos

Le modèle de données doit être défini dans Djinni, cela créera les définitions C ++ et Java. Nous devrons ensuite créer manuellement les liaisons Javascript.

user = record {
login: string;
id: i32;
avatar_url: string;
gravatar_id: optional;
...
created_at: date;
updated_at: date;
}

repo = record {
id: i32;
...
}

emscripten::class_("User")
.property("login", &User::login)
.property("id", &User::id)
...
.property("updated_at", &User::updated_at);

emscripten::class_("Repo")
.property("id", &Repo::id)
..
.property("pushed_at", &Repo::pushed_at);

emscripten::val toJsDate(std::chrono::system_clock::time_point timePoint) {
return emscripten::val(
(long) (std::chrono::duration_cast(timePoint.time_since_epoch())).count());
}
emscripten::class_("TimePoint")
.function("sec", &toJsDate);

La prochaine chose dont nous avons besoin est d’interfaces pour accéder et manipuler ces modèles de données.

xptuto = interface +c {
static make_instance() : xptuto;
get_users() : list;
get_repos_for_user(u: user) : list;
}
class XptutoImpl : public xptuto::Xptuto {

std::vector get_users() override;

std::vector get_repos_for_user(const xptuto::User & u) override;

};

std::shared_ptr xptuto::Xptuto::make_instance() {
return std::make_shared();
}
emscripten::class_("Xptuto")
.smart_ptr>("Xptuto")
.class_function("make_instance", &Xptuto::make_instance)
.function("get_users", &Xptuto::get_users)
.function("get_repos_for_user", &Xptuto::get_repos_for_user);

Dans Xcode, compiler et exécuter, nous avons ajouté un petit extrait dans ViewController.mm

- (void)viewDidLoad {
[super viewDidLoad];
auto x = Xptuto::make_instance();
for (const auto &user : x->get_users()) {
NSLog(@"Got user with name: %s", user.name.c_str());
}
}
@Override
protected void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Xptuto x = Xptuto.makeInstance();
for (User u : x.getUsers()) {
Log.d("XP", "Got a user with name: " + u.name);
}
}

var Module = {
onRuntimeInitialized: function() {
var x = Module.Xptuto.make_instance();
var users = x.get_users();
for (var i = 0; i < users.size(); i++) {
console.log('Got a user with name: ' + users.get(i).name);
}
}
};
ShareTweetPin

Related Posts

Revue Atomicrops – SUPERJUMP – Moyen
Android

Revue Atomicrops – SUPERJUMP – Moyen

Revue Atomicrops - SUPERJUMP - Moyen L'agriculture est destinée à compléter l'action, et non l'inverse.

Android

Un moyen super facile de faire des validations EditText dans Android

Un moyen super facile de faire des validations EditText dans Android Ici, nous obtenons le TextInputLayout de TextInputEditText en utilisant...

Messagerie cloud Firebase – Satya Pavan Kantamani
Android

Messagerie cloud Firebase – Satya Pavan Kantamani

Messagerie cloud Firebase - Satya Pavan Kantamani Explorez Firebase Cloud Messaging (FCM), une solution de messagerie cloud multiplateforme qui vous...

Génération de DeepLinks au moment de la compilation Android
Android

Génération de DeepLinks au moment de la compilation Android

Génération de DeepLinks au moment de la compilation Android Les liens profonds sont des aspects importants de l'application qui rendent...

Next Post
Il est temps de changer de porte… – The Startup

Il est temps de changer de porte… - The Startup

Surveillance en temps réel de la consommation d’électricité

Surveillance en temps réel de la consommation d'électricité

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

  • Accueil
  • Questions & Réponses
  • Science
  • Astuces
  • Business
  • Cryptomonnaie
  • Design
  • Marketing
  • Programmation
  • Politique de confidentialité
  • A propos
  • Contact

© 2018-2020 SupportIVY - Premium Magazine.

No Result
View All Result
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt