0%

2018年谷歌I/O 发布了一系列辅助android开发者的实用工具,合称Jetpack,以帮助开发者构建出色的 Android 应用。

这次发布的 Android Jetpack 组件覆盖以下 4 个方面:Architecture、Foundation、Behavior 以及 UI。该系列博客介绍一下Jetpack中常用组件,本篇介绍Room,结合ViewModel和LiveData完成上图的结构。最后借助于https://github.com/android/sunflower 来写一个完整的应用

阅读全文 »

不出所料、毫不意外的2019年的总结没有在元旦写完,跳票了,一周,还好,今天补上。
2020年计划肯定不是把去年的计划改个年份就行了。。。

阅读全文 »

该系列介绍自定义注解,完成如下功能。

  • @BindView 代替 findViewById
  • @ClickResponder 代替 setOnClickListener
  • @LongClickResponder 代替 setOnLongClickListener
  • @IntentValue 代替 getIntent().getXXX
  • @UriValue 代替 getQueryParameter
  • @BroadcastResponder 代替 registerReceiver
  • @RouterModule、@RouterPath 来进行反依赖传递调用
    该系列源码在https://github.com/huangyuanlove/AndroidAnnotation
    前几篇介绍了@BindView@ClickResponder@LongClickResponder@IntentValue@UriValue的实现,这一篇介绍一下@RouterModule@RouterPath的实现。
    阅读全文 »

该系列介绍自定义注解,完成如下功能。

  • @BindView 代替 findViewById
  • @ClickResponder 代替 setOnClickListener
  • @LongClickResponder 代替 setOnLongClickListener
  • @IntentValue 代替 getIntent().getXXX
  • @UriValue 代替 getQueryParameter
  • @BroadcastResponder 代替 registerReceiver
  • @RouterModule、@RouterPath 来进行反依赖传递调用
    该系列源码在https://github.com/huangyuanlove/AndroidAnnotation
    前几篇介绍了@BindView@ClickResponder@LongClickResponder@IntentValue@UriValue的实现,这一篇介绍一下BroadcastResponder的实现。
阅读全文 »

该系列介绍自定义注解,完成如下功能。

  • @BindView 代替 findViewById
  • @ClickResponder 代替 setOnClickListener
  • @LongClickResponder 代替 setOnLongClickListener
  • @IntentValue 代替 getIntent().getXXX
  • @UriValue 代替 getQueryParameter
  • @BroadcastResponder 代替 registerReceiver
  • @RouterModule、@RouterPath 来进行反依赖传递调用
    该系列源码在https://github.com/huangyuanlove/AndroidAnnotation
    前几篇介绍了@BindView@ClickResponder@LongClickResponder的实现,这一篇介绍一下@IntentValue@UriValue的实现。
阅读全文 »

该系列介绍自定义注解,完成如下功能。

  • @BindView 代替 findViewById
  • @ClickResponder 代替 setOnClickListener
  • @LongClickResponder 代替 setOnLongClickListener
  • @IntentValue 代替 getIntent().getXXX
  • @UriValue 代替 getQueryParameter
  • @BroadcastResponder 代替 registerReceiver
  • @RouterModule、@RouterPath 来进行反依赖传递调用

该系列源码在https://github.com/huangyuanlove/AndroidAnnotation

前两篇介绍了一丢丢自定义注解过程中使用到的东西,现在我们正式开始写框架。

阅读全文 »

该系列介绍自定义注解,完成如下功能。

  • @BindView 代替 findViewById
  • @ClickResponder 代替 setOnClickListener
  • @LongClickResponder 代替 setOnLongClickListener
  • @IntentValue 代替 getIntent().getXXX
  • @UriValue 代替 getQueryParameter
  • @BroadcastResponder 代替 registerReceiver
  • @RouterModule、@RouterPath 来进行反依赖传递调用
    该系列源码在https://github.com/huangyuanlove/AndroidAnnotation
    使用编译时注解,生成辅助类来完成这些操作,尽量少的使用的反射功能。

本章先介绍 javapoet 和一丢丢反射相关的东西

阅读全文 »

该系列介绍自定义注解,完成如下功能。

  • @BindView 代替 findViewById
  • @ClickResponder 代替 setOnClickListener
  • @LongClickResponder 代替 setOnLongClickListener
  • @IntentValue 代替 getIntent().getXXX
  • @UriValue 代替 getQueryParameter
  • @BroadcastResponder 代替 registerReceiver
  • @RouterModule、@RouterPath 来进行反依赖传递调用

使用编译时注解,生成辅助类来完成这些操作,尽量少的使用的反射功能。
该系列源码在https://github.com/huangyuanlove/AndroidAnnotation

本章先介绍一丢丢注解相关的东西,并且实现运行时注解

阅读全文 »

最近学习了一下Annotation和APT,简单的写了个库,想要发布到公共仓库供大家使用(虽然没人用,但就是想尝试一下),最简单的是通过https://jitpack.io/直接从github上抓取release代码打包,并且目前已经支持https://gitee.com/。但是,发布简单的纯java库或者Android Application库都比较简单,在github仓库中打个tag或者发布一下release,在jitpack上抓取一下就好,教程在这里https://jitpack.io/docs/#publishing-on-jitpack,对于有多个依赖的Android Lib,抱歉,我是真的没搞定,于是转战https://bintray.com

阅读全文 »

一个开发Flutter plugin 和 在Flutter中嵌入原生控件的笔记。完全是照着的官网来实践的。

https://flutter.dev/docs/development/packages-and-plugins/developing-packages

Flutter中的package分为两种,一种是纯dart语言的的package,比如 fluro,称之为Dart packages

还有一种是由原生平台代码(Android:java or kotlin,iOS:OC or swift),比如battery,称之为Plugin packages

下面是对Plugin packages开发的实践

阅读全文 »