Biblioteca-ButterKnife-para-Android

ButterKnife, Sencillo y imprescindible para Android

Si has desarrollado o estas desarrollando una aplicación en Android, Debes estar muy familiarizado con esto:

TextView textView = (TextView) findViewById(R.id.text_view);

Esto es demasiado tedioso, peor aun si vienes de desarrollo de aplicaciones Windows con .NET.

Aunque felizmente aparir de API 26 o posterior ya no es necesario hacer el Cast

TextView textView = findViewById(R.id.text_view);

Esto se debe a que el tipo de resultado se infiere del objeto asignado. Muy elegante ¿verdad? ¿Pero quieres dar un paso más?

ButterKnife es probablemente la biblioteca que no te debes perder.

Añade a tu proyecto

dependencies {
    ...
    compile 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}

El uso es muy sencillo, Simplemente tenemos que declarar nuestras vistas como siempre lo hacemos pero antes debemos agregar la anotación @BindView

Adicionalmente en el método onCreate() debemos incluir la sentencia ButterKnife.bind(this) quedaría como el siguiente :

class ExampleActivity extends Activity {
  @BindView(R.id.title) 
  TextView title;

  @Override 
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.simple_activity);
    ButterKnife.bind(this);
  }
  @OnClick(R.id.submit)
  public void doSomething() { }
}

Cuál es la magia detrás de esta librería ?

Como trabaja ?

ButterKnife auntogenera un clase auxiliar con el nombre de la clase actual. En nuestro ejemplo es ExampleActivity$$ViewBinder que tiene el mismo nombre de paquete pero debajo de la carpeta de compilación.

La clase auxiliar quedaría algo como este:

public class ExampleActivity$$ViewBinder<T extends ExampleActivity> implements ViewBinder<T> {
  @Override 
  public void bind(final Finder finder, final T target, Object source) {
    View view;
    view = finder.findRequiredView(source, 2131297613, "field 'titleView'");
    target.titleView = finder.castView(view, 2131297613, "field 'titleView'");
    view = finder.findRequiredView(source, 2131296418, "method 'doSomething'");
    view.setOnClickListener(
      new butterknife.internal.DebouncingOnClickListener() {
        @Override 
        public void doClick(android.view.View p0) {
          target.doSomething();
        }
      });
  }

  @Override 
  public void unbind(T target) {
    target.titleView = null;
  }
}

Otros casos de Uso

Ademas de BindView  Hay muchas otras anotaciones útiles como: BindBool, BindColor, BindDimenBindDrawableBindIntBindString que enlaza a cada recurso correspondiente, Por ultimo, no menos importante, debes conocer a @OnClick(R.id.submit) que ejecuta el evento click de una vista.

Limpiando Código

Podemos mejor nuestro código aun más, para hacer uso de la librería en cada activity debemos llamar a ButterKnife.bind(this) para evitar hacer esto.

1. Crear una “BaseActivity” abstracta

public abstract class BaseActivity extendes AppCompatActivity{
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(getLayoutId());
        Butterknife.bind(this);
    }

    public abstract int getLayoutId();
}

2. Nuestra activity extiende de BaseActivity

public class MainActivity extendes BaseActivity{
    
    @BindView(R.id.tex_view_1)
    TextView textView1;

    @BindView(R.id.tex_view_2)
    TextView textView2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    public int getLayoutId(){
        return R.layout.activity_main;
    }
}

Si hacemos que todas nuestras activities hereden de BaseActivity no tendremos que hacer el bind y encima empezamos a limpiar aun más el proyecto.

Sistemas-de-emision-de-comprobantes-de-pago

Sistemas de Emisión de Comprobantes de Pago SUNAT

Un Comprobante de Pago Electrónico (CPE) es todo documento regulado por SUNAT, que demuestra la entrega de bienes, la entrega en uso o la prestación de servicios.

Los comprobantes de pago electrónicos se generan a través de los Sistemas de Emisión Electrónica – SEE, que a continuación se detallan:

Puedes optar por cualquiera de ellos para emitir tu comprobante electrónico.

facturacion-electronica-que-es-y-que-beneficios-tiene

Facturación electrónica: que es y cuales son sus beneficios

