安卓开发
文章平均质量分 58
安卓开发
YSoup
It's never late to be the person you want to be.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2025年目前最新版本Android Studio自定义xml预览的屏幕分辨率
摘要:本文介绍了在Android Studio中创建自定义分辨率模拟器的方法。首先通过Device Manager查看真实设备的屏幕参数(1256x2760,560dpi),然后在创建虚拟设备时选择"New hardware profile"功能,输入获取的分辨率信息。对于屏幕尺寸计算,建议使用勾股定理计算对角线长度后除以dpi值,或直接询问AI设备尺寸。创建完成后即可在布局预览中选择该设备查看真实效果。该方法解决了特殊分辨率设备的预览需求,使开发者能更准确地适配各种屏幕尺寸。原创 2025-06-01 11:57:21 · 1821 阅读 · 0 评论 -
Android Studio报错Cannot parse result path string:
在开发过程中,作者遇到了一个报错信息“Cannot parse result path string:xxxxxxxxxxxxx”,通过百度、AI等途径均未能找到解决方案。经过排查,作者采用了代码回退法,最终确定问题出在引入的de.hdodenhof:circleimageview:3.0.1库上。为了解决这个问题,作者尝试将该库的版本升级到3.1.0,成功解决了报错问题。原创 2025-05-17 11:08:36 · 398 阅读 · 0 评论 -
2025深圳中兴通讯安卓开发社招面经
2025年社招面试深圳中兴通讯安卓开发岗位的面试经验与感想原创 2025-04-23 23:05:26 · 1288 阅读 · 0 评论 -
安卓中WebView和原生的通信示例Demo(含完整源码)
安卓中原生和WebView的通信方式,附有完整的源码,方便参考学习。原创 2022-11-14 00:12:52 · 3865 阅读 · 1 评论 -
Android中排查ANR的方法
我看到过有些教程说是直接在data/anr/traces.txt可以找到ANR日志,但是这个方法其实可以说是过时的了,我在AS上使用Device File Explorer查看虚拟机的文件目录,也没有找出来traces.txt这么一个文件。所以,本篇文章讲的是目前依然有用的方式–使用adb命令。原创 2022-10-17 22:40:31 · 3967 阅读 · 0 评论 -
高版本AndroidStudio没有 Hierarchy Viewer
Android Studio中的Hierarchy Viewer已被废弃,官方推荐使用布局检查器Layout Inspector原创 2022-10-16 12:53:16 · 1237 阅读 · 0 评论 -
安卓11以上版本远程启动服务(启动其他应用的服务)
安卓11以上版本远程启动Service的方法原创 2022-09-25 10:32:47 · 1104 阅读 · 1 评论 -
安卓JSON格式化工具
在日常工作中,后端返回的报文有时候格式比较混乱,不方便我们解析。然后我网上搜了一下,好像离线版的安卓平台JSON格式化工具并不多。不过没关系,没有的话那就去创造一个。原创 2022-09-24 17:36:54 · 1551 阅读 · 0 评论 -
Android中selector图片失效的可能原因
本人曾经采用过Theme.MaterialComponents.Light.NoActionBar主题,结果导致selector失效,解决办法就是更换其他主题,可以更换为Theme.AppCompat.Light.NoActionBar主题。不熟悉的主题不要乱用。第一种:相信大家都遇到过,就是顺序问题。如果把按压的状态放到下面,就不会起作用。第二种:与采用的主题有关。原创 2022-08-21 23:19:37 · 1343 阅读 · 2 评论 -
安卓中滑动选择控件WheelView
安卓中的滑动选择控件WheelView,可以用它来实现各种各样的滑动选择控件,例如日期选择、城市选择等等。原创 2022-07-17 16:16:48 · 3352 阅读 · 0 评论 -
安卓AS 中报错java.io.UncheckedIOException: java.nio.charset.MalformedInputException: Input length = 1
Android Studio报错MalformedInputException :Input length=1的解决办法原创 2022-06-16 23:29:46 · 2484 阅读 · 0 评论 -
使用AndServer框架开发一个文件上传、下载的应用--第二版
使用AndServer框架开发的一款安卓文件共享应用,其他设备只需和装上该应用的手机连接至同一个网络,即可轻松实现文件共享,无需消耗任何流量。原创 2022-06-11 11:45:51 · 4087 阅读 · 8 评论 -
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 · 16335 阅读 · 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 · 3084 阅读 · 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 · 1642 阅读 · 0 评论 -
cvc-complex-type.2.4.d: 发现了以元素 ‘base-extension‘ 开头的无效内容。此处不应含有子元素。
问题描述升级了AS版本之后,原来还能跑的项目现在跑不了了,报:cvc-complex-type.2.4.d: 发现了以元素 ‘base-extension’ 开头的无效内容。此处不应含有子元素。原创 2022-04-16 17:03:49 · 17610 阅读 · 0 评论 -
android-studio-2021.1.1.22-windows64位下载
下载地址放在阿里云盘了原创 2022-03-11 20:29:27 · 4584 阅读 · 2 评论 -
安卓中的ListView做到每一个item都不同---以实现圆角背景效果为例
前言很多书籍都会讲到ListView的缓存优化,这个想必大家都知道。也正是因为缓存,让ListView变得有时候让人摸不着头脑。比如说我想做一个有圆角背景效果的ListView,如下图:也许很多人都会想到在getView方法里,根据position去采用不同的圆角背景图片,如果仅仅是这样,你会发现结果出乎你的意料:为什么有些地方不该圆的它圆了,该圆的它不圆?其实这就是缓存机制导致的。当然了,你也可以选择不采用缓存,但是这会导致性能大大降低,当数据量比较大时,快速滑动列表就会出现比较明显的卡顿现象。本篇原创 2022-03-03 21:16:42 · 981 阅读 · 0 评论 -
QMUI框架关闭顶部的标题栏
前言根据官方的说明,使用QMUI要把主题的父类指定为QMUI.Compat,如下图:实时证明的确如此,如果不在指定这个主题,你会发现QMUI里面的很多控件都用不了。但指定了这个主题之后,顶部会有一个标题栏,如下图:我就是不想要这个标题栏,怎么去掉呢?解决办法在样式里加上两行代码即可,如下<item name="windowActionBar">false</item><item name="windowNoTitle">true</item>原创 2022-01-11 22:41:42 · 2270 阅读 · 0 评论 -
安卓开发小技巧:让预览的时候可以看到文字,运行之后不显示文字
前言在实际开发过程中,我们可能会遇到这么一个问题:我们为了可以实时地看到显示效果,会在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 · 721 阅读 · 0 评论 -
安卓中动态调整TextView的外边距margin
前言有时候我们需要在代码中动态调整TextView的外边距,很多人可能都会知道调用TextView从父类继承下来的getLayoutParams(),但是可能不清楚要怎么处理才能做到改变外边距margin。首先可以肯定的是,直接使用ViewGroup.LayoutParams是不可行的。正确做法需要进行强制类型转换——TextView的父布局是什么,就转成什么的LayoutParams,胡乱转换可能会发生ClassCastException异常,从而导致程序闪退。正确示例xml布局activity原创 2021-08-19 20:56:04 · 5034 阅读 · 0 评论 -
安卓中无需使用反射,修改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 · 662 阅读 · 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 · 1401 阅读 · 0 评论 -
解决Android Studio修改内存后打不开应用的问题
问题描述通过Help->Change Memory Settings修改内存后,退出AS,然后发现再也启动不了了,重启电脑也没有用。设置的界面如下图:解决方法进入到上图中的目录,删除掉studio64.exe.vmoptions这个文件即可。如果你不知道具体在哪个目录下,可以在C盘搜索studio64.exe。全盘搜索的速度较慢,可能需要几分钟。原因分析之所以在AS里面修改了内存后打不开AS,我猜是因为保存的文件内容有误,不信你可以点开studio64.exe.vmoptions那个文件,原创 2021-07-31 22:10:32 · 1632 阅读 · 0 评论 -
Android中ListView调用Adapter的notifyDataSetChanged()界面没有刷新的原因
问题描述今天写了个代码,ListView下面增加展开、收缩的按钮。我的思路是为list准备一个副本list2,原来的list用于展示,副本用于恢复数据。但是调用notifyDataSetChanged()并没有起到展开、收起的效果。原因分析在保存副本的时候,我是这么保存的:list2.addAll(list);但其实这样是行不通的,这种属于浅拷贝。只要你打印list和list2的hashCode,发现这两个集合的哈希值是一样的,他们引用同一个对象。...原创 2021-07-29 20:30:03 · 2375 阅读 · 0 评论 -
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 · 3508 阅读 · 3 评论 -
Android中步骤图界面的编写
一、前言相信大家在电脑版网页上经常看到这种情形:用户要完成某一件事情,需要经过多个步骤,这时页面上会以图形的方式显示总共有多少个步骤,当前处于第几步。对于手机端,这种用法相对而言要少一些,不过毕竟不是没有,掌握这种图形的编写方式还是很有必要的。当然,你也可以用PS绘制一张图片,直接放到XML界面上,但是使用直接放置图片的方法,可能会由于图像被拉伸而出现模糊的问题。本篇文章讲的是单纯地使用XML编写步骤图,效果如下图所示:二、关键点1、形状图形ShapeDrawable利用形状图形ShapeDraw原创 2021-03-29 22:03:34 · 821 阅读 · 0 评论 -
利用AndServer框架把安卓手机变成Web服务器实现局域网文件上传、下载功能
一、前言AndServer框架的作者是严振杰,关于该框架的使用方法,他的博客有对应的文章。不过,该文章有些老旧了,因为上边给出的github项目与该文章所讲的并不匹配。即使是下载了sample,菜鸟也不知道如何实现文件的下载功能,因为sample里面只有文件上传的例子。为此,本人阅读了其他博主相关的文章,自己实现了文件上传、下载的功能。AndServer框架可以把安卓手机变身为一台Web服务器,其他设备只需要和该手机连接同一个网络,在浏览器输入相应的地址,就可以访问、操作该手机(Web服务器)上的资源原创 2021-03-13 22:41:09 · 6693 阅读 · 14 评论 -
Android中Notification设置setSmallIcon、setLargeIcon无效的问题,仍显示安卓自带的机器人图标(小米10手机)
问题描述:使用setSmallIcon、setLargeIcon这两个方法设置通知的图标,但是我的小米10就是显示不出我设置的图标,而是显示安卓系统自带的机器人图标。另一台手机荣耀9却没有这个问题。解决方法其实这个问题是小米手机的缓存导致的,可以更新主题、重启手机,然后图标就能正常显示了。至于卸载重装,我试了,这种方法行不通。...原创 2021-03-05 22:29:38 · 5413 阅读 · 7 评论 -
高版本安卓系统动态授予了权限依然无法写入文件java.io.FileNotFoundException: ... open failed: EACCES (Permission denied)
问题描述高版本的安卓系统在动态授予了读写权限之后,依然无法写入文件到外部存储空间。解决方法在Androidmanifest.xml文件的application标签加上android:requestLegacyExternalStorage=“true”,如下图:原创 2021-02-26 10:29:00 · 1312 阅读 · 4 评论 -
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 · 1107 阅读 · 0 评论 -
中国传统颜色安卓App
本应用数据来源于http://zhongguose.com/,由本人解析json数据展示在安卓应用上。apk下载地址:https://wwa.lanzous.com/ir91Vhlw7sf部分截图如下:原创 2020-10-21 10:34:41 · 2468 阅读 · 0 评论 -
AndroidStudio中setContentView(R.layout.activity)里边的R.layout.activity显示红色,但程序能跑起来;
问题R.layout.activity也就是activity显示为红色,但程序可以运行起来,对应的界面也可以看得到。解决方法关闭项目Project,再重新打开就不报红了。这应该是版本存在的bug吧,我用的版本还是比较新的。...原创 2020-07-18 20:19:34 · 2370 阅读 · 0 评论 -
安卓中注册登录功能模块的编写
一、前言很多的应用程序都有登录功能模块,这里的登录注册功能只是简单地模拟了登录注册的过程,并没有真正的发送短信、接收短信的功能。如果想要实现这样的功能,就需要借助第三方平台,比如Bomb。二、界面截图登录界面在该界面只要输入了用户名和密码,再点击登录就能进入到主界面。用户名和密码是可以随便输入的,因为只是一个模拟过程,如果需要真的登录,就需要另外添加登录的逻辑了。注册界面该界面同样...原创 2020-04-07 20:22:09 · 2971 阅读 · 1 评论 -
安卓中活动的生命周期——面试、笔试必考题
一、前言安卓开发岗位面试官最喜欢问的问题就是活动的生命周期,尤其是对于应届生来说,对于这种基础的问题一定要记牢。既然没有工作经验,如果基础的问题都回答不出来,那凭什么别人会相信你有潜力?二、知识点每个活动的生命周期中会存在四种状态:运行、暂停、停止、销毁。安卓中Activity总共有七个回调函数,分别是:①onCreate(),这个方法在活动第一次创建的时候会被调用,在里面可以加载布局...原创 2020-03-29 21:49:07 · 2378 阅读 · 4 评论 -
Android中利用SQLite数据库实现一个简单的记事本
一、应用介绍应用总共有3个界面,支持增删改查操作。①首先,打开应用将进入如下界面:在这里可以新建日记。②点击右上角竖着的“三个点”,弹出菜单,菜单选项分别是“查看日记”、“退出程序”。③点击“查看日记”,则会进入如下的界面:该界面的列表是运用RecyclerView来制作的。在该界面点击时间部分可以删除对应的记录。④点击标题“抓射手”,则会进入到如下的详情界面:在这里可以查阅...原创 2020-03-24 18:36:52 · 3865 阅读 · 0 评论 -
Android中桌面上显示的应用名称和MainActivity的label相同,或者说活动名和应用名产生干扰的解决办法
一、说明想在MainActivity顶部的ActionBar上面显示当前活动的名称,于是我就给MainActivity加上了android:label属性。但是问题来了,手机桌面上应用的名称非得和MainActivity的label名称相同。应用是应用的名称,活动是活动的名称,实在不理解这种设定。二、解决办法如果非要在顶部显示当前活动的名称,建议还是不要使用默认的ActionBar了,可以改...原创 2020-03-24 11:05:43 · 1737 阅读 · 0 评论 -
安卓中用共享参数“SharedPreferences”保存、读取数据,以登录界面为例
一、在安卓里面,想要把数据永久保存下来(不至于退出程序数据就没了),可以使用SharedPreferences这个类来实现,和其他方式(文件保存方式、SQLite数据库保存)相比,比较简单。这里用的是SharedPreferences来简单地实现用户信息的保存。二、SharedPreferences以键值对的方式来保存数据,读取数据时用SharedPreferences对象的get…()方...原创 2020-03-21 23:31:19 · 1382 阅读 · 3 评论 -
安卓中给PopupWindow中的按钮绑定单击事件
一、出现的问题最近在看明日科技的书籍《安卓精彩编程200例》,第一个例子就是用PopupWindow模仿微信的右上角菜单,如下图所示:但是书中也就给出这么一个效果而已,没有说怎么给菜单中的按钮绑定单击事件。按钮若是不能响应单击事件,那么要这些按钮有何用?一开始我直接用findViewById()去查找PopupWindow中的按钮,然后为它绑定单击事件。但是结果出现了空指针异常,程序闪退...原创 2020-03-04 20:35:30 · 1440 阅读 · 5 评论 -
安卓中按一定时间间隔更新界面,以显示当前时间为例
一、 说明只需要重写Handler类中处理消息的方法,当新启动的线程发送消息时,Handler类中处理消息的方法就会被自动回调。二、代码java代码import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os...原创 2020-03-03 15:03:16 · 600 阅读 · 0 评论
分享