资讯专栏INFORMATION COLUMN

[gist]快速开发android应用

Yang_River / 1384人阅读

摘要:最近再一次偶然的机会在上见到了这样一个能让你迅速搭建起基本和框架但是基本上没有什么文档非常可惜环境搭好了却不知道在哪里加代码于是我玩几天准备把我的理解写一下以供找不到文档的同学可以快速上个手什么是其实是一堆框架的集合让你迅速

from http://oyanglul.us

最近再一次偶然的机会在github上见到了这样一个repo http://www.github.com/donnfelker/android-bootstrap 能让你迅速搭建起基本ui和框架.但是基本上没有什么文档,非常可惜.环境搭好 了,却不知道在哪里加代码. 于是我玩几天准备把我的理解写一下,以供找不到文 档的同学可以快速上个手.

101 什么是 android bootstrap

Android Bootstrap 其实是一堆框架的集合, 让你迅速搭好android 开发的基本 框架. 里面包括

    Fragments

    Account Manager

    android-maven-plugin

    Dagger

    ActionBarSherlock

    Menu Drawer

    Robotium

    Parse API

    很多是UI的框架我就不解释了, 如 Fragments, ActionBarSherlock. 但是我想 讲的是

      依赖注入框架 Dagger

      UI testing 框架 Robotium

      backend服务Parse.

      android maven

      本章要介绍两个注入框架 Dagger 和 butterknife

      Dagger

      这又是一个依赖注入的框架,个人觉得依赖注入的模式貌似是为java专门准备的.使 得木纳的 java 代码结构变得灵活清爽, 松耦合, 易测试. 而 注入方式个人也比较喜欢 annotation 的方式而不是讨厌的 xml,把所有的依赖 配置都放到一个文件里并不无不妥, 但是都放到 xml 里, OMG, 放到可读性最屎 的 xml 里, 找所有依赖配置都要去翻这个难读得 xml…想着就头疼. 当项目变 大时, 一大波 xml 来袭………Orz

      先来解释一下依赖注入

      简单来说就是好莱坞原则

        

      不要call我, 我会call你的.

      对于好莱坞agent来说,他知道什么时候用什么演员,因 此,演员只需要留下联系方式, 也就是注入, 等待agent call他.

      因此, 也叫控制反转.

      其实, 也就是更优雅的实现组合模式, 传统的组合模式会需要 new 这些依赖, 也就是要各式各样的factory, 而依赖注入也就是说给你传进去.

      代码上来说, dagger 的这个例子非常好:

      比如我开咖啡店, 我要卖不同的咖啡种类, 雀巢的银桥的丝袜的 什么 espresso,amerino之类的. 我是 个非常抠塞的奸商, 我不想为每一种咖啡专门买一个昂贵的专用咖啡机. 经过研究发现这些 咖啡机只存在一些不同, 比如不同的加热方式, 滴漏方式,filter或者 水泵流量或温度不同.

      所以,我决定实现一个 configurable 的 coffeemaker.

      package coffee;
      
      import dagger.Lazy;
      import javax.inject.Inject;
      
      class CoffeeMaker {
        @Inject Lazy heater; // Don"t want to create a possibly costly heater until we need it.
        @Inject Pump pump;
      
        public void brew() {
          heater.get().on();
          pump.pump();
          System.out.println(" [_]P coffee! [_]P ");
          heater.get().off();
        }
      }
      

      文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

      转载请注明本文地址:https://www.ucloud.cn/yun/85255.html

相关文章

  • 我这样减少了26.5M Java内存!

    摘要:分析应用静息态内存占用。这里采用的方式是静息态内存进入,立即内存操作一段时间之后再内存一共有三次,可以利用对比的功能对比内存增量。 作者:杨超,腾讯移动客户端开发 工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。原文链接:http://wetest.qq.com/lab/view/359.html WeTest 导读 历时五天的内存优化已经结束,这里总结一下这几天...

    Miracle 评论0 收藏0
  • 如何使用 Java 构建微服务?

    摘要:本文主要介绍了利用生态系统构建微服务的多种方法,并分析了每种方法的利弊。也不例外,本文探讨了使用生态系统来构建微服务的几种不同方式。另一种单部署就是使用一个嵌入式框架来构建服务。在中,和项目对构建微服务提供了很好的支持。 【编者按】微服务背后的大理念是将大型、复杂且历时长久的应用在架构上设计为内聚的服务,这些服务能够随着时间的流逝而演化。本文主要介绍了利用 Java 生态系统构建微服务...

    psychola 评论0 收藏0
  • VBlog 的代码结构, 使用 element, vant 组件开发的纯前端博客

    摘要:介绍是一个纯前端无须服务器实现动态发布的博客文章主要是介绍一下的原理使用的组件和代码结构如何快速部署项目地址演示地址也是我的博客里面有博客的更新记录原理是一个纯前端的项目利用来存储博客的数据是上一个分享代码片段的功能利用来操作实现在网 介绍 VBlog 是一个纯前端, 无须服务器, 实现动态发布的博客 文章主要是介绍一下 VBlog 的原理, 使用的组件和代码结构 如何快速部署 VB...

    cheukyin 评论0 收藏0
  • Android Oreo 8.0 新特性实战 Autosizing TextView --自动缩放T

    摘要:新特性实战自动缩放出来很久了,这个新特性已经用了很久了,但是一直没有亲自去试试。结束完整的代码在上,点击查看 Android Oreo 8.0 新特性实战 Autosizing TextView --自动缩放TextView 8.0出来很久了,这个新特性已经用了很久了,但是一直没有亲自去试试。这几天新的需求来了,需要显示用户的金币,默认是大字体展示,但是又要求用户的金币过多(例如: 9...

    tinna 评论0 收藏0
  • 用Docker搭建Laravel和Vue项目的开发环境

    摘要:第二步添加在项目中创建文件。项目是官方的开源项目,负责实现对容器集群的快速编排。在这里我们会用到四个容器分别将放在四个不同的容器中,通过将四个应用容器关联到一起组成项目。服务服务的容器将执行我们项目中的代码。 showImg(https://segmentfault.com/img/bVbpfM5?w=695&h=270);在这篇文章中我们将通过Docker在个人本地电脑上构建一个快速...

    starsfun 评论0 收藏0

发表评论

0条评论

阅读需要支付1元查看
<