Skip to content

Instantly share code, notes, and snippets.

View asolisf's full-sized avatar
🎯
Focusing on Kotlin

Alan Solis Flores asolisf

🎯
Focusing on Kotlin
View GitHub Profile
@asolisf
asolisf / Person.java
Created August 7, 2019 17:55
MVP Android example
package com.alansolisflores.mvp.models;
public class Person {
private String firstName;
private String lastName;
public Person(String firstName, String lastName) {
this.firstName = firstName;
@asolisf
asolisf / ListActivity.java
Created August 7, 2019 20:20
ViewHolder pattern in Android
package com.alansolisflores.listviewgridview;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
@asolisf
asolisf / MainPage.xaml
Created August 19, 2019 17:16
Resource dictionary in Xamarin forms
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:ResourceManager"
x:Class="ResourceManager.MainPage">
<StackLayout>
<Label Text="{x:Static local:AppResources.HelloWorld}"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
@asolisf
asolisf / ILoggerService.cs
Last active September 11, 2019 20:56
DI Interface Service
using System;
namespace DependencyInjection.Services.Logger
{
public interface ILoggerService
{
void Error(Exception e);
}
}
@asolisf
asolisf / LoggerService.cs
Created September 11, 2019 20:55
DI Service Implementation
using System;
namespace DependencyInjection.Services.Logger
{
public class LoggerService : ILoggerService
{
public void Error( Exception e )
{
//Do something. Analytics, Tracking, Write LogFile etc.
}
@asolisf
asolisf / IAppInformation.cs
Created September 11, 2019 21:00
DI Native dependency contract
namespace DependencyInjection.Dependencies
{
public interface IAppInformation
{
string Version { get; }
}
}
@asolisf
asolisf / MainViewModel.cs
Last active September 11, 2019 23:48
DI ViewModel constructor injection
public class MainViewModel : INotifyPropertyChanged
{
private string versionName;
public string VersionName
{
get
{
return versionName;
}
private set
@asolisf
asolisf / MainPage.xaml
Created September 11, 2019 21:11
DI Binding from native dependency
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="DependencyInjection.MainPage">
<StackLayout>
<Label Text="{Binding VersionName}"
@asolisf
asolisf / App.cs
Created September 11, 2019 21:12
DI App build dependencies container
public partial class App : Application
{
public static IContainer Container;
public App()
{
InitializeComponent();
MainPage = new MainPage();
}
@asolisf
asolisf / MainPage.cs
Created September 11, 2019 21:14
DI Code Behind Resolve ViewModel instance and his dependencies
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
//Resolve ViewModel instance and his dependencies
BindingContext = App.Container.Resolve(typeof(MainViewModel));
}
}