开源项目分享————掘梦

4,151 阅读3分钟

掘梦是一款有助于Android攻城狮们巩固基础,进价提升的一个资讯阅读APP,掘梦的宗旨就是把所有Android相关所有优秀的文章和框架、控件等第一时间向大家展示,让大家紧跟Android开发的新方向。

项目介绍

黄金招聘季节的时候,找工作去复习android相关知识点的时候,发现东西有点零碎,当时就想自己有空做一个android知识相关的积累的app,涉及面广一些,要涉及到android的方方面面,java的入门,android的相关面试等。想法有了,接下来就是实践了,那么难题来了!!!app叫什么名字了???三个大问号,纠结许久,才起了掘梦这个名字,接下来就是android相关知识的归纳了,归纳好后,就是去寻找大神们写的一些相关文章了,让大神们的文章让更多人阅读。掘梦里面分享的文章涉及的作者比较多,若内容有侵权请联系我进行删除处理。再次感谢相关开发者在网上分享自己的技术经验,让我们受益匪浅。

掘梦 apk下载地址

  • 掘梦亮点:
    • Bmob第三方服务器,支持代码中增删改查,及其后台操作
    • android复习板块涉及:java、android基础、项目常用框架、热门/新技术、开源项目、面试。(android知识点基本上覆盖,后期还会完善)
    • 自学板块:引入的android攻城狮的第一门课,视频学习
    • 设置有推荐功能,欢迎你推荐更好的文章让更多人去学习提升
    • 意见反馈收集一些好的建议或意见
    • 支持内容分享,便于知识的传递,及其多途径查看

项目搭建

服务器搭建

这里采用的是Bmob 后端云,自己写小型项目/毕业设计都可以用这个,省去了繁杂的服务器的一些繁琐方法。

详细写法:参考Bmob 后端云使用文档

设计JavaBean

收集文章进行归纳总结归档,根据目标功能,设计JavaBean

插件GsonFormat快速实现JavaBean

GsonFormat安装方法

1.Android studio File->Settings..->Plugins–>Browse repositores..搜索GsonFormat

2.安装插件,重启android studio

相关使用可以上网找一下,网上一大堆,不再啰嗦了

接口管理类

单例模式实现接口的管理,撰写接口回调数据及其相关失败等回调,对返回结果进行多种状态返回。贴上一个版本更新管理类

/**
 * 版本更新检查
 *
 * @author madreain
 * @desc
 * @time 2017/4/27
 */

public class ClientUpdateManager {
    private static ClientUpdateManager instance;

    private ClientUpdateManager() {
    }

    public static ClientUpdateManager getInstance() {
        if (instance == null) {
            synchronized (ClientUpdateManager.class) {
                if (instance == null) {
                    instance = new ClientUpdateManager();
                }
            }
        }
        return instance;
    }


    /**
     * 版本更新
     * @param mbValueCallBack
     */
    public void getClientUpdateConfig(final MBCallback.MBValueCallBack<UpdateVersionModel> mbValueCallBack) {
        BmobQuery<UpdateVersionModel> bmobQuery = new BmobQuery<>();
        bmobQuery.findObjects(new FindListener<UpdateVersionModel>() {
            @Override
            public void done(List<UpdateVersionModel> list, BmobException e) {
                if (e == null) {
                    UpdateVersionModel updateVersionModel = list.get(0);
                    if (updateVersionModel != null) {
                        mbValueCallBack.onSuccess(updateVersionModel);
                    }
                } else if (e.getErrorCode() == 9015) {
                    if (BuildConfig.DEBUG) Log.d("TypeManager", "e:" + e);
                } else {
                    if (BuildConfig.DEBUG) Log.d("TypeManager", "e:" + e);
                    mbValueCallBack.onError(Constants.Error);
                }
            }
        });
    }

}

UI显示

数据准备好了,就是将数据展示到UI层给用户看了,这边引用了一些第三方及其第三方服务

  • 掘梦相关技术

    • 1.bmob服务器

    • 2.bugly记录bug

    • 3.友盟分享 统计

    • 4.glide图片加载

    • 5.ormlite数据库

    • 6.CommonPullToRefresh刷新控件

    • 7.wenchao防探探卡片滑动

感谢

掘梦,相关知识点均来自与网络的大神们,非常感谢他们对android开发的经验分享,让我受益匪浅,感谢他们。让自己在android的坑中越陷越深。祝愿所有android攻城狮们也能在这个坑中越陷越深。

掘梦GitHub开源地址