
android
文章平均质量分 59
android 开发
android-李志强
曾就职于北京云杉科技有限公司(美菜网)、百度网讯科技有限公司、东峡大通管理咨询有限公司(ofo)、北京海润济民金融信息服务有限公司
展开
-
动态计算在指定位置添加view,实现引导页效果
方式一:Popupwindowprivate void showGuideWindowPop() { if (mGuideWindow == null) { mGuideView = (RelativeLayout) LayoutInflater.from(this) .inflate(...原创 2018-08-09 15:57:15 · 582 阅读 · 0 评论 -
AIDL使用
aidl意义:AIDL(Android 接口定义语言) 是 Android 提供的一种进程间通信 (IPC) 机制。通过这种机制,我们只需要写好 aidl 接口文件,编译时系统会帮我们生成 Binder 接口,实现进程之间的通讯。一、如何定义aidl文件1、在main目录下创建文件夹aidl,然后在aidl下new aidl 创建.aidl文件-->IServerInterfac...原创 2018-10-17 15:33:26 · 420 阅读 · 0 评论 -
Andriod Handler内存泄漏实战篇
内存泄漏的原因在这里就不解释了,直接实战一、首先定义父类Handler,生成两个构造方法,一个无参数,一个可以传任意类型参数。任意参数使用弱饮用进行包裹,防止一直持有外包类的引用导致内存泄漏。package so.lizhiqiang.widget;import android.os.Handler;import java.lang.ref.WeakReference;/**...原创 2018-08-31 14:23:34 · 325 阅读 · 0 评论 -
Manifest merger failed with multiple errors ,see logs
第一次遇到这样的问题,没有找到有意义的错误信息,其实已经很明显了,mainfest的问题,我们只要找到它,然后点击左下角的Merged Manifest,查看详细的错误,对应解决就好了...原创 2020-06-10 10:32:53 · 240 阅读 · 0 评论 -
android线上包禁止抓取https包
<network-security-config> <base-config cleartextTrafficPermitted="true"/> <!-- Trust user added CAs while debuggable only --> <debug-overrides> <trust-anchors> <!--信任用户安装的证书--> .原创 2020-07-28 11:58:11 · 656 阅读 · 0 评论 -
Android如何使用mapping文件,定位线上bug
1、获取到mapping.txt2、使用android sdk自带工具,android-sdk-tools-proguard-bin-proguardgui3、打开proguardgui工具,ReTrace选项,Mapping file中添加mapping文件,Obfuscated stack trace中粘贴线上bug信息4、ReTrace!...原创 2020-08-19 11:38:06 · 2842 阅读 · 0 评论 -
记一次解决java.lang.IllegalArgumentException: Invalid path: /storage/emulated/0问题
问题主要出现在以下代码中 static long getSDTotalSize(@NonNull Context context) { File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(path.getPath()); long blockSize = stat.getBlockSize(); long totalBlocks =原创 2020-08-19 18:50:39 · 6115 阅读 · 0 评论 -
安卓应用提供64位原生的支持
一、优缺点优点:64位通常会使应用运行的更加的快,因为64位的指令集支持更高的代码运行效率,为用户提供更快、更丰富的体验 缺点:64位构建会让APK的体积变的更大,多了so库二、如何为安卓应用提供64位原生的支持针对原生代码进行编译,项目中目前使用的32位是armeabi-v7a,支持64位只需将arm64-v8a添加到应用的“build.gradle”文件中的ndk.abiFilters设置 商城中代码结构,需要增加arm64-v8a,迁移64位对应的so文件三、兼容性问题方案:..原创 2021-11-30 19:18:16 · 3367 阅读 · 0 评论 -
Android 直播调研
1 概述视频直播,可以分为 采集,前处理,编码,传输,解码,渲染 这几个环节。推流端:采集、前处理、编码、推流服务端:转码、录制、截图、鉴黄播放器:拉流、解码、渲染互动:聊天室、礼物系统、赞等2 技术点2.1 协议音频采用AAC编码、视频采用H264、H265编码。推送采用RTMP协议2.2 推流端采集:音频:AudioRecord,视频:Camera。Android要做机型适配工作手机直播SDK通过手机摄像头和麦克风直接采集视频数据和音频数.原创 2021-11-30 19:18:52 · 6127 阅读 · 0 评论 -
APP接入沉浸式状态栏小结
1.全屏PopupWindow大客户中全屏的PopupWindow,通常是用于一些简单信息的展示、引导和选择等,常见的有以下几种:(1)引导PopupWindow商详页“加常用”至清单引导全部菜品&购物车页的切换门店引导(2)优惠券(3)添加商品输入键盘(4)商详大图浏览(5)结算页图片弹屏广告(6)购物车页商品需分开结算弹窗……目前大客户中的绝大多数全屏PopupWindow只要在构造函数中添加如下一行代码即可实现沉浸式状态栏,如下:this原创 2021-11-30 19:19:58 · 1122 阅读 · 1 评论 -
Android外部调起App方案
背景日常使用场景中经常需要从app外部唤起app,比如短信链接,浏览器页面点击按钮等。传统的方式都可以使用android系统自带的拦截url ,也就是schema方式,但这种方式在拦截生效时会弹出所有可以处理此连接的app出来供用户选择,如果用户没有选择我们的app,那么这个唤起也就不成功。现在市面上有很多成熟的方案,目前美菜商城采用的是极光魔链sdk来处理。极光魔链sdk使用可以参考极光魔链接入方式https://docs.jiguang.cn/jmlink/guideline/intro/.原创 2021-11-30 19:20:33 · 2482 阅读 · 0 评论 -
底部弹窗组建
★项目背景、需求商城项目中多个地方存在底部弹窗,现将ui统一,并输出UI组件,方便后期维护。目前涉及页面有1、商详页:商品描述底部弹窗、优惠券底部弹窗2、订单结算页:注意事项底部弹窗,由于选择日期底部弹窗业务过于耦合,所以不会抽到组件中★功能定位&目标★总体设计主要使用BottomSheetDialog与BottomDialogBuilder,内容区主要是用recyclerview实现,配合FlexibleAdapter,因此需要使用方自定义item继承Abstrac原创 2022-03-16 08:52:12 · 828 阅读 · 0 评论 -
Android渠道包构建流程
美菜商城Android包发布分为自有渠道和应用市场多渠道2种。不同的渠道包的区别在于应用内部有一个channel标识区分,用以友盟统计等操作。Android端接入了美团的walle实现多渠道打包。Walle介绍Android 7.0 引入一项新的应用签名方案 APK Signature Scheme v2,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。在默认情况下,android Studio 2.2 和 Android Plugin for Gradle 2.2 会使用原创 2022-03-16 08:52:44 · 1252 阅读 · 0 评论 -
数据库删除聊天30天之外的历史记录
表示删除满足时间戳小于指定值的记录,第三个参数是一个字符串数组,用于替换WHERE子句中的占位符。方法用于删除符合条件的记录。第一个参数是表名,第二个参数是WHERE子句,其中。另外可以执行以下逻辑。原创 2023-07-12 15:30:54 · 402 阅读 · 0 评论 -
Flutter 混编快速开始
Flutter 混编快速开始1 搭建flutter开发环境flutter安装配置教程:https://flutter.dev/docs/get-started/install/macos中国地区特别配置:https://flutter.dev/community/china1.1 获取Flutter SDKflutter官网下载其最新可用的安装包,解压安装包到你想安装的目录。1.2 中国区用户环境变量配置: export PATH=~/Develop/...原创 2022-03-16 08:55:29 · 714 阅读 · 0 评论 -
android studio升级到4.0.1后,报错default activity not found错误
原创 2022-03-16 08:54:37 · 277 阅读 · 0 评论 -
Android sharepreference槽点及改进方案
1 概述简介1.1 简介众所周知,SharedPreferences是一种轻型的Android数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。它的存储位置是在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。比较经典的使用方式例如用户输入框对过往登录账户的存储。1.2 使用方式实现SharedPrefe原创 2022-03-16 08:54:16 · 3627 阅读 · 0 评论 -
Android TV app前期准备
Android TV app前期准备处理电视硬件 app上检查电视设备 处理不支持的硬件features Declaring hardware requirements for TV 声明权限意味着硬件要具有该特性 检查硬件Features 处理控制器断开场景处理电视硬件电视硬件是大大不同于其他Android设备。电视不包括其他Android设备上发现的一些硬件特性,如触屏,摄像头,GPS接收器。电视也完全依靠辅助硬件设备。为了让用户与电视应用程序交互,他们必须使用一个遥控器或游戏手柄原创 2022-03-16 08:53:13 · 647 阅读 · 0 评论