对于这款软件来说相信很多开发人员还是蛮熟悉的,它是一个面向开源及私有软件项目的托管平台,除了Git代码仓库托管及基本的Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能,可以轻松帮助我们解决我们遇到的一切难题。不过呢之前因为只有电脑端,所以用起来并不是很方便,但是现在呢官方也是为我们推出了GitHub安卓客户端,可以让我们在手机上直接快速查看项目代码,第一时间解决问题。在这里我们可以第一时间接受到其他人发给你的私信、评论、通知等消息,这样也就可以更好的与他人进行交流沟通,更轻松与您的团队保持联系,再也无任何时间差,而且使用时不仅不需要复制的开发环境,还可以让你随时随地的查看浏览代码并继续工作,十分方便,有需要的可以下载试试哦!
一、什么是 Github App?
1、简单翻译一下,就是App可以通过 Github 提供的认证信息去调用 Github API。
2、细心的读者会发现,Github 还提供了一个叫做“OAuth App”的东西,它的使用方式和App非常类似,最大的不同点是 OAuth App 所获取的权限都是固定且只读的,用户只能读取固定的数据而不能修改数据。而 App 几乎可以获取Github提供的所有功能权限,且所获取的权限可以被设定为“只读”,“可读可写”和“禁止访问”,对于权限的授权粒度会更细。
3、获取了对某些操作的权限之后,我们就可以使用这些权限去搭建一个独立的 App,比如一个第三方的 Github 客户端等等,这也是该软件的实用之处。
二、第三方登录的原理
前文提到,Github安卓客户端可以免去用户在第三方页面输入账号密码或者 Token 的操作而完成授权,那么它是怎么做到的呢?其实说白了,它也是一种 OAuth 登录的方式,只不过把获取 Token 的方式从“用户输入”变成“由 Github 提供”。
下面介绍这种登录方式的流程:
1、A 网站跳转到 Github 的授权页面。
2、Github 授权页面询问用户:“是否允许A网站获取下列权限”,用户点击“允许”,取得授权码。
3、Github 授权页面重定向回 A 网站,同时在URL 上带上授权码。
4、A 网站通过 URL 上的授权码往 Github 取回 Token。
5、A 网站使用这个 Token 去调用 Github API。
要完成上述的流程,首先必须先注册一个 Github App。
三、注册 Github App
1、进入 Github主页,点击用户头像,找到 Setting/Developer settings/Github Apps,然后点击“New Github App”,即可进入编辑界面:
2、依次填入名称(此处为 SOMEONE:BLOG )、描述、主页 URL 以后,关键要在User authorization callback URL填入获取授权后的回调地址,然后在Permissions里面设置一些需要用到的 API 读写能力。如果你希望这个 APP 只能自己用,那么使用默认的Only on this account,否则就选择Any account,最后点击Create Github App即可。
3、操作成功后,就可以看到这个 APP 的信息了,其中的 Client ID 和 Client secret 就是这个应用的身份识别码,需要记下来。
4、 注册完毕,接下来就需要第三方网站使用这个 APP 的 Client ID 去找 Github 要授权码了。
四、获取授权码
1、第三方网站要获取授权码,只需要让页面跳转到 Github 授权页即可,其中需要在 URL 中携带两个参数,分别是 Client ID 和 Redirect URL。
2、跳转后,Github 会询问用户是否允许这个 APP 获取某些权限:
3、用户确定后,会带着授权码重定向到给定的回调地址
4、这时候,第三方页面(这里是 localhost:8080)已经拿到了授权码,接下来就需要凭借这个授权码以及 APP 的 Client ID 和 Client secret 去兑换 Token 了。
1、增加了免费自托管运行程序,可以在基于ARM得设备(比如树莓派)上运行Actions的功能
2、改善了代码搜索,新的搜索功能可以根据上下文相关的语义库来查找定义,并在代码中跳转到相应站点
3、Beta版的新代码搜索体验能匹配精确的结果,包括特殊字符、大写字母以及标准的启发式文本搜索
4、为了支持开源社区,GitHub还宣布将GitHub打赏扩展到代码项目上
5、移动设备上的 GitHub 将允许用户收到正在进行的开源或私有项目通知,合并拉取请求,提交新问题,或向存储库添加代码
6、App 还有 Favorites、Recent、Pinned 等功能,方便用户标记感兴趣的项目
7、用于管理和采用有效的工作流程,以及Packages,一个软件包管理注册表,现已普遍可用
v6.1.0版本
优化用户体验
中公教师
11-15访问网络 访问网络连接,可能产生GPRS流量 ------------------------------------- 唤醒锁定 允许程序在手机屏幕关闭后后台进程仍然运行 ------------------------------------- 获取网络状态 获取网络信息状态,如当前的网络连接是否有效 ------------------------------------- 改变网络状态 改变网络状态如是否能联网 ------------------------------------- 获取WiFi状态 获取当前WiFi接入的状态以及WLAN热点的信息 ------------------------------------- 改变WiFi状态 改变WiFi状态 ------------------------------------- 开机自动允许 允许程序开机自动运行 ------------------------------------- 拍照权限 允许访问摄像头进行拍照 ------------------------------------- 使用闪光灯 允许访问闪光灯 ------------------------------------- 使用振动 允许振动 ------------------------------------- 访问外部存储 访问外部存储的权限 ------------------------------------- 写入外部存储 允许程序写入外部存储,如SD卡上写文件 ------------------------------------- 获取粗略位置 通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米 ------------------------------------- 获取精确位置 通过GPS芯片接收卫星的定位信息,定位精度达10米以内 ------------------------------------- 使用蓝牙 允许程序连接配对过的蓝牙设备 ------------------------------------- 蓝牙管理 允许程序进行发现和配对新的蓝牙设备 ------------------------------------- 允许NFC通讯 允许程序执行NFC近距离通讯操作,用于移动支持 ------------------------------------- 录音 录制声音通过手机或耳机的麦克 ------------------------------------- 结束后台进程 允许程序调用killBackgroundProcesses(String).方法结束后台进程 ------------------------------------- 读取电话状态 访问电话状态 ------------------------------------- 拨打电话 允许程序从非系统拨号器里输入电话号码 ------------------------------------- 读取联系人 允许应用访问联系人通讯录信息 ------------------------------------- 访问账户Gmail列表 访问GMail账户列表 ------------------------------------- 获取任务信息 允许程序获取当前或最近运行的应用 -------------------------------------