La facturación electrónica se está aceptando cada vez más a nivel mundial. Particularmente en América Latina el 65% de las empresas ya usan este mecanismo. Es más común en las grandes empresas, pero ya las distintas oficinas gubernamentales lo están exigiendo. También a las pequeñas empresas.

¿Qué es la factura electrónica?

Es un documento comercial, que se utiliza como comprobante en formato digital, reemplazando a las facturas, recibos, notas de débito y crédito en forma física o en papel.

El número uno, por lejos es México, con más de 10 años del Comprobante Fiscal Digital por Internet (CFDI) que en este momento es de carácter obligatorio para todos los contribuyentes.

En Chile se encuentra el Documento Tributario Electrónico con una penetración que supera al 50% de los comprobantes y en pleno proceso de transición para llegar a la totalidad en 2019.

Argentina, Perú y Guatemala implementaron de manera obligatoria esta modalidad para ciertos contribuyentes, que son la mayoría en facturación del país. Particularmente Argentina dio un gran avance en 2015 extendiendo el régimen electrónico a todos los responsables inscriptos en IVA, a partir del 1 de julio.

¿Cómo implementar la facturación electrónica?

Para poder implementar este nuevo régimen las Pymes necesitan modificar sus hábitos y considerar la eventual adquisición de herramientas informáticas.

Para emitir la factura, el contribuyente puede utilizar un software específico o utilizar medios gratuitos como brindan algunos países. En el caso del Perú SUNAT ofrece un software gratuito, Facturador SUNAT, también se puede facturar mediante un webservice que brinda la SUNAT.
Por supuesto en Hearbittec tenemos un Software para que puedas realizar tus facturas electrónicas.

¿Cuáles son los beneficios?

Esta modalidad es principalmente, una necesidad para los tiempos que corren, en los que la información digital es utilizada de manera mucho más eficiente. Donde la conciencia por el medio ambiente busca reducir en lo posible el uso indiscriminado del papel.

  • Para el fisco: lo más importantes es que fiscalización se automatiza facilitando el seguimiento y control de la facturación. Esto hace que se puedan obtener los datos en tiempo real ¡Es una herramienta clave para contrarrestar la fama que tiene América Latina en términos de evasión impositiva!
  • Para el contribuyente: los beneficios se ven en el ahorro de gastos de papelería, automatización de la contabilidad, rápida disponibilidad de la información para fiscalizar o usar internamente, ahorro en los procesos administrativos de control y preparación de informes.
Requesitos-para-facturacion-electronica

Requisitos para implementar la facturación electrónica en tu negocio

La facturación electrónica se está difundiendo gracias a la Superintendencia Nacional de Administración Tributaria (Sunat) para fomentar la migración digital de las empresas y así reducir costos innecesarios de impresión, gastos de distribución y archivo de estas. Sepa lo necesario para implementar este sistema a su negocio.

  • Una buena computadora: No es necesario tener una PC de última generación, pero sí una con la capacidad suficiente para almacenar todos los documentos de la empresa y que pueda facilitar crear cualquier tipo de documento como un comprobante de pago, por ejemplo.
  • Tener Internet: Solo debe contar con una conexión estable y constante para que el proceso de verificación de documentos sea continuo. En caso de no contar con internet, la Sunat declaró que, cuando una empresa, por temas geográficos, no pueda estar conectada al Sistema de Emisión Electrónica (SEE), deberá usar una nota de crédito o débito en formato impresa.
  • Impresora: No es necesario tener una impresora que tenga muchas funcionalidades, pero sí una impresora que te permita imprimir de manera rápida e inmediata. Lo recomendable es comprarse una impresora con tinta continua, porque te permite recargar la tinta de manera fácil y rápido.
  • Certificado Digital: Si quieres por la modalidad de Sistema de Emisión del Contribuyente, es el sistema de emisión de comprobantes de pago desarrollado desde los sistemas del contribuyente. Necesitas comprar un certificado digital desde la empresas autorizadas por SUNAT.
  • Apoyo de un tercero: Si no desea encargarse de la emisión y de la verificación de comprobantes de pago, entre otros documentos, puede contratarnos para ello. Entre tanto, si desea cambiar de un proveedor de servicios electrónicos a otro.

Por supuesto tenemos sistema de facturación electrónica. La instalación es inmediata sin demora ninguna.