Android开发
文章平均质量分 79
L竹轩沐雨
这个作者很懒,什么都没留下…
展开
-
Android Studio 4.0 offline mode离线模式
老版本在设置界面里,新版本升级到Gradle中,一个小按钮,记录一下原创 2020-09-04 17:16:20 · 4586 阅读 · 5 评论 -
android string文件 报错 ***is translated here but not found in default locale
原因:在默认的strings.xml里没有这个字段;解决办法:将Value/string.xml中的<resources>改成<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="ExtraTranslation">原创 2020-07-10 10:16:52 · 1808 阅读 · 0 评论 -
Android使用okHttp实现WebSocket源码分析
项目中需要实现一个类似心跳包的内容,语音通话期间,需要不断的请求服务器发送数据,确保正在连接中,开始想到的是使用service开启子线程,定时请求接口发送数据,但数据量很大时,http请求头部太大,每次请求需要发送重复的头数据,非常消耗流量,于是考虑使用长连接的方式。Android中实现WebSocket有很多种方式,这里说一下okHttp的方式。先来大致了解一下websocket。WebSocket属于双向通信协议,Http是单向的 webSocket是需要握手进行建立连接的,只是在建立握手时,数据原创 2020-07-07 10:07:42 · 1116 阅读 · 0 评论 -
Google支付从创建商品到支付成功踩过的坑
错误1:此版本的应用未配置为通过GooglePlay结算。有关详情,请访问帮助中心。app内错误截图出现问题原因是打包的时候,versionCode的值比提交到google play后台的版本要高。 打包的时候,和google play后台上的包的签名不一致,APK与发布证书一起签署。(重要提示:使用“Google Play应用程序签名”时,只有直接从Google PlayStore下载才有效! 登录测试机已登录谷歌账号,并已添加到谷歌测试账号中,添加地址https://play.g..原创 2020-07-06 22:01:43 · 12115 阅读 · 12 评论 -
RecycleView添加header和footer
最近开发,有个需求,网格布局的地步,需要添加底部footer,展示隐私权政策,本以为像listview一样很容易的add就好了,结果recycleview并没有这样的功能。项目中基本的recycleview并不能满足刷新和加载更多的操作,所以一直使用的是xrecycleview。奈何xrecycleview中只有addHead方法,项目中所需要的addfooter,并没有实现。所以仿照xrecycleview中的addhead方法,创建一个包裹器,添加addfooter方法。代码如下/** * De原创 2020-06-28 22:32:04 · 426 阅读 · 0 评论 -
Android中自定义CommonShapeButton替换Shape标签
在原有的基础上,新增了java版本,目前支持kotlin和java两个版本,git地址:文章链接又更新了,新增文字大小自适应方法,xml文件中可控在Android开发中,使用Shape标签可以很方便的帮我们构建资源文件,跟传统的png图片相比:shape标签可以帮助我们有效减小apk安装包大小。 在不同手机的适配上面,shape标签也表现得更加优秀。关于shape标签如何使用,在网...原创 2018-09-07 17:49:54 · 741 阅读 · 0 评论 -
面试-Java玩转选择排序和插入排序
上一篇文章介绍了Java玩转冒泡排序,大家一定觉得并没有什么难度吧,不知道大佬们玩转了吗?不知道大家有没有多思考,实际上在我们最后的一种思路上,还可以再继续改进。我们先看看昨天最终版本的代码。package com.lixm.animationdemo.other;/** * Describe: * <p> * Author: Lixm * Date: 2018/...原创 2018-10-11 15:48:16 · 166 阅读 · 0 评论 -
什么是Activity、View、Window?
第一问:什么是Activity、View、Window?Activity 是四大组件之一,也是我们的界面载体,可以展示页面;而View实际上就是一个一个的视图,这些试图可以搭载在一个Layout文件上,通过Activity的setContentView()方法传递给Activity;Window是一个窗体,每个Activity对应一个Window,但是每个Window并不是对应的只是Activ...原创 2018-10-25 17:25:56 · 601 阅读 · 0 评论 -
android权限(permission)大全
Android的权限在AndroidManifest.xml文件里配置。AndroidManifest文件中有四个标签与permission有关,他们分别是<permission><permission-group><permission-tree><uses-permission>。其中最常用的是<uses-permisson>...原创 2019-03-29 14:08:17 · 1480 阅读 · 0 评论 -
使用AndroidStudio网络抓包
抓包的方式有很多种,Filder需要添加手机代理,还有抓包神奇Charles,不过他需要一些繁琐的配置。今天主要说一下使用AndroidStudio进行网络抓包。主要使用到的工具是Profile,首先说一下打开步骤:设置完成以后,界面主要分成几个模块在这里,我们主要使用的是NETWORK模块,可以看到网络请求发生时,会有网络曲线波动,点击刚才的NETWORK模块...原创 2019-05-14 17:21:20 · 11327 阅读 · 6 评论 -
Android手动显示软键盘以及软键盘设置发送按钮的注意事项
最近更改项目中的输入框样式,涉及到软键盘的显示和隐藏问题,总结了几点注意事项,希望能帮到遇到同样问题的小伙伴。博文中除了显示软键盘的注意问题以外,还有一个发送按钮是否需要显示在软键盘上的问题一、先说一下显示软键盘我们的布局显示样式除了点击EditText,展示软键盘以外,点击两个按钮,也需展示软键盘Adroid中显示软键盘常用的方法是public boolea...原创 2019-05-10 16:24:34 · 3972 阅读 · 0 评论 -
RxJava的使用注意事项
之前就有阅读过RxJava,但未实现到项目中。最近项目升级,开始使用RxJava,又重新整理了几点需要注意的问题,希望能帮助到遇到问题的朋友onCompleted()和onError()二者也是互斥的,即在队列中调用了其中一个,就不会再调用另一个。应用到程序开发中,之前使用XUtils时,习惯将结束刷新或者隐藏加载框等操作放到onFinished()方法中,使用RxJava则需注意,成功...原创 2019-06-28 16:15:03 · 224 阅读 · 0 评论 -
AndroidManifast警告App is not indexable by Google Search
新建项目中,Manifast会出现一个警告,可能有点一头雾水,好,先来说一下警告的意思App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VIEW intent filter. See issue explanation for more details. les...原创 2019-07-26 11:36:00 · 206 阅读 · 0 评论 -
面试:面试常见的链表类算法捷径(一)
链表是我们数据结构面试中比较容易出错的问题,所以很多面试官总喜欢在这个上面下功夫,为了避免出错,我们最好先进行全面分析。在实际软件开发周期中,设计的时间通常不会比编码时间短,在面试的时候我们不要着急于写代码,而是一开始仔细分析和设计,这将给面试官留下一个很好的印象。与其很快写出一段千疮百孔的代码,不如仔细分析后再写出健壮性无敌的程序。面试题:输入一个单链表的头结点,返回它的中间元素。为了方...原创 2018-09-18 11:42:38 · 176 阅读 · 0 评论 -
Android进程间的通信
本文参考:https://www.cnblogs.com/lizhengxian/p/5075635.html 定义多进程Android应用中使用多进程只有一个办法(除去用NDK的fork实现外),就是在AndroidManifest.xm中声明组件时,用android:process属性来指定不单独定义process属性,则默认运行在主进程中,属于全局进程,其他具有相同的shareUID与签名的...原创 2018-06-27 16:35:27 · 154 阅读 · 0 评论 -
时间处理工具
// 获取系统当前日期时间public static String mGetDateTime() {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String date = format.format(new Date());return date;}// 获取系统当前日期原创 2015-06-26 11:53:05 · 230 阅读 · 0 评论 -
更改WebView的字体大小
上次总结了一下WebView更改字体大小的帖子,这次在加点料,索性把webView的字体颜色和背景颜色都设置一下。 现在的App大多数支持日夜间模式的切换,对于新闻阅读类的App,更改WebView的日夜间模式,显得尤为重要。更改字体颜色,主要的思想是在WebView加载的Data的外面,加载了一个模板,然后根据用户日夜间模式切换的点击事件,更改WebView的字体颜色。其实这里例子懂了之后,原创 2016-04-11 14:22:44 · 936 阅读 · 1 评论 -
TextView的ClickSpan
我们都知道WebView可以实现点击链接查看详情的功能,无论是APP内显示还是浏览器外显示,都很自如。但是WebView带来的高内存,网络请求耗时也是不可避免的。现在我们要仿照WebView的这一功能,给TextView添加链接跳转。 比如有这样一个需求,在”第一个界面是正常内容的,第一个界面中只有一个TextView,第一个界面中的TextView通过点击跳转,跳转到第二个界面。“这个内容原创 2016-04-11 16:29:37 · 436 阅读 · 0 评论 -
设置WebView字体颜色,背景颜色
上次总结了一下WebView更改字体大小的帖子,这次在加点料,索性把webView的字体颜色和背景颜色都设置一下。 现在的App大多数支持日夜间模式的切换,对于新闻阅读类的App,更改WebView的日夜间模式,显得尤为重要。更改字体颜色,主要的思想是在WebView加载的Data的外面,加载了一个模板,然后根据用户日夜间模式切换的点击事件,更改WebView的字体颜色。其实这里例子懂了之后,原创 2016-04-11 14:29:18 · 5516 阅读 · 0 评论 -
ListView关于Item高度的诡异问题
今天本想写一个简单的RecyclerView的demo,数据和逻辑都处理好之后,发现一个诡异的问题,item的高度都是固定,无论里面是有图片还是无图片如此糟糕的界面布局,其实代码很简单<LinearLayout android:id="@+id/friend_right_root" xmlns:android="http://schemas.android.com/a原创 2016-04-19 16:43:26 · 274 阅读 · 0 评论 -
HTTP1.0 HTTP 1.1 HTTP 2.0主要区别
HTTP1.0 HTTP 1.1主要区别长连接HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接。HTTP是基于TCP/IP协议的,创建一个TCP连接是需要经过三次握手的,有一定的开销,如果每次通讯都要重新建立连接的话,对性能有影响。因此最好能维持一个长连接,可以用个长连接来发多个请求。节约转载 2017-07-11 17:21:26 · 296 阅读 · 0 评论 -
DexClassLoader和PathClassLoader的区别
在使用Java虚拟机时,我们经常自定义继承自ClassLoader的类加载器。然后通过defineClass方法来从一个二进制流中加载Class。而在Android中我们无法这么使用,android中ClassLoader的defineClass方法具体是调用VMClassLoader的defineClass本地静态方法。而这个本地方法什么都没做,只是抛出了一个“UnsupportedOperat原创 2017-07-11 17:36:17 · 473 阅读 · 0 评论 -
如何通过JCenter 和 Mavenue Central 从 Android Studio 分发自己的Library库
在Adnroid Studio中,如果你想在你自己的项目中引用其他任何的第三方库。只需要在项目的build.gradle中添加如下简单的一行代码。 就这样,这个library库还不能被使用。 这个看起来很酷,但是你可能好奇,这个库Android Studio 是从哪里查询来的呢?这篇博客将会详细介绍整个工作流程,包括怎样发布你自己的库,并分享给世界其他地方的开发者。这不仅使世界变得美原创 2017-09-13 10:59:35 · 386 阅读 · 0 评论 -
TextView的ClickSpan
我们都知道WebView可以实现点击链接查看详情的功能,无论是APP内显示还是浏览器外显示,都很自如。但是WebView带来的高内存,网络请求耗时也是不可避免的。现在我们要仿照WebView的这一功能,给TextView添加链接跳转。 比如有这样一个需求,在”第一个界面是正常内容的,第一个界面中只有一个TextView,第一个界面中的TextView通过点击跳转,跳转到第二个界面。“这个内容原创 2016-04-11 16:28:58 · 1072 阅读 · 0 评论 -
Android开发中的tools命名空间的引用
在Android布局文件中,经常看到 xmlns:tools=”http://schemas.android.com/tools“,一直不知道有什么用,直到看到这篇博客,看到了tools的强大功能,不仅可以节省开发时间,还可以辅助页面布局在布局文件中使用tools命名空间Android Studio 布局文件中导入tools命名空间输入toolsNs,点击TAB转载 2017-09-29 11:20:55 · 273 阅读 · 0 评论 -
Bugly热更新集成,以及遇到的问题
这两天有在研究Bugly的热更新,集成后发现确实很方便,参考网址为:Bugly官网一、添加插件依赖工程根目录下“build.gradle”文件中添加// tinkersupport插件,其中lastest.release指拉取最新版本,也可以指定明确版本号,例如1.0.4classpath"com.tencent.bugly:tinker-support:1.0.8"二原创 2017-11-02 15:20:28 · 1831 阅读 · 0 评论 -
Image图片处理总结
忙了半年终于闲下来了一会,整理了一下图片处理过程中遇到的问题/*** 根据输入指定的圆角,获取Bitmap资源* * @param bitmap* @param roundPX* @return*/public static Bitmap getRoundCornerBitmap(Bitmap bitmap, float roundPX) {try {Bit原创 2015-06-26 11:43:36 · 620 阅读 · 0 评论