![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android开发技巧
文章平均质量分 74
雁鹏KF
想当年,金戈铁马,气吞万里如虎
展开
-
Android 实现页面多状态管理
我们常常遇到这样的一种需求:当后台返回的数据正常时,展示数据,数据为空时,展示一种空状态布局,当网络异常时,展示“网络不见了”的布局,如果你的Activity只有一个页面,实现起来当然是极为简单的,伪代码如下:<Root><!--空页面布局--> <include android:id="@+id/layout_empty" layout="@layout/layout_empty" android:visib原创 2020-11-17 10:14:51 · 981 阅读 · 0 评论 -
Android:自定义View系列(1)
自定义View是每个开发者绕不过去的一座山,高山仰止,不管看过多少的技术博客,都需要真正动手敲上一遍才能真正看到高处的风景,今天,趁着业务需求,就顺手来写一个基础入门的自定义View。初步完成效果如下:这样的图形基本上在页面顶部会使用到,相对而言使用到的技术点较少,很适合用来做学习项目。现在,让我们一步一步来拆分者个View吧。1.分析这个View我们可以把它分为三层,第一层为一个纯色矩形,第二层为从左到右依次排列的多个小矩形,帝三层为裁切层,即上,左,右三条边为直线,下边为弧线的特殊图形。原创 2020-06-01 14:45:34 · 527 阅读 · 1 评论 -
Android 科大讯飞语音评测SDK 踩坑实录
英语付费类APP大多都会对用户的发音进行评测的场景,一些大公司借住其高效的语音识别技术可以很轻松的实现。我司最开始接入的是腾讯云智聆SDK,但是用户反映普遍较为激烈,我们不堪其扰,于是在最新的版本中将其切换为科大讯飞SDK。第一步,当然是登陆科大讯飞官网,开始注册账号,创建APP,本地记录下APPID,并下载相应的SDK。需要注意的是,必须下载appid对应的sdk,下载之后,需要将项目中的j...原创 2020-04-13 10:20:27 · 2372 阅读 · 1 评论 -
WindowManager 实现App内全局悬浮框
我们原有的APP中有视频播放以及投屏的功能,但是投屏只在当前页面起效,一旦退出,投屏就自动失效了。偏偏产品喜欢研究别人家的app,研究了一波之后,对我发出了直击灵魂的疑问:“为什么人家腾讯视频在投屏的时候有个悬浮按钮?”,"为什么人家优酷在投屏的时候有全局悬浮按钮?"产品指着腾讯视频,终于露出了獠牙:“啊,我不管,我要这个!你要给我做!”。我的内心毫无波动,甚至还有点。。。哎,好吧,做...原创 2019-11-29 15:35:22 · 1406 阅读 · 0 评论 -
网络请求:retrofit2 + rxjava2 的基本上使用以及简单封装
retrofit2是一款封装okhttp的优秀的网络请求框架,搭配rxjava时有出人意料的效果,每当出去面试的时候,被问及的频率也是极高的,于是新项目里也就顺理成章的接入了retrofit2+rxjava,并做了简易的封装,趁着今天周六,写一篇文章来记录一下。1.retrofit 网络请求github:https://github.com/square/retrofit我们先来使用r...原创 2019-10-19 12:51:20 · 291 阅读 · 0 评论 -
RecycleView多Type布局的实现以及点击事件
RecycleView是开发中最常用的组件之一,因其优秀的回收机制而得到了广泛使用。最常用的效果就是用来实现复杂多布局列表。所以当项目里需要实现如下布局时,我最先想到的便是使用Recycleview。可以看到,整个Recycleview是方向垂直,而第一个itrm中有个水平滑动的recycleview。而我们的demo实现的效果如图:现在让我们开始实现这一步骤:1.先编...原创 2019-08-22 13:54:04 · 639 阅读 · 3 评论 -
WebView的简单使用以及 js与java的相互调用
开发App时,经常会遇到要在应用内部加载一个HTML的网页,同时还需要Android页面与Html页面有数据的交互。这就要用到WebView。1.WebView的使用webview是谷歌官方提供的基础控件之一。使用方法有两种,其一为静态使用,即在xml布局文件里直接使用。如图:还有另外一种方法,是在代码里动态创建webview。如图所示: web = new WebView(...原创 2019-07-17 21:11:36 · 508 阅读 · 0 评论 -
Android service的简单使用 应用内升级
Service作为Android四大组件之一,使用的场景是极为广泛的。日前在开发过程中,就被要求要做个应用内升级的功能。我的第一反应就是用service来实现。先来说一下我们的思路:1.通过后台接口返回的数据,判断是否需要进行新版本apk的下载2.当需要更新时,我们要给出一个dialog来提示用户升级。3.如果用户确认升级,启动servce,在后台进行apk文件的下载4.下载完...原创 2018-10-31 19:29:51 · 625 阅读 · 0 评论 -
Android 开发之DialogFragment使用
DialogFragment是有谷歌推出的致力于取代dialog的控件,它继承于Fragment,也是有生命周期的。因为新项目是由我来独立开发,于是就想趁着此次机会来尝试试用一下。首先,第一步,要新建一个java类,集成自DialogFragment,重写其onCreateView方法,在此方法中加载自定义布局文件。布局文件:<?xml version="1.0" enco...原创 2018-09-21 18:26:22 · 5812 阅读 · 0 评论 -
Android 获取设备公网IP/私网IP地址
在应用调试过程中,对接的技术人员要求提供一下机顶盒 的外网IP地址,于是打开了盒子上的设置,将IP地址发了过去,对面回复说这是私网IP,要公网IP才可以。一般情况下,电脑的公网IP地址很好查:打开百度:但是有些机顶盒上是没有浏览器的,所以就需要通过代码的层面来获取。通过百度,先找到了如下的方法: /** * 获取IP地址 * @return * ...原创 2018-09-19 14:14:52 · 8185 阅读 · 0 评论 -
Android Studio 常见错误(二)
AS使用过程中遇到的问题总是多种多样的,每遇到一个,就意味着对Studio的了解加深了一步。/******************************* 我是正文的分割线 ********************************/因项目需要接入第三方SDK,于是引入一个Library,于是就抛出了这么一个异常:遇到这样的提示,首先,点击最后一行的“see complet...原创 2018-06-22 18:04:10 · 332 阅读 · 0 评论 -
APP安全退出 及 Activity的生命周期
面试的时候遇到面试官问:如何退出app,退出一个app的时候,activity的生命周期是怎么走的?先来看第一个问题:如何退出APP?1.System.exit(0);这种方法是通过关闭虚拟机来退出当前app的,简单粗暴,在我刚参加工作时采用的就是这种方式2.自定义Application,并创建一个Activity的集合,退出时,关闭所有的Activity即可(此种方法更为常用) 2.1自定义Ap...原创 2018-03-07 18:26:44 · 998 阅读 · 2 评论