自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

_彼岸雨敲窗_的博客

你的指尖可能有改变世界的力量!

原创 Android开发-在Android里接入腾讯云推流SDK实现直播推流的功能
原力计划

前 言如今,在国内移动互联网发展了几年的时间,移动开发技术也相对的成熟,在咱们日常使用的手机App中也少不了直播的功能,不管是娱乐类、游戏类、体育类还是教育类等的App都会有直播的功能,可以说直播的功能在一些商业应用或者非商业应用中都是不可或缺的功能。目前国内比较火直播App有如:斗鱼(游戏直播)、YY直播(全民娱乐直播)、虎牙(游戏+电竞直播)以及映客(娱乐直播)等直播。而要想在自己的A...

2020-05-18 21:39:30 1944

原创 Android开发-仿网易云音乐播放器样式设计与实现

前 言大家平时在听音乐时使用到的网易云音乐 Android 版 App 时有没有发现网易云音乐的 App 样式做的比较好,App 抽屉式菜单栏使用 Android 独有的特性(相对于IOS) Material Design 风格的设计模式,App 整体风格设计样式符合人性设计。那么这篇博客主要讲如何实现仿网易云音乐简易版播放器。需求分析要实现仿网易云音乐简易版播放器的功能,需要实现以下几...

2020-04-02 09:50:16 3113

原创 Android开发-使用Realm数据库实现App中的收藏功能

前 言App数据持久化功能是每个App必不可少的功能,而Android最常用的数据持久化方式主要有以下的五种方式:使用SharedPreferences存储数据;文件存储数据;SQLite数据库存储数据;使用ContentProvider存储数据;网络存储数据。其中前四种都是缓存数据到本地,这篇主要讲的是使用第三种方式来实现App中的收藏功能,不过不用Android原生自带S...

2020-03-29 02:18:58 1561

原创 Android开发-Android 10 的新功能及新特性

前 言Google 在去年(2019年)3月份首次公布了 Android 10 的测试版,然后在去年 5 月份的 Google 年度 I/O 开发者大会上展示了 Android 10 系统的几个新的功能,去年9月份 Android 10 开始正式商用。Android 10 围绕三个重要主题构建而成。首先,Android 10 以其先进的机器学习和对新兴设备(如可折叠设备和支持 5G 的手机...

2020-02-01 00:14:01 604

原创 Android开发-Android Jetpack 架构组件的使用(一)

前 言Android 从2008年发展至今已经有十几年的时间,技术方面可以说已经比较成熟了,第三方支持 Android 开发的开源库已比较多,但由于开源库比较多造成开发 Android 应用时技术选型比较混乱,为了解决这个问题,Google 方面推出了 Jetpack 架构组件。Jetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编...

2020-01-17 11:32:31 358

原创 Android开发-使用高德地图SDK实现仿钉钉打卡的功能

前 言LBS(基于地理位置服务)是当前移动互联网大部分应用不可或缺的功能,基于地理位置服务的Android平台的开发是主要用于Android系统作为载体,我们可以利用定位出的位置进行许多丰富多彩的操作。比如说天气预报程序可以根据用户所在的位置自动选择城市,发微博的时候我们可以向朋友晒一下自己的地理位置,不认识路的时候随时打开地图就可以查询路线;如果你出门打车用滴滴或Uber打车,你可以看到附...

2019-12-11 11:18:40 1331

原创 Android开发-在Android里接入阿里云推流SDK实现直播推流的功能

前 言如今,在国内移动互联网发展了几年的时间,移动开发技术也相对的成熟,在咱们日常使用的手机App中也少不了直播的功能,不管是娱乐类、游戏类、体育类还是教育类等的App都会有直播的功能,可以说直播的功能在一些商业应用或者非商业应用中都是不可或缺的功能。目前国内比较火直播App有如:斗鱼(游戏直播)、YY直播(全民娱乐直播)、虎牙(游戏+电竞直播)以及映客(娱乐直播)等直播。而要想在自己的A...

2019-11-26 10:36:21 2280 7

原创 Android开发-列表数据下拉刷新上拉加载更多的实现

前 言在Android影视或者资讯类等应用中都有下拉刷新数据和上拉加载更多数据的功能,还有我们日常生活中刷新朋友圈和刷微博都接触到这两个功能,可以说下拉刷新数据和上拉加载更多数据的功能是Android应用中必不可少的功能。那么,下面就来看看这两个功能是如何实现的吧。在 AS Gradle 里添加相关的上拉刷新、下拉加载更多数据依赖库在内层build.gradle里添加dependenc...

2019-10-31 10:28:12 637 1

原创 Android开发-两种方式实现Android应用底部Tab标签栏

前 言在我们日常使用的Android应用中,几乎所有的应用都使用到底部Tab标签栏,比如微信、淘宝、支付宝等。而他们实现的方式又大同小异,实现底部Tab标签栏无非有两种方式,一是使用“show()和hide()控制Fragment”方式,这种方式也称之为使用事务的方式,是目前大多数的应用都使用这种方式的,如淘宝、支付宝,二是使用“Fragment+ViewPager”的方式,这种方式是微信所...

2019-09-03 15:50:28 1602 3

原创 Android开发-Android应用中仿网易云音乐抽屉式菜单栏的实现

前 言要想在Android应用中实现和网易云音乐的抽屉式(侧滑)菜单栏一样效果的话需要用到Android中的“NavigationView”控件,该控件是在design包下,所以它是 Android 5.0 开始引入的 Material Design 设计特性。Material Design 是由 Google 的设计工程师们基于传统优秀的设计原则,结合丰富的创意和科学技术所发明的一套全新...

2019-07-30 09:59:53 1665

原创 Android开发-在Android应用里接入AdMob广告进行变现的实现

前 言AdMob广告联盟是Google为商家和开发者推出的一家广告投放和接入的平台,是专门为Android和IOS以及Web平台进行推送广告的平台。和国内的腾讯广告联盟不同的是,该平台的Android端接入广告主要有三种广告类型,一是banner广告(横幅广告),二是插屏广告,三是原生广告,四是激励广告。而是国内的腾讯广告联盟主要是开屏广告、banner广告、插屏广告以及原生广告。AdMob...

2019-06-26 22:37:28 2081 10

原创 Android开发-Android应用中启动时引导页的实现

前 言在一个Android App启动的流程中,一般先是显示启动页,然后接着是引导页(初次安装或者清除应用缓存信息或者应用更新后第一次启动会经历该流程),在接着进入登录页面或者主页(如果应用之前在安装后或者清除缓存信息后有启动过,那么应用启动时就没有经历引导页的流程,直接由启动页进入登录页或者主页的流程)。那么,下面就来看看Android App是如何实现应用启动时引导页的功能的。新建一个...

2019-05-24 08:49:28 12143 10

原创 Android开发-RecyclerView控件高级的使用(含下拉刷新上拉加载分页)

前 言Android RecyclerView控件是在2014年6月Google的I/O大会上推出的Android 5.0时特有的特性,该控件的功能非常强大,它代替了原来的ListView和GridView的控件,它除了能实现线性布局、网格布局样式外还可以实现瀑布流布局的样式。而且在RecyclerView在源码中实现了复用机制的功能,使在渲染界面和填充数据方面都比原来的ListView还要...

2019-05-23 16:07:47 4207 5

原创 Android开发-Android原生与WebView的js交互的实现

一般在Android应用的开发过程中,一些核心的业务功能开发往往需要Android原生的开发,一些需要改动比较频繁的功能且不是核心的业务功能往往只需要在Android应用调用一个网页就行了。在Android开发过程中有一个专门用嵌入网页的控件WebView布局,WebView控件是基于Google Chrome浏览器的内核,只需在逻辑代码里传入网址的url就可以在应用里打开一个网页,但是只是单纯的...

2019-03-22 17:41:06 630 1

原创 Android开发-在Android应用里实现自动发送邮件的功能

前段时间由于项目的需要,就是在Android应用里的用户反馈功能需要当用户输入反馈的文本信息后,用户点击提交按钮自动把反馈的文本信息已发送邮件的形式发送给开发者。要实现这个功能,首先需要两个邮箱账号,一个是发送方的邮箱地址,一个是接收方的邮箱地址。还需要发送方的邮箱授权码(授权码一般是16位的字符串,生成后一般用于客户端的登录,下文会讲如何在登录网页版的邮箱自动生成授权码)、发送方的邮箱服务器(...

2019-02-25 10:18:15 10055 7

原创 Android开发-在Android应用里集成友盟消息推送SDK的实现(兼容小米、华为、魅族机型离线推送)

前 言最近由于项目的功能需求的需要,需要在Android应用集成消息推送的功能,而目前市面上的第三方消息推送除了友盟推送外,还有极光推送、小米推送、个推以及信鸽(腾讯)推送等。当时本人对比各大第三方的消息推送进行了测试,觉得友盟消息推送集成简单,推送消息的送达率比较高以及即时。而且支持深度优化过的Android系统的国产手机(小米、华为、魅族)应用的进程被“杀死”的情况下能及时送达推送。集...

2018-09-30 13:09:52 2799

原创 Android开发-在Android应用里嵌入腾讯广告联盟进行盈利实现

前 言对于个人开发者来说,独立开发一款基于网络App并且上线提供用户下载使用是需要花钱购买服务器的。而且当用户的并发量比较大时开发者所花费的维护应用的费用就越高,这时,个人开发者需要在应用里嵌入广告来进行盈利才能赚回维护应用使用的成本。而在Android开发领域,有Google的子公司AdMob的广告可以在Android系统里进行投放。不过国外的广告不是很适合国内的环境,而国内的腾讯广告联...

2018-06-09 14:53:48 9356

原创 Android开发-基于百度地图API开发仿滴滴出行APP界面的实现

前 言近年来,由于移动互联网快速的发展以及基于移动设备的APP的普及,移动互联网改变了人们的生活方式。从线上的电子支付到线下的出行,移动互联网是当今社会人们生活不可或缺的一部分,而线下出行的网约车的出现极大便利了人们的出行,虽然它饱受了很大的争议,但不可否认的是网约车的出现是一次大胆创新的尝试。而最早推出网约车的是一家美国硅谷的科技公司推出的Uber网约车打车软件,中文译作“优步”,目前国内做...

2018-06-04 17:59:55 9129

原创 Android开发-基于ijkplayer框架开发网络电视直播播放器的实现

前 言ijkplayer框架是由B站在GitHub开源的一款比较好用的开源网络播放器框架,它能支持在Android、IOS等平台上编译移植使用。而且支持多种视频格式的播放,而且编码的速度比传统的开源网络播放器还要快。除此之外,ijkplayer框架支持网络视频播放时弹幕的推送等功能。开发环境Android Studio 3.1.2 JDK 1.8开发前准备在Android ...

2018-06-03 21:19:45 8187

原创 Android开发-在Android项目里集成友盟统计SDK进行对移动APP统计的实现

前 言 友盟(Umeng),2010年4月在北京成立,是中国最专业、最有数据凝聚力的移动开发者服务平台。友盟以移动应用统计分析为产品起点,发展成为提供从基础设置搭建-开发-运营服务的整合服务平台,致力于为移动开发者提供专业的数据统计分析、开发和运营组件及推广服务。2013年10月推出“一站式“解决方案,服务包含移动应用统计分析以及细分行业的移动游戏统计分析、社会化分享组件、消息推送、自动...

2018-05-25 14:42:17 2901

原创 Android移动开发-基于百度地图API与ZXing二维码开源库实现共享单车界面

前 言 2016年底以来,国内共享单车突然就火爆了起来,而在街头,仿佛一夜之间,共享单车已经到了“泛滥”的地步,各大城市路边排满各种颜色的共享单车。 通过一番梳理发现,除了较早入局的摩拜单车、ofo外,整个2016年至少有25个新品牌汹涌入局,其中甚至还包括电动自行车共享品牌。 ——来自百度百科那么,既然共享单车那么火,那它们的App页面是怎样实现的,本博客将简单的介绍...

2018-05-15 12:28:34 1685

原创 Java开发-使用Java语言实现刷微信跳一跳小游戏的分数

腾讯在2017年底推出一款在微信小程序跳一跳的游戏,这个游戏的玩法非常简单,手指长按屏幕“i”形小人,不断在各种方形道具上跳跃而获得分数,直到最终摔下去,然后在排行榜上和好友PK。这种无需下载、即点即玩的小游戏,让人们随时随地开跳,并且自带“社交属性”,用户可以和微信好友之间互相PK排名。这类H5轻度手游的一个特点是产品简单好玩易操作,又不失乐趣均是其共同的特征。产品玩法足够单一聚焦,比如跳一...

2018-05-14 14:34:50 2220

原创 Android移动开发-在Android项目里实现仿QQ界面的 Material Design 设计开发

Material Design 是由 Google 的设计工程师们基于传统优秀的设计原则,结合丰富的创意和科学技术所发明的一套全新的界面设计语言,包含了视觉、运动、互动效果等特性。它是 Google 在2014年 Google I/O 大会上重磅推出了一套全新的界面设计语言,也是 Android 5.0 的新特性。

2018-01-01 17:48:11 2276

原创 Android移动开发-蓝牙(BlueTooth)设备检测连接的实现

无论是WIFI还是4G网络,建立网络连接后都是访问互联网资源,并不能直接访问局域网资源。比如两个人在一起,A要把手机上的视频传给B,通常情况是打开手机QQ,通过QQ传送文件给对方。不过上传视频很耗流量,如果现场没有可用的WIFI,手机的数据流量又不足,那又该怎么办呢?为了解决这种邻近传输文件的问题,蓝牙技术应运而生。蓝牙技术是一种无线技术标准,可实现设备之间的短距离数据交换。

2017-12-19 16:06:42 31911

原创 Android移动开发-在Android项目里调用基于高德地图API实现定位

基于地理位置服务的Android平台的开发对Android移动开发来说是非常重要的,基于地理位置服务的Android平台的开发是主要用于Android系统作为载体,我们可以利用定位出的位置进行许多丰富多彩的操作。比如说天气预报程序可以根据用户所在的位置自动选择城市,发微博的时候我们可以向朋友晒一下自己的地理位置,不认识路的时候随时打开地图就可以查询路线;如果你出门打车用滴滴或Uber打车,你可以看

2017-12-08 22:54:40 8991

原创 Android移动开发-在Android项目里调用基于百度地图API实现定位

基于地理位置服务的Android平台的开发对Android移动开发来说是非常重要的,基于地理位置服务的Android平台的开发是主要用于Android系统作为载体,我们可以利用定位出的位置进行许多丰富多彩的操作。比如说天气预报程序可以根据用户所在的位置自动选择城市,发微博的时候我们可以向朋友晒一下自己的地理位置,不认识路的时候随时打开地图就可以查询路线;如果你出门打车用滴滴或Uber打车,你可以看到

2017-12-07 20:12:31 12765

原创 Java开发-Java中生产者与消费者设计模式的实现

在生产者与消费者模型中,生产者不断生产,消费者不断取走生产者生产的产品。 生产者生产出信息后将其放到一个区域中,然后消费者从此区域里取出数据,但是在本程序中因为牵扯到线程运行的不确定性,所以会在存在以下两点问题: (1)假设生产者线程向数据存储空间添加信息的名称,还没有加入该信息的内容,程序就切换到了消费者线程,消费者线程将把该信息的名称和上一个信息的内容联系到一起。 (2)生产者

2017-12-05 16:16:02 351

原创 Java开发-Java中链表的实现

链表是一种根据元素节点逻辑关系排列起来的一种数据结构。利用链表可以保存多个数据,这一点类似于数组的概念,但是数组本身有一个缺点——数组的长度固定,不可改变。在长度固定的情况下首选的肯定是数组,但是在实际的开发中往往要保存的内容是不确定的,此时就可以利用链表结构来代替数组的使用。定义链表的逻辑代码如下:class Link { // 链表

2017-12-04 17:24:15 784

原创 Java开发-Java中代理设计模式的实现

代理设计(Proxy)也是在Java开发中使用较多的一种设计模式,所谓代理设计就是指一个代理主题来操作真实的主题,真实主题执行具体的业务操作,而代理主题负责其它相关业务的处理。就好比在生活中经常使用的代理上网,客户通过网络代理连接网络,由代理服务器完成用户权限、访问限制等与上网操作。 而不管是代理操作也好,真实的操作也好,其共同的目的就是上网,所以用户关心的只是如何上网,至于里面是如何操作的用

2017-12-03 18:44:12 326

原创 Android移动开发-在Android项目里集成开源框架ZXing实现扫描二维码的功能

二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。 二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“

2017-11-23 15:49:20 1033

原创 Android移动开发-在Android 5.0 以上版本自定义Toolbar的实现

Google在Android 5.0 以上版本新增了自定义Toolbar的功能,对于开发者是一件喜事。相比于Actionbar,Toolbar最明显的一点就是变得很自由,可随处放置。使用Toolbar之前先在build.gradle引入v7支持包

2017-11-19 21:44:36 600

原创 Android移动开发-在Android项目里集成调用微信支付开发的实现

如今移动支付比较火,尤其是在中国的市场。移动支付也称为手机支付,就是允许用户使用其移动终端(通常是手机)对所消费的商品或服务进行账务支付的一种服务方式。单位或个人通过移动设备、互联网或者近距离传感直接或间接向银行金融机构发送支付指令产生货币支付与资金转移行为,从而实现移动支付功能。移动支付将终端设备、互联网、应用提供商以及金融机构相融合,为用户提供货币支付、缴费等金融业务。 谈到移动支付,不

2017-11-15 20:17:47 5940

原创 Android移动开发-在Android项目里集成调用支付宝支付开发的实现

如今移动支付比较火,尤其是在中国的市场。移动支付也称为手机支付,就是允许用户使用其移动终端(通常是手机)对所消费的商品或服务进行账务支付的一种服务方式。单位或个人通过移动设备、互联网或者近距离传感直接或间接向银行金融机构发送支付指令产生货币支付与资金转移行为,从而实现移动支付功能。移动支付将终端设备、互联网、应用提供商以及金融机构相融合,为用户提供货币支付、缴费等金融业务。 谈到移动支付,不得

2017-11-13 21:38:01 10032

原创 Android移动开发-在Android项目里集成face++人脸识别的实现

“人工智能”是今年比较火的一个名词,甚至大多数人认为“人工智能”是继“IT互联网”之后一个新的浪潮,将会是本世纪最高科技的水准。个人觉得,目前国内语音识别做的比较好的是科大讯飞,图像识别(或人脸识别)做的比较好的是face++(旷视)。 那么,如何在Android项目里集成face++人脸识别的实现呢? 首先在face++的开发平台网址:https://www.facepluspl

2017-11-12 19:01:33 7670

原创 Android移动开发-在Android项目里集成讯飞语音识别与合成的实现

“人工智能”是今年比较火的一个名词,甚至大多数人认为“人工智能”是继“IT互联网”之后一个新的浪潮,将会是本世纪最高科技的水准。个人觉得,目前国内语音识别做的比较好的是科大讯飞,图像识别(或人脸识别)做的比较好的是face++(旷视)。 那么,如何在Android项目里集成讯飞语音识别与合成呢? 首先在讯飞语音的开发平台网址:http://www.xfyun.cn/ ,然后在平台注册

2017-11-10 15:36:34 2244

原创 Android移动开发-Android屏幕手势检测的实现

Android屏幕手势检测的原理是由于触摸事件的检测与识别比较繁琐,因此Android提供了手势检测器帮助开发者识别手势。利用手势检测器可以自动辨别常用的几个手势事件,如点击、长按、滑动等,从而使开发者专注于业务逻辑,不必在手势的行为判断上绞尽脑汁

2017-11-07 19:23:11 1130

原创 Android移动开发-Android屏幕手写签名的实现

Android屏幕手写签名的原理就是把手机屏幕当作画板,把用户手指当作画笔,手指在屏幕上在屏幕上划来划去,屏幕就会显示手指的移动轨迹,就像画笔在画板上写字一样。实现手写签名需要结合绘图的路径工具Path,在有按下动作时调用Path对象的moveTo方法,将路径起始点移动到触摸点;在有移动操作时调用Path对象的quadTo方法,将记录本次触摸点与上次触摸点之间的路径;在有移动操作与提起动作时调用Ca

2017-11-07 18:09:19 8065

原创 Android移动开发-手势事件处理MotionEvent的实现

手势事件处理MotionEvent是智能手机的一大特性,即可用于信息输出(显示界面)又可用于输入(检测用户的触摸行为)。为了方便开发者使用,Android已经自动识别特定的几种触摸手势,包括按钮的点击事件OnClickListener、长按事件OnLongClickListener、滚动视图ScrollView的上下滚动事件、翻页视图ViewPager的左右翻页事件等。

2017-11-07 17:15:00 457

原创 Android移动开发-音量调节对话框的实现

Android手机上的需要音量调节有六大类铃音,分别是通话音、系统音、铃音、媒体音、闹钟音和通知音,不过音量键只有加大与减少两个键,当用户按音量增加键时,应用怎么知道用户希望加大那类铃音的音量呢? 要解决这个问题,最好是弹出一个对话框,让用户选择希望调节的铃音类型,并显示拖动条,方便用户把音量一次调整到位,不必连续按增加键或减少键。layout/dialog_volume.xml界面布局代码如

2017-11-06 20:22:02 1761

原创 Android移动开发-检测点击按键事件的实现

检测点击按键事件一般不对手机上的输入按键进行处理,直接由系统按照默认情况操作。当然有时为了改善用户体验,需要让应用拦截按键事件,并进行额外处理。 要想监控按键事件,首先得知道每个按键的编码,这样才能根据不同的编码值进行相应的处理。监听器OnKeyListener只会检测控制键,不会检测文本键。按键编码的取值说明如下表:表 按键编码的取值说明 按键编码 KeyEvent类的按键名称

2017-11-06 19:34:44 5091

提示
确定要删除当前文章?
取消 删除