- 博客(96)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Android中排查ANR的方法
我看到过有些教程说是直接在data/anr/traces.txt可以找到ANR日志,但是这个方法其实可以说是过时的了,我在AS上使用Device File Explorer查看虚拟机的文件目录,也没有找出来traces.txt这么一个文件。所以,本篇文章讲的是目前依然有用的方式–使用adb命令。
2022-10-17 22:40:31 3503
原创 高版本AndroidStudio没有 Hierarchy Viewer
Android Studio中的Hierarchy Viewer已被废弃,官方推荐使用布局检查器Layout Inspector
2022-10-16 12:53:16 932
原创 安卓JSON格式化工具
在日常工作中,后端返回的报文有时候格式比较混乱,不方便我们解析。然后我网上搜了一下,好像离线版的安卓平台JSON格式化工具并不多。不过没关系,没有的话那就去创造一个。
2022-09-24 17:36:54 1390
原创 Android中selector图片失效的可能原因
本人曾经采用过Theme.MaterialComponents.Light.NoActionBar主题,结果导致selector失效,解决办法就是更换其他主题,可以更换为Theme.AppCompat.Light.NoActionBar主题。不熟悉的主题不要乱用。第一种:相信大家都遇到过,就是顺序问题。如果把按压的状态放到下面,就不会起作用。第二种:与采用的主题有关。
2022-08-21 23:19:37 1228 2
原创 css让图片的某些区域拉伸,其他部分保持比例,起到类似于安卓中点九.9图的效果
css图片拉伸后,让某些区域不变形的解决方案--类似于安卓中的点9图
2022-08-21 16:42:47 5994 1
原创 安卓中滑动选择控件WheelView
安卓中的滑动选择控件WheelView,可以用它来实现各种各样的滑动选择控件,例如日期选择、城市选择等等。
2022-07-17 16:16:48 3048
原创 小程序中控件里面的内容较多,让其支持滚动的良好方案
对于写过安卓原生的人来说,可能会按照思维定式,在小程序里直接使用scroll-view去实现滚动。这其实一个糟糕的想法,因为微信小程序文档里面已经写有了,使用竖向滚动时,需要给scroll-view指定一个固定的高度,如下图:我也是醉了,当列表的内容比较少的时候,指定固定高度,那肯定会留下很多剩余空间,你说丑不丑?例如下图,灰色区域是滚动区域,列表只有两个项目:我想要做的效果是,让滚动区域刚好包裹住里面的内容,只有高到一定程度了,才出现滚动效果。我尝试过给scroll-view标签加上height:f
2022-06-25 09:36:42 897 1
原创 安卓AS 中报错java.io.UncheckedIOException: java.nio.charset.MalformedInputException: Input length = 1
Android Studio报错MalformedInputException :Input length=1的解决办法
2022-06-16 23:29:46 2154
原创 使用AndServer框架开发一个文件上传、下载的应用--第二版
使用AndServer框架开发的一款安卓文件共享应用,其他设备只需和装上该应用的手机连接至同一个网络,即可轻松实现文件共享,无需消耗任何流量。
2022-06-11 11:45:51 3268 7
原创 AndroidStudio中Project下的build.gradle没有buildscript和allprojects了
前言最近想使用一个开源框架AndServer,根据文档说明,首先需要在Project下的build.gradle做如下配置:buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.yanzhenjie.andserver:plugin:2.1.10' ... }}allprojects {
2022-05-14 10:40:29 14347 4
原创 OkHttpClient报错java.lang.ExceptionInInitializerError at okhttp3.OkHttpClient.<init>
问题参考《第一行代码》第三版里面的,OkHttpClient使用4.1.0版本报如下的错误:java.lang.ExceptionInInitializerErrorCaused by: java.lang.IllegalStateException: Expected Android API level 21+ but was 30解决办法这个问题可能与版本有关,于是我选择了OkHttpClient最新的版本4.9.3,就没有这个报错了。implementation 'com.squareu
2022-05-08 16:00:50 2848 2
原创 在AS模拟器上访问本地电脑tomcat部署的资源报错java.net.ConnectException: Failed to connect to localhost/127.0.0.1:8081
前言平时为了做些安卓测试,我也会写一下后端的东西。已经有好长一段时间没写过服务端相关的内容了,今天看着郭霖的《第一行代码》,我把一个xml资源部署到了tomcat服务器上,在浏览器上是可以打开http://localhost:8081/test/get_data.xml这个地址进行访问的,但是在AS里面使用这个地址却报了如下的序错误(删减了部分错误内容):java.net.ConnectException: Failed to connect to localhost/127.0.0.1:8081
2022-05-08 11:27:21 1474
原创 css中让控件占满剩余空间的方法
前言对于安卓开发来说,让控件占满剩余的空间是经常使用到的,例如郭霖的《第一行代码》里,就有这么一个例子:在这个图中,发送按钮的宽度是刚好能够包裹住里面的内容,而输入框的宽度则是占满剩余的宽度,这种写法适配性非常好。有点扯远了,我们下面来看看css中如何实现这种效果。实现方法对于css,实现这种效果其实很简单,使用flex布局即可。代码如下:<!DOCTYPE html><html><head> <style> .con
2022-05-01 22:49:48 5257 1
原创 微信小程序中的wxml如何自动缩进、对齐
写过安卓原生应用的都知道,安卓的开发工具Android Studio在编写xml布局时,是会自动缩进的,这样可以让页面的层次结构显得更加清晰,方便代码的编写。但是微信小程序的开发工具貌似没有自动缩进的功能,只能手动格式化了。具体操作:鼠标右键-格式化文档,如下图所示当然了,你也可以到设置-快捷键设置-格式化文档,去设置专门的快捷键...
2022-04-17 16:40:09 11581 3
原创 微信小程序开发工具中如何创建与pages目录同级的目录
踩坑我原本是想创建一个images目录,让它与pages目录同级,如下图:但是结果出乎我的意料,我创建的目录跑到pages目录里面了,如下图:解决办法其实很简单,就是在创建目录之前,不要让pages目录处于选中的状态,不然你创建的目录就会跑到pages目录下面。那么如何不让pages目录处于选中状态呢?其实只需要点击一下空白的地方就可以了,如下图所示:...
2022-04-17 14:53:39 3893
原创 cvc-complex-type.2.4.d: 发现了以元素 ‘base-extension‘ 开头的无效内容。此处不应含有子元素。
问题描述升级了AS版本之后,原来还能跑的项目现在跑不了了,报:cvc-complex-type.2.4.d: 发现了以元素 ‘base-extension’ 开头的无效内容。此处不应含有子元素。
2022-04-16 17:03:49 16683
原创 IDEA部署Java Web项目,能访问servlet,但是访问jsp或者html页面都是空白页
前言最近在写个安卓私人助手应用,“关于本软件”页面我想直接加载一个网页,没想到接下来的事情让我很不解:输入网页的地址,没有报任何错,但是页面一直是空白的。按F12打开开发人员工具,如下图,也不见有什么报错呀!其实这里已经有一点线索了,那就是响应头中Content-Type居然是application/json。纳尼?我不是要打开一个网页吗?为什么服务端给我返回application/json的数据,而不是text/html?不过一开始我并没有抓住好这个关键点,就一直百度百度百度再百度。。。有说是过滤器
2022-03-09 22:21:31 5019
原创 安卓中的ListView做到每一个item都不同---以实现圆角背景效果为例
前言很多书籍都会讲到ListView的缓存优化,这个想必大家都知道。也正是因为缓存,让ListView变得有时候让人摸不着头脑。比如说我想做一个有圆角背景效果的ListView,如下图:也许很多人都会想到在getView方法里,根据position去采用不同的圆角背景图片,如果仅仅是这样,你会发现结果出乎你的意料:为什么有些地方不该圆的它圆了,该圆的它不圆?其实这就是缓存机制导致的。当然了,你也可以选择不采用缓存,但是这会导致性能大大降低,当数据量比较大时,快速滑动列表就会出现比较明显的卡顿现象。本篇
2022-03-03 21:16:42 902
原创 AS报 android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating
出现这种问题的原因很多,说一下我遇到这个问题的原因:使用了带v24结尾的图片,但是手机系统版本低于api24,也就是安卓7.0版本。我用的是模拟器,模拟器的版本较低,所以导致映射界面布局时报错、闪退。教训创建图片时小心点,没事别带上v24...
2022-03-02 22:32:48 2015 1
原创 QMUI框架关闭顶部的标题栏
前言根据官方的说明,使用QMUI要把主题的父类指定为QMUI.Compat,如下图:实时证明的确如此,如果不在指定这个主题,你会发现QMUI里面的很多控件都用不了。但指定了这个主题之后,顶部会有一个标题栏,如下图:我就是不想要这个标题栏,怎么去掉呢?解决办法在样式里加上两行代码即可,如下<item name="windowActionBar">false</item><item name="windowNoTitle">true</item>
2022-01-11 22:41:42 2194
原创 tomcat以war包方式部署的web项目在局域网内的其他设备访问不了,但直接用IDEA跑起来的却能访问
问题描述本人参照网上其他教程用IntelliJ IDEA打了一个web项目的war包,并把这个war包放到了tomcat的webapps目录下。使用部署web项目的电脑可以输入localhost:8080访问,但是使用局域网内的其他设备输入“服务器地址:8080”却访问不了。这真的是让我头疼,因为我直接用idea跑起来的项目,其他局域网内的设备就可以访问,到底是哪里出了问题?原因网络防火墙没有彻底关闭。部署web项目的那台电脑,打开网络防火墙,可以看到有“域网络”、“专用网络”、“公用网络”的几种类型
2021-10-30 18:40:49 906
原创 安卓开发小技巧:让预览的时候可以看到文字,运行之后不显示文字
前言在实际开发过程中,我们可能会遇到这么一个问题:我们为了可以实时地看到显示效果,会在xml上加一些文字,如下图:对应的xml代码如下:<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content"
2021-09-17 23:19:44 625
原创 安卓中动态调整TextView的外边距margin
前言有时候我们需要在代码中动态调整TextView的外边距,很多人可能都会知道调用TextView从父类继承下来的getLayoutParams(),但是可能不清楚要怎么处理才能做到改变外边距margin。首先可以肯定的是,直接使用ViewGroup.LayoutParams是不可行的。正确做法需要进行强制类型转换——TextView的父布局是什么,就转成什么的LayoutParams,胡乱转换可能会发生ClassCastException异常,从而导致程序闪退。正确示例xml布局activity
2021-08-19 20:56:04 4483
原创 安卓中无需使用反射,修改DatePicker中的文字颜色、分割线高度、整个DatePicker的高度
前言网上看了很多文章,都用到了反射,我尝试过了,在高版本安卓系统,会出现无效的情况,因为在高版本系统上,官方对反射作出了限制。本篇文章根据DatePicker的布局结构去实现界面改造,DatePicker的界面布局结构如下图:代码因为代码很简单,所以不做过多的解释。布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/and
2021-08-05 23:26:50 570 1
原创 Android中修改DatePicker中的Spinner的字体颜色及分割线颜色的简单方法
一、前言网上有用反射方式实现的,这种方式虽然比较强大,但也比较复杂,本篇文章讲的是比较简单的实现方式。AS中预览效果图如下(真机会有些差异,本人用真机试的月份显示的是数字):二、实现步骤第1步:定义样式<style name="Theme.picker" parent="Theme.AppCompat.Light"> <!--分割线颜色--> <item name="colorControlNormal">#ff0000</item> <
2021-08-03 00:38:54 1161
原创 解决Android Studio修改内存后打不开应用的问题
问题描述通过Help->Change Memory Settings修改内存后,退出AS,然后发现再也启动不了了,重启电脑也没有用。设置的界面如下图:解决方法进入到上图中的目录,删除掉studio64.exe.vmoptions这个文件即可。如果你不知道具体在哪个目录下,可以在C盘搜索studio64.exe。全盘搜索的速度较慢,可能需要几分钟。原因分析之所以在AS里面修改了内存后打不开AS,我猜是因为保存的文件内容有误,不信你可以点开studio64.exe.vmoptions那个文件,
2021-07-31 22:10:32 1402
原创 Android中ListView调用Adapter的notifyDataSetChanged()界面没有刷新的原因
问题描述今天写了个代码,ListView下面增加展开、收缩的按钮。我的思路是为list准备一个副本list2,原来的list用于展示,副本用于恢复数据。但是调用notifyDataSetChanged()并没有起到展开、收起的效果。原因分析在保存副本的时候,我是这么保存的:list2.addAll(list);但其实这样是行不通的,这种属于浅拷贝。只要你打印list和list2的hashCode,发现这两个集合的哈希值是一样的,他们引用同一个对象。...
2021-07-29 20:30:03 2261
原创 Android中自定义日期选择对话框(DatePicker只显示年、月)
前言系统提供的DatePicker会完整地显示年、月、日,而且其中的很多样式都不能自己调节。本篇文章所讲的年、月对话框效果如下图所示:主要代码CustomDateDialog.javaimport android.app.Dialog;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import
2021-06-14 20:32:04 3249 3
原创 Eclipse中查看一个方法可以传什么参数的快捷键
在IDEA中我们可以使用Ctrl+P快捷键去查看一个方法可以传什么参数,那么在Eclipse中呢?Eclipse中可以使用Alt+/去查看一个方法可以传什么参数。大概的步骤就是先把光标移动到某个方法的小括号内,再使用Alt+/快捷键就行了。...
2021-05-02 22:15:28 3233 2
原创 QT中界面跳转:从第n个界面立即返回第1个界面
问题描述A界面->B界面->C界面->D界面->E界面……->N界面,那么怎么实现从第N个界面点击按钮立即返回A界面?解决办法A->B时,用hide()方法隐藏掉A界面。我们一直点击,最后进入到了N界面,然后在N界面里,使用如下代码获取到指向A界面的指针:foreach (QWidget *widget, QApplication::allWidgets()){ qDebug()<<widget->windowTitle()
2021-04-23 22:43:52 1576
原创 QT中获取指定时间之前的时间QDateTime
描述假如我想获取1年之前的QDateTime,或者是3个月、14天之前的QDateTime,那怎么获取呢?办法其实很简单,看了一下帮助文档,发现有下面这句话:You can increment (or decrement) a datetime by a given number of milliseconds using addMSecs(), seconds using addSecs(), or days using addDays(). Similarly, you can use addM
2021-04-23 19:51:38 3139
原创 Android中步骤图界面的编写
一、前言相信大家在电脑版网页上经常看到这种情形:用户要完成某一件事情,需要经过多个步骤,这时页面上会以图形的方式显示总共有多少个步骤,当前处于第几步。对于手机端,这种用法相对而言要少一些,不过毕竟不是没有,掌握这种图形的编写方式还是很有必要的。当然,你也可以用PS绘制一张图片,直接放到XML界面上,但是使用直接放置图片的方法,可能会由于图像被拉伸而出现模糊的问题。本篇文章讲的是单纯地使用XML编写步骤图,效果如下图所示:二、关键点1、形状图形ShapeDrawable利用形状图形ShapeDraw
2021-03-29 22:03:34 674
原创 利用AndServer框架把安卓手机变成Web服务器实现局域网文件上传、下载功能
一、前言AndServer框架的作者是严振杰,关于该框架的使用方法,他的博客有对应的文章。不过,该文章有些老旧了,因为上边给出的github项目与该文章所讲的并不匹配。即使是下载了sample,菜鸟也不知道如何实现文件的下载功能,因为sample里面只有文件上传的例子。为此,本人阅读了其他博主相关的文章,自己实现了文件上传、下载的功能。AndServer框架可以把安卓手机变身为一台Web服务器,其他设备只需要和该手机连接同一个网络,在浏览器输入相应的地址,就可以访问、操作该手机(Web服务器)上的资源
2021-03-13 22:41:09 5871 14
原创 Android中Notification设置setSmallIcon、setLargeIcon无效的问题,仍显示安卓自带的机器人图标(小米10手机)
问题描述:使用setSmallIcon、setLargeIcon这两个方法设置通知的图标,但是我的小米10就是显示不出我设置的图标,而是显示安卓系统自带的机器人图标。另一台手机荣耀9却没有这个问题。解决方法其实这个问题是小米手机的缓存导致的,可以更新主题、重启手机,然后图标就能正常显示了。至于卸载重装,我试了,这种方法行不通。...
2021-03-05 22:29:38 4819 7
原创 高版本安卓系统动态授予了权限依然无法写入文件java.io.FileNotFoundException: ... open failed: EACCES (Permission denied)
问题描述高版本的安卓系统在动态授予了读写权限之后,依然无法写入文件到外部存储空间。解决方法在Androidmanifest.xml文件的application标签加上android:requestLegacyExternalStorage=“true”,如下图:
2021-02-26 10:29:00 1196 4
原创 免费将手机游戏低延迟投屏到电脑上玩
目前市面上有很多投屏软件,要么收费,要么高延迟,要么带水印,能有多坑就有多坑,本人来分享一个低延迟、免费、无水印的投屏软件----Lenovo One Lite。该软件是联想的,下载地址:https://one.lenovo.com/download.html使用说明:用手机数据线连接至电脑即可,记得要打开调式模式,一般是在设置里面连续点击7次手机版本号,就能打开开发模式,从而才能打开USB调试。不知道具体如何操作的,请自行询问度娘。截图:我手机上装了“海星模拟器”,然后通过这种方式将游戏画面投.
2021-01-23 21:38:16 1592 2
原创 Android中设置主题用自己的style时,屏幕背景在部分手机上是黑色的,部分手机就正常
出现该问题的原因: 在style里面直接写上16进制颜色值正确做法: 应该以引用的方式去引用颜色,如下:<style name="Blue" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:colorPrimaryDark">@color/status_blue</item> <item name="android:statusBarColor">
2020-12-02 17:10:09 812
在qt中QMainWindow这个关键字为什么没有变成紫色?
2017-05-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人