PHP程序员小白到大牛集训(12期免息)
首页 > 社区问答列表 >如何高效率开发Android一个APP?

如何高效率开发Android一个APP?

学习Android有段时间,最近想开发一个APP来巩固下学到的知识,想做到高效率开发。有几个问题要请教大家:

  • 如何去架构?网络,图片模块要怎样去合理设计?

  • 测试要怎样做?

  • 发布到市场的流程是怎样呢?

  • 天蓬老师
  • 天蓬老师    2017-04-17 15:36:324楼

    我猜想题主是想开发一款APP来练练手,但有些开源库,框架之类不是很熟悉。刚好前几天在知乎回答过类似的问题,这里再补充下

    网络模块

    • okhttp

    • android-async-http

    • volley

    事件总线

    • otto

    • EventBus

    依赖注入

    • Dagger

    • RoboGuice

    • ButterKnife

    图片模块

    • Fresco

    • Glide

    • picasso

    数据库模块

    • greenDao

    • ormlite

    • LitePal

    响应式编程

    • RxJava

    • RxAndroid

    日志输出

    • logger

    • android-CLog

    • KLog

    测试相关

    • testerhome
      测试社区,里面有很多干货

    • bugtags
      新一代的、专为移动测试而生的缺陷发现及管理工具

    • testin
      为移动测试而生

    • Emmagee
      网易出品的,是监控指定被测应用在使用过程中占用机器的CPU、内存、流量资源的性能测试小工具。

    • awesome-android-testing
      A curated list of awesome android testing libraries.

    崩溃统计平台

    • 腾讯bugly

    • Crittercism

    • Crashlytics


    架构设计

    这个肯定得了解下MVC,MVP,MVVM还有设计模式这些,这里有几个开源项目推荐下

    philm

    Movie collection and information app for Android.
    Github地址:https://github.com/chrisbanes/philm

    SimpleNews

    基于Material Design和MVP的新闻客户端
    Github地址:https://github.com/liuling07/SimpleNews

    GankDaily

    A application show technical information every working days, use MVP pattern.
    Github地址:https://github.com/maoruibin/GankDaily

    SimplifyReader

    Github地址:https://github.com/SkillCollege/SimplifyReader

    NBAPlus

    Github地址:https://github.com/SilenceDut/NBAPlus

    PhotoNoter

    Github地址:https://github.com/yydcdut/PhotoNoter

    Meizhi

    Github地址:https://github.com/drakeet/Meizhi


    其他

    leakcanary

    检查内存泄露
    Github地址:https://github.com/square/leakcanary

    DebugDrawer

    Android Debug Drawer for faster development
    Github地址:https://github.com/palaima/DebugDrawer

    ViewServer

    Local server for Android's HierarchyViewer
    Github地址:https://github.com/romainguy/ViewServer

    blockcanary

    A transparent ui-block detection library for Android
    Github地址:https://github.com/moduth/blockcanary


    APP内测,分发

    • FIR.im

    • 蒲公英


    PS:开源框架虽然好用,但最好要了解框架存在的一些bug和坑,遇到问题可以给作者提issue,一般这些有名的框架,作者都会很积极的回答。

    另外推荐下自己的Android-Dev-Favorites,里面收集了Android开发的干货。

    啰哩啰嗦写了这么多,希望能帮到题主。

    +0添加回复

  • 回复
  • PHPzhong
  • PHPzhong    2017-04-17 15:36:323楼

    我想题主之所以想这些问题是因为题主没有明确的需求,不知道要做一个怎样的APP,题主可以列一下自己的需求或目标,要把APP做成怎么样,我想到时就明白要怎样去架构了。没有明确的需求或目标,想到哪写到哪,是谈不上架构的。鉴于题主想做高效率开发,抛开架构不谈,以下是一些建议。
    1、使用人家的轮子,网络方面,可以使用android-async-http-client、okhttp、volley,图片处理方面,可以使用picasso、UIL、fresco,这些都是比较成熟的开源框架,可以提高开发效率;
    2、测试就没有多少需要说的了,功能、压力,都是比较基本的测试了;
    3、市场发布是远期目标了,一般要到应用市场注册开发者账户,提供开发者身份证明,等待身份审核,提交应用,发布应用。各个应用市场都有各自的流程,大同小异。

    +0添加回复

  • 回复
  • 天蓬老师
  • 天蓬老师    2017-04-17 15:36:322楼

    工欲善其事必先利其器,工具利用好很重要,一个好的开发工具事半功倍,所以我们不仅要提供开发效率还要提高测试效率,自动化远程测试就显得尤为重要

    +0添加回复

  • 回复
  • PHPzhong
  • PHPzhong    2017-04-17 15:36:321楼

    题主快学习 Kotlin 吧,包括 MVP,RxJava,这都是近几年 Android 开发圈子最潮流的东西,当然对开发效率的提高也不只一点半点:
    Kotlin Base Framework

    +0添加回复

  • 回复