Käyttämällä sekä plugin.ble että mvvmcross.plugin.ble samassa projektissa on teknisesti mahdollista, mutta se ei ehkä ole tehokkain tai suositeltavin lähestymistapa. Tästä syystä:
1. Tarkoitus ja toiminnallisuus:
- plugin.ble on poikkileikkauslaajennus, joka on suunniteltu pääsemään Bluetoothin matalan energian (BLE) toiminnallisuuteen. Se sopii projekteihin, jotka eivät vaadi MVVMCrossin tarjoamia MVVM -arkkitehtuuria tai lisäominaisuuksia.
- MVVMCROSS.Plugin.ble, toisaalta, on erityisesti suunniteltu projekteihin käyttämällä MVVMCross -kehystä. Se integroi BLE -toiminnallisuuden MVVM -arkkitehtuuriin, mikä mahdollistaa riippuvuusinjektion ja muut MVVMCross -ominaisuudet.
2. riippuvuus ja päällekkäisyys:
- mvvmcross.plugin.ble viittaa tosiasiallisesti plugin.ble sisäisesti. Tämä tarkoittaa, että jos käytät mvvmcross.plugin.ble, käytät epäsuorasti myös plugin.blea. Molempien nimenomaisesti käyttäminen voi kuitenkin johtaa tarpeettomaan monimutkaisuuteen ja mahdollisiin konflikteihin.
3. Käyttö ja integraatio:
- Jos projektisi on rakennettu MVVMCrossilla, käyttämällä mvvmcross.plugin.ble on suoraviivaisempi, koska se integroituu hyvin MVVM -kuvioon ja mahdollistaa riippuvuusinjektion. Voit ratkaista IBlueToothLe- ja IAdapter -palvelut käyttämällä MVVMCROSS: n IOC -säilöä.
- Jos haluat yksinkertaisemman, ei-MVVM-lähestymistavan, plugin.ble saattaa olla riittävä. Jos päätät käyttää molempia, varmista, että hallitset heidän tapauksiaan ja toimintoja huolellisesti konfliktien välttämiseksi.
4. Mahdolliset kysymykset:
- Molempien laajennusten käyttäminen voi johtaa sekaannukseen tapausten hallinnassa ja BLE -toiminnan käsittelyssä. Saatat päätyä useisiin sovittimiin tai BLE -palveluihin, jotka voivat aiheuttaa odottamattomia käyttäytymisiä tai virheitä.
5. Suositus:
- Jos projektisi käyttää MVVMCrossia, kiinnitä mvvmcross.plugin.ble johdonmukaisuuden ja integraation helppouden vuoksi.
- Jos projektisi ei käytä MVVMCrossia, plugin.ble on yksinkertaisempi valinta.
- Vältä molempien käyttöä, ellei sinulla ole erityistä vaatimusta, joka edellyttää niiden yhdistettyä käyttöä, ja varmista, että käsittelet niiden integrointia huolellisesti.
Yhteenvetona voidaan todeta, että vaikka samassa projektissa on teknisesti mahdollista käyttää molempia laajennuksia, sitä ei yleensä suositella, ellei sinulla ole pakottavaa syytä tehdä niin. Valinnan tulisi perustua projektisi arkkitehtuuriin ja erityistarpeisiin.
Viittaukset:.
[2] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[3] https://www.nuget.org/packages/mvmcross.plugin.ble/
.
.
[6] https://www.npmjs.com/package/cordova-plugin-bluetoothle
[7] https://github.com/mrozema/xamarin-bluetooth-le
[8] https://community.qlik.com/t5/qlikview-app-dev/multiple-versions-of-similar-data-for-all-tables-in-data-model/td-p/468796
[9] https://stackoverflow.com/questions/38327176/xamarin-forms-Plugins-ble