android开发
文章平均质量分 68
分享开发中遇到的android常见问题
韩zj
android开发
springBoot开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
android实现调用deepseek,获取到结果后,定时拼接显示返回内容,页面随文本增加,屏幕移动到文本底部
deepseek原创 2025-05-14 17:26:22 · 561 阅读 · 0 评论 -
android webview加载第三方网页,<select>控件无法弹出的问题
我这边用原生的webview加载第三方网页,有个弹框,无法弹出,一看网页源码,用的是select控件,但是在安卓手机浏览器上,iOS上,都是可以的,然后调试,控制台也没报错。我发现问题是出在webview的初始化上,之前呢,webview都是直接findviewbyid的,后来因为释放内存的需要,修改成在代码里new一个webview,问题就出在这个初始化上,不要用getApplicationContext(),用当前activity,就可以了。WebviewBase是当前activity。原创 2023-10-19 15:48:36 · 907 阅读 · 0 评论 -
Android Framework-管理Activity和组件运行状态的系统进程—— ActivityManagerService(AMS)
AMS原创 2023-03-09 13:55:45 · 951 阅读 · 0 评论 -
Android Framework-Android启动过程
对《深入理解Android内核设计思想(第2版)》 Android启动过程进行整理原创 2023-03-06 16:16:01 · 847 阅读 · 0 评论 -
Android Framework-进程间通信——Binder
对《深入理解Android内核设计思想(第2版)》 Binder部分进行整理原创 2023-03-03 10:54:03 · 1740 阅读 · 0 评论 -
Android Framework-Android进程/线程和程序内存优化
对《深入理解Android内核设计思想(第2版)》Android进程/线程和程序内存优化 进行整理原创 2023-03-01 16:24:36 · 819 阅读 · 1 评论 -
Android Framework-操作系统基础
深入理解Android内核设计思想(第2版)Android原理篇-操作系统基础原创 2023-03-01 14:10:01 · 734 阅读 · 0 评论 -
android 如何混淆以及排查混淆后不明Bug
如何混淆,以及排查混淆后的不明bug原创 2022-10-27 10:18:59 · 3403 阅读 · 0 评论 -
vue与安卓原生定位的交互
Vue与安卓原生定位的交互,以及交互的通用写法原创 2022-07-20 17:28:06 · 1962 阅读 · 0 评论 -
android webview对接支付宝h5,提示验签错误
最近在对接支付宝h5功能,通过webview加载html格式的文本,类似于这样android代码是原来是这样的 webView.loadData(url, "text/html", "UTF-8");但是总提示验签错误,后端又强调代码没问题,这段html代码放在前端浏览器里也能运行,很是纠结。试了一下午,才知道是里边特殊字符还是转义的问题,所以修改以后的代码是这样的 url = url.replaceAll("\\\\", ""); webView.loadDataWit原创 2021-12-23 16:24:48 · 1839 阅读 · 0 评论 -
android webview调起微信h5支付以后发生了什么
webview调起微信h5支付先把webview调起微信h5支付的代码贴一下,网上都有 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_webview_privacy); ButterKnife.bind(this);原创 2021-10-25 14:16:46 · 657 阅读 · 0 评论 -
android webview 访问https链接中http的图片或视频
android 通过webview访问https网页,网页里嵌套有http地址的图片或者视频,报错Mixed Content: The page at 'xxx' was loaded over HTTPS, but requested an insecure resource 'xxx'.解决方法 webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);...原创 2021-08-25 09:26:33 · 780 阅读 · 0 评论 -
android webview 视频横竖屏切换,下载视频功能
1.webview加载视频,横竖屏切换Activity内嵌WebView,加载有视频的页面时,视频无法全屏播放。全屏按钮不显示或者灰显。页面布局<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"原创 2021-08-23 15:37:14 · 1900 阅读 · 1 评论 -
使用Activity Result API 出现 Can only use lower 16 bits for requestCode
今天使用Activity Result API进行页面之间的传值,结果出现 java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCode先上代码 ActivityResultLauncher<String> launcher;//registerForActivityResult方法由ComponentActivity或者Fragment提供,接受2个参数,第一个参数就是我们定义的Contr原创 2021-08-18 13:51:54 · 937 阅读 · 0 评论 -
popupwindow显示在指定控件之上
传入指定控件的高度,popupwindow减去这个高度,然后显示的时候,上移这个高度parentViewHeight 为指定控件的高度public class ShoppingCarWindow extends PopupWindow{。。。。 //设置SelectPicPopupWindow弹出窗体的宽 this.setWidth(ViewGroup.LayoutParams.MATCH_PARENT); //设置SelectPicPopupWindow弹出窗体的原创 2021-08-17 17:25:05 · 2092 阅读 · 0 评论 -
对老项目进行组件化改造的几点思考与踩坑
背景老项目是单一架构,所有的功能都在一个工程里,后期很不好维护,所以对老项目进行组件化改造,关于组件化,我之前写过一篇文章,android组件化开发和总结,写的比较久了,推荐另一篇文章,Android组件化开发,组件化实现的细节写的很清楚。经过几天的改造,踩了不少坑,也有了些想法,记录一下禁忌先说一下项目开发中的禁忌,绝对绝对不要在工具类中包含业务逻辑。很简单,举个例子,在工具类中写了主要的业务逻辑,如果有一天,要把工具类抽出来,作为公用的,非常麻烦,就像主工程引用一个jar包,jar包里又包含主工程原创 2021-03-12 16:48:05 · 529 阅读 · 2 评论 -
Okhttp首次访问接口超时的分析以及解决办法
问题重现开发的一款app,网络访问框架是okhttp。在内网测试,需要设定dns,连接wifi,设置dns,测试为了抓包,wifi设置了代理。问题:首次访问接口,会超时,后续访问接口速度就很快,间隔一段时间不访问,访问接口也会超时,抓包显示,服务器很快就返回了数据,有时候会连续返回两条。我的okhttp配置 ClearableCookieJar cookieJar1 = new PersistentCookieJar(new SetCookieCache(), new SharedPrefsCooki原创 2021-01-22 15:04:28 · 10675 阅读 · 11 评论 -
dataBinding事件处理无效的Bug
根据官方文档,布局和绑定表达式,学习dataBinding,在布局中绑定事件,发现事件无效,在网上搜索了一些文章,是因为忘了写一段代码,记录一下<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="user"原创 2020-06-16 15:21:56 · 1401 阅读 · 0 评论 -
android 点击home键,再点击app icon,app重启
第一种解决办法:查看AndroidManifest.xml种LAUNCHER Activity中是否有android:launchMode=“singleTask”,有的话去掉第二种解决方法:如果还不行的话,在引导页的onCreate方法中加入 //防止点击home键,再点击图标,重启的bug if (!isTaskRoot()) { ...原创 2020-05-07 10:59:40 · 457 阅读 · 0 评论 -
android 6.0权限检测以及6.0以下,麦克风、相机权限判断
android 6.0以上权限android 6.0以上权限,我是通过PermissionsDispatcher进行申请,操作的,具体使用方法,见PermissionsDispatcher,Android 6.0运行时权限详解@RuntimePermissionspublic class SplashActivity extends BaseCompatActivity.... ...原创 2020-01-02 10:32:50 · 2770 阅读 · 1 评论 -
android h5 input file 的适配和小米手机调起系统相册无效的Bug
适配h5中 < input file>调起相机和相册的功能代码: private ValueCallback<Uri> uploadMessage; private ValueCallback<Uri[]> uploadMessageAboveL; private String mCurrentPhotoPath; priv...原创 2019-12-12 16:43:55 · 2934 阅读 · 0 评论 -
Tinker踩坑
Tinker 接入指南Tencent/tinker集成Tinker最主要的两个部分:一个是接入文档,另一个是github上的demo,可以将tinker-sample-android单独下载下来,运行,参考里边的配置。集成中遇到了一些问题,记载一下集成步骤1.在项目的build.gradle,配置 dependencies { classpath 'com.android...原创 2019-11-26 15:41:59 · 1030 阅读 · 0 评论 -
AndFix简单使用
简介AndFix是阿里开源的一个Android热补丁框架,App可以在不重新发布版本的情况下,通过补丁替换出现bug的方法,达到修复bug的目的。现在支持android2.3到7.0,支持ARM 和X86 (AndFix supports Android version from 2.3 to 7.0, both ARM and X86 architecture, both Dalvik and...原创 2019-11-21 10:53:29 · 336 阅读 · 0 评论 -
设置屏幕亮度,并且监听屏幕亮度变化
公司有个需求,弹出对话框,设置当前屏幕亮度是最大亮度的90%,对话框消失,恢复到原来亮度。有一种特殊情况,就是在弹出对话框的界面打开之后,用户手动调节了亮度,需要在界面中监听亮度变化工具类代码:public class ScreenUtil{ /** * 判断是否开启了自动亮度调节 */ public static boolean isAutoBrightne...原创 2019-10-21 16:16:23 · 3610 阅读 · 0 评论 -
ShareSDk微信分享签名获取及修改后不生效的解决办法
在微信开放平台,获取安卓应用签名,有两种方法,第一种是通过android studio命令行,命令如下:keytool -list -v -keystore H:\路径\XXXXX.jks重点:签名是MD5,不是SHA1,MD5要小写,并且不要":"第二种获取方式,是使用开放平台上的获取签名工具重要:如果签名错误,或者其他原因,修改了签名,在之前测试过的机器上是不能立马生效的,应该删除当前机...原创 2018-10-21 20:11:55 · 2946 阅读 · 0 评论 -
android应用运行中,在设置中修改权限,返回应用崩溃
权限管理我程序中使用了PermissionsDispatcher进行权限的管理,具体使用方法,参考Android 6.0运行时权限详解。问题重现使用PermissionsDispatcher进行程序管理,在程序运行过程中,申请权限和拒绝权限都不会出现问题,后来发现,在程序运行过程中,比如进入某个页面,然后点击home键,在设置中,选择该应用,关闭某个权限,再返回该应用,点击back键,会出现...原创 2018-10-09 10:11:29 · 14180 阅读 · 8 评论 -
替代Service的WorkManager
总述从事安卓开发,对四大组件应该都相当熟悉,这个在面试的时候也会经常出现,其实service一直被用来做后台运行的操作,包括一些保活,上传数据之类的,这个后台运行的弊端很多,比如耗电,比如设计用户隐私之类的,谷歌对这些后台行为进行了一些处理,从Android Oreo(API 26) 开始,如果一个应用的目标版本为Android 8.0,当它在某些不被允许创建后台服务的场景下,调用了Servi...原创 2018-08-20 16:12:52 · 5718 阅读 · 0 评论 -
android 开发技巧(17)--ListView的选择模式
效果图: ListView 定义了choiceMode属性,描述是这样的: 用于为视图定义选择行为。默认情况下,列表时没有任何选择行为的。如果把choiceMode设置为singleChoice,列表允许有一个列表项处于被选状态。如果把choiceMode设置为multipleChoice,那么列表允许有任意数量的列表项处于被选状态ListView以某种方式通过Checkable接原创 2016-03-03 14:57:41 · 1228 阅读 · 0 评论 -
返回到某一流程中指定Activity,关闭其他Activity
有一个需求,就是走完一个流程,需要通过A,B,C,D,E,F六个Activity,然后在最后提交以后,要返回到A,关闭B,C,D,E,F,要实现这个功能,简单粗暴的方法,就是在类中,定义一个staitic变量,比如 public static A instance;,在oncreate方法中设置instance = this;,在onDestroy方法中设置instance = null;然...原创 2018-12-03 13:48:09 · 2156 阅读 · 0 评论 -
android组件化开发和总结
为什么会需要组件化随着项目的发展,业务逻辑越来越复杂,代码量越来越多,会带来:各种业务模块耦合在一起,不利于维护,不利于新入职成员的阅读改动一个小功能,就要重新编译整个工程,编译时间较长代码量越来越大,不利于对代码的拆分对于测试,新功能无法单独测试这样就需要使用组件化和插件化什么是组件化组件化:模块组件和通用组件,可分为业务组件和UI组件等等,比如下拉刷新可作为通用ui组件,供...原创 2018-12-10 20:29:37 · 1477 阅读 · 1 评论 -
通过图片和base64互转,实现图片上传和下载显示以及踩坑
前言实现一个类似于微信的图片界面,包括拍照和相册,拍照包括裁剪,相册包括预览,可以选中指定张数的图片,将图片转换为base64上传到服务器。可以从服务器将已经上传的图片资源,通过base64字符串下载,然后将base64转换为图片,在界面显示,具体效果图:这个类似于微信的效果,是我在网上找了个demo,这篇文章主要是谈base64和图片转换遇到的问题,实现效果可以自行下载这个demo,仿微信...原创 2019-02-26 16:03:04 · 8423 阅读 · 0 评论 -
RecylerView嵌套viewpager,viewpager不显示,或者只显示第一项的解决办法
RecylerView的子项里包含ViewPager,1.如果所有ViewPager不显示,RecyclerView的item必须要个高度,所以要给Viewpager设置一个固定高度2.如果只有第一项显示,其他项的viewpager不显示, ViewPager在同一个页面中,不允许存在相同的id,需要给不同的viewpager设置不同的ID,不要设置为0,否则会不显示 ViewPager ...原创 2019-06-19 10:04:07 · 2309 阅读 · 0 评论 -
ViewPager实现子项折叠,中间突出,两侧显示部分,并且以阴影显示
效果图先上一个效果图,看一下实现效果大概说明一下:最外层布局,是ViewPager,子项是Fragment,一屏幕显示5个子项,中间位置突出,两侧子项缩放,并且隐藏在中间子项后边,用阴影显示实现步骤外层布局外层布局就是一个ViewPager,先定义好:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns...原创 2019-06-14 15:26:54 · 2676 阅读 · 0 评论 -
webview与js通信踩坑以及返回键处理与清空浏览历史操作
最近在做webview与js通信,遇到一些坑,记录一下1.webview与js方法交互首先,webview与js确定一个类名,作为通信的依据,比如"android",webview设置webSettings.setJavaScriptEnabled(true) 表示让WebView支持调用Js; webView.addJavascriptInterface(new AndroidtoJs(...原创 2019-07-01 11:17:10 · 1551 阅读 · 0 评论 -
RecyclerView实现列表item部分重叠效果
效果图需要实现列表item阴影效果,需要两个item部分重叠,实现的方法是,addItemDecoration,设置outRect.bottom或者其他字段为负值。如果需要最后一个不重叠,在方法中进行判断是不是最后一项就可以了 mRecyclerView.addItemDecoration(new RecyclerView.ItemDecoration() { @Overri原创 2018-03-27 16:37:36 · 7776 阅读 · 0 评论 -
Android TV自定义处理焦点控件
Android stuido有android tv项目模板,有一套规则,如果想开发TV版项目可以按照那个模板来,不过那个模板定制性太强。tv版app和其他app有一点不同,就是用遥控器进行操作,所以要想按照自己需求来开发,就要处理好焦点事件。 其实也不复杂,只要继承现有的控件,在onFocusChanged事件中,对自己的需求进行定制就可以了。提供几个例子: 1.显示图片的控件,默认加载默认图...原创 2018-03-26 14:07:26 · 3285 阅读 · 1 评论 -
ScrollView嵌套ListView,加载大量数据,界面卡顿问题的探讨
之前使用ScrollView嵌套ListView,解决ScrollView嵌套ListView,列表项高度不同,显示不全的问题,现在发现一个问题,因为在ListView中计算各个列表项的高度,所以ListView实际上是全部展开的,这样的话,不能使用ListView重用的机制,如果数据过多,则列表绘制的时候,会出现卡顿,一段时间后才显示出来。所以为了性能,就把界面重新优化,还是在ScrollV原创 2018-01-11 10:35:32 · 3663 阅读 · 1 评论 -
android 开发技巧(8)--格式化 TextView 的文本
android 对TextView文本进行格式化,一般有两种方法,第一种就是使用Html.fromHtml(),另一种是通过SpannableString //格式化 TextView 的文本public class Hack10Activity extends Activity { @Override protected void onCreate(Bundle savedIns原创 2016-03-01 15:10:03 · 960 阅读 · 0 评论 -
android 开发技巧(7)--附加 Ken Burns 特效的幻灯片
Ken Burns 特效是视频产品中使用的一种平移和缩放静态图片的 特效 完成这个效果,需要第三方jar,这个可以在资源jar上下载public class Hack08Activity extends Activity implements Animator.AnimatorListener { private static final int ANIM_COUNT = 4; p原创 2016-02-25 17:29:49 · 863 阅读 · 0 评论 -
android 开发技巧(6)--在 Canvas 上显示动画
Android 中的Canvas 可以在屏幕上绘图,定义是这样的: “可以把 Canvas 视为 Surface 的替身或者接口,图形便是绘制 在 Surface 上的。 Canvas 封装了所有绘图调用。通过 Canvas,绘制 到 Surface 上的内容首先存储到与之关联的 Bitmap 中,该 Bitmap 最终会呈现到窗口上。”Canvas 类封装了所有绘图调用,可原创 2016-02-25 16:21:29 · 2608 阅读 · 0 评论
分享