GitHub 在Android开发上的基本应用

目录

前言

Github概念与前提准备

Github概念

前提准备

项目准备

下载准备

应用实战

1.添加开源项目依赖

2.添加开源项目里的控件到本地项目的界面中

3.在java文件中操作该开源控件(有些开源控件需要用java操控才肯显示)

经验小结


前言

在安卓开发过程中,免不了造轮子环节。造轮子虽然比较锻炼自身技术,但费时不谈,开发质量有待商榷。如果用别人已经封装好的控件或者说开源代码,就可以减少开发周期,避免重复劳动,一定程度上可以提高开发质量,不过这毕竟是别人的代码,若要完美满足甲方或自身的需求,还是要乖乖敲代码。本篇文章将讲述安卓开发者如何将Github上的项目应用在本地项目中。

Github概念与前提准备

Github概念

Github作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。这就意味着Github拥有很多免费的开源项目,作为开发者当然不能停止探索别人项目的欲望。

前提准备

项目准备

这里有一篇别人整理好的Github上优秀的Android开发组件导航文章

https://www.runoob.com/w3cnote/android-ui-framework.html

是不是上不去github?没关系,我已经把部分开源项目保存在百度网盘里了。

https://pan.baidu.com/s/1s8j0j0G6SXDcN1Gu-9wvFQ   提取码:aw3x

里面有说明截图和提前下好的源码

下载准备

在Android Studio中添加依赖后,由于我所选的GitHub项目都是国外的,所以下载速度很慢,因此需要改换成国内的下载通道

打开本地项目里的build.gradle(Module.app)将buildscipt和allprojects的repositories里的都替换成下列代码

        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }

这下下载速度恢复正常了。(也可以科学上网解决)

应用实战

将开源项目移植到本地项目其实无非三个步骤(这里我以百度网盘里的NumberProgressBar开源项目为例):

1.添加开源项目依赖

打开本地项目里的build.gradle(Project),添加如下依赖

implementation 'com.daimajia.numberprogressbar:library:1.4@aar'

PS:下载速度慢的可以看看上述下载准备中有无漏掉的步骤。 

2.添加开源项目里的控件到本地项目的界面中

 <com.daimajia.numberprogressbar.NumberProgressBar
        android:id="@+id/NumberProgressBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@style/NumberProgressBar_Grace_Yellow"/>

PS:作者还提供了很多属性供开发者使用,详细可看我百度网盘上的说明截图

3.在java文件中操作该开源控件(有些开源控件需要用java操控才肯显示)

NumberProgressBar progressBar = findViewById(R.id.NumberProgressBar);
        new Thread(new Runnable() {
            @Override
            public void run() {
                for(int i =0 ;i<=100;i++){
                    try {
                        Thread.sleep(1000);
                        int finalI = i;
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                progressBar.setProgress(finalI);
                            }
                        });
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }).start();

PS:这段代码的意思是让进度条1秒1个地进行,该控件更详细的操作可看我百度网盘上的说明截图

一些复杂的项目我就不演示了,感兴趣者可以去挑战一下。

经验小结

github有些项目已经很老,直接在本地的Android Studio运行势必会出现各种兼容问题,因此我建议还是看说明会比较轻松(即使是英文),如果作者说明不清楚,那只能在本地中运行,中途出现的问题能百度就百度,实在运行不了的,可以结合作者给的图片直接阅读源码,这算是我在github上搬运的小结吧。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值