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 2 months 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 (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T10:21:13.000Z (over 3 years ago)
- Last Synced: 2025-07-25T07:02:50.415Z (11 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: 1
- 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.

* 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