Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/miguebarrera/configxf
Small helper for Xamarin forms
https://github.com/miguebarrera/configxf
configuration configuration-files configuration-management xamarin xamarin-android xamarin-forms xamarin-ios-binding xamarin-library xamarin-plugin
Last synced: about 1 month ago
JSON representation
Small helper for Xamarin forms
- Host: GitHub
- URL: https://github.com/miguebarrera/configxf
- Owner: migueBarrera
- Created: 2020-05-05T14:10:57.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T10:21:13.000Z (about 2 years ago)
- Last Synced: 2024-12-02T09:44:44.172Z (about 2 months ago)
- Topics: configuration, configuration-files, configuration-management, xamarin, xamarin-android, xamarin-forms, xamarin-ios-binding, xamarin-library, xamarin-plugin
- Language: C#
- Homepage:
- Size: 436 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Use a config file for Xamarin Forms
Helper que ayuda a usar un archivo de configuración para tus app Xamarin Forms. Soporta diferentes archivos para Debug y Release.
Tambien puedes usar configuraciones diferentes por plataformas Android, IOS, UWP, etc...===================
ConfigXF for Xamarin.Forms
Install on .Net Standard Library.
## NuGet
* Available on NuGet: [ConfigXF](https://www.nuget.org/packages/ConfigXF/)----------
How use it
-------------* Crea un archivo de configuración en cualquier sitio de tu proyecto compartido.
![Config files](images/configfiles.png)
* Crea una clase con las propiedades que tiene nuestro archivo de configuración. Puedes usar [quicktype](https://quicktype.io/csharp/) o similar
* Inicializa ConfigXF en App.cs
```
ConfigManager.Init(Assembly.GetExecutingAssembly());
```
> - sustituye AppConfig por tu clase creada en el paso anterior
> - puedes pasarle un parametro Newtonsoft.Json.Required para personalizar el comportamiento.
* Usala en cualquier sitio
```
ConfigManager.CurrentConfig.YOURPROPERTY
```## Config files
> - El archivo de configuración por defecto debe llamarse:
> - Debug : Config_Debug.json
> - Release : Config_Release.json
> - Override Config : Config.json Remplaza cualquier archivo de configuración anterior
> - Puedes llamar a Init con un objeto ConfigManagerSettings y configurar diferentes nombres para tus ficheros de configuracion## Different configuration files for each platform
> - En lugar de tener los ficheros de configuración igual para todas las plataformas tu puedes tener diferentes para cada plataforma
> - Solo necesitas pasarle el Assembly del proyecto de la plataforma. Crea un pequeño DependecyService .
```
public interface IAssemblyService
{
Assembly GetPlatformAssembly();
}
```
> - En cada plataforma implementa la interfaz
```
public class AssemblyService : IAssemblyService
{
public Assembly GetPlatformAssembly()
{
return Assembly.GetExecutingAssembly();
}
}
```
> - Usalo al iniciar ConfigXF
```
var platformAsembly = DependencyService.Get().GetPlatformAssembly();ConfigManager.Init(platformAsembly);
```## Más flexibilidad
> - Puedes configurar más parametros usando ConfigManagerSettings
```
var platformAsembly = DependencyService.Get().GetPlatformAssembly();ConfigManager.Init(
new ConfigManagerSettings()
{
Assembly = platformAsembly,
Required = Newtonsoft.Json.Required.Always,
DebugFile = "Config_Debug.json",
ReleaseFile = "MyReleaseFile.json",
MasterFile = "MyMasterFile.json",
});
```# Contributing
Este proyecto acepta cualquier tipo de aporte de todos los usuarios. Solo tienes que hacer tu Pull Request.O también puedes contribuir ayudandome con un coffee