
Android
文章平均质量分 60
Aislli
这个作者很懒,什么都没留下…
展开
-
Retrofit同步请求直接返回目标对象
【代码】Retrofit同步请求直接返回目标对象。原创 2024-05-11 20:30:00 · 390 阅读 · 0 评论 -
apk v1+v2命令行签名命令
v1签名方式jarsigner -v -keystore [a] -signedjar [b] [c] [d]-verbose:输出详细信息[a]:签名文件路径[b]:签名后的apk文件名[c]:待签名的apk文件名[d]:签名文件的别名例如:jarsigner -verbose -keystore my.jks -signedjar signed_v1.apk unsign.apk myalias执行命令,会提示输入密码,输入签名文件密码。v1+v2签名方式java -jar a原创 2022-05-07 16:56:57 · 4532 阅读 · 0 评论 -
android模拟器上https抓包
通过 xposed+charles 在 android 设备上进行 https 抓包。原创 2022-02-12 11:33:44 · 3856 阅读 · 0 评论 -
android 广播自定义权限
一、广播接收者定义的权限你的应用定义了一个广播接收者,你不希望谁都能在自己的应用里发送这个广播让你接收到,所以你打算定义一个权限来控制一下。1.在 AndroidManifest.xml 文件里声明一个新的权限<permission android:name="com.xxx.xxx.permission" />2.在声明的广播上加上这个权限 <receiver android:name=".broadcast.MyBroadcast" an原创 2021-09-09 16:58:58 · 4406 阅读 · 0 评论 -
Rxjava1和2在网络封装时的一些区别
1.TransFormer的区别在使用 Retrofit 和 Rxjava 处理网络流程时,一般会统一处理结果BaseModel.javapublic class BaseModel<T> { public String code; public String message; public T result; public boolean su...原创 2019-11-06 11:03:11 · 436 阅读 · 0 评论 -
ItemDecoration实现等分间距
一.背景远古时代,GridView 和 ListView 可以直接使用其自带的 api 设置 item 之间的分割线,通过修改分割线的粗细和颜色等可以轻松实现分割线和间距类的效果,还有的直接通过在 item 的布局里设置 margin 或 padding 来实现,后来有了 RecyclerVIew,但是却没提供设置分割线的 api,不过提供了一个功能丰富的 ItemDecoration 类,这个...原创 2019-10-25 15:37:19 · 2721 阅读 · 0 评论 -
记一次卡顿优化
1.背景这是一个视频通话的项目,就类似于微信视频通话,但是和微信等其它一些视频通话 app 的逻辑有一些不一样的逻辑,例如微信拨打别人时会直接进入视频页面,根据设备的性能(如果性能不好,可能会慢吞吞的打开摄像头预览)来打开己方画面,这时就算慢一点打开预览,用户也不会关心的,为什么呢?因为还没接通嘛,谁会关心自己的画面有没有出来呢,然后等到对方接听后,再直接显示对方画面,这样就无缝衔接上了,很正常...原创 2019-10-23 14:32:33 · 580 阅读 · 0 评论 -
android一种不规则布局的实现方式
一.背景正准备出去抽根烟的你突然被产品经理叫住了,“快来,快来,我告诉你一个好消息,前几天我不是说要给 app 的菜单入口这一截 UI 美化一下嘛,我昨天突发灵感,已经想好了一个很有特色的样式,这下我们的 UI 一定和别人的不一样,我们要让产品富有品牌表现力”。这看起来是挺有特别的,不过感觉有违 android UI 排列常理呀,形状倒是没什么问题,关键是这无缝衔接就有点奇怪了,这形状最简单...原创 2019-06-29 15:07:49 · 3502 阅读 · 9 评论 -
RecyclerView系列之侧滑删除和拖拽排序
一、背景前面已经实现了 RecyclerView 的上拉加载更多,增加 header,自定义滑动菜单,基本能满足大部分场景的样式了,就算不满足也能通过直接改部分代码轻松实现新的样式;不过这一次产品玩别的 app 时发现了一个新的交互方式,某些列表不需要复杂的操作,只需要删除操作,那么如果用那种滑动菜单的交互方式,用户就得先把菜单滑出来,再点删除按钮才能删掉,这样一来用户就多操作了一步,不如直接让...原创 2019-06-29 15:07:24 · 990 阅读 · 0 评论 -
RecyclerView系列之滑动菜单
一、背景前面已经实现了 RecyclerView 的下拉刷新和上拉加载更多,给 RecyclerView 添加 header,这两个用的比较多,这次实现的是滑动菜单,实现这个是因为产品经理通常会告诉你,我们要做一个和某某应用一样的效果。有人就说了:“这产品总是模仿,总是让做和别人一样的效果(小声嘀咕:关键这还真不那么容易实现)”。这就不能忍,那还有让你更不能忍的,产品告诉你做一个跟 QQ 的滑动...原创 2019-06-29 15:06:49 · 1840 阅读 · 1 评论 -
RecyclerView系列之增加header
一、背景在RecyclerView还没出来时,列表布局基本都是用 ListView,app 中一般都会有这种设计,上面一个 banner 轮播图,下面一个列表,特别是一些电商类,新闻类 app。下面是最终效果:向上滑动列表时,上面的轮播图就会被滑上去,显然是一体的,用 ListView 时,可以把上面的轮播图控件作为一个 HeaderView 加到 ListView 中,爽的是 ListV...原创 2019-06-29 15:05:52 · 2258 阅读 · 0 评论 -
RecyclerView系列之加载更多
一、背景很久很久以前简单封装过一次RecyclerView,后来一直开发TV端,列表的需求花样不是很多,主要是解决TV端各种兼容问题,也没怎么琢磨这个美丽的控件了,现在打算重新整理一下,其实网上已经有很多优秀的开源项目了,涵盖功能多,但是就因为功能太多,用起来反而有一些不方便的地方,例如用在TV上或者别的什么地方,有的地方得根据需求和兼容问题作出修改,这样改起来就麻烦了,看的头皮发麻呀,而且很多...原创 2019-06-29 14:49:02 · 4769 阅读 · 4 评论 -
TV端开发遇坑随记
1.TV端上,如果你不设置某个控件的下一个方向的焦点,系统会默认帮你分配,自动寻找下一个方向上可以获取焦点的控件去获取焦点,这时有可能这个控件并不是我们想要的,甚至会出现焦点乱跑的情况,这时产品一般要么要求我们指定下一个焦点控件,要么在这个控件上不能再继续向某个方向移动,指定焦点很容易,可通过这几个方法:setNextFocusUpId();setNextFocusRightId();se...原创 2018-05-23 15:58:10 · 7388 阅读 · 0 评论 -
编译错误处理
1.编译报错信息Caused by: Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for detailsat com.android.ide.common.res2.MergedResou...原创 2018-05-22 11:19:51 · 11849 阅读 · 1 评论 -
ijkPlayer编译
一.编译ijkplayer1.1环境VMware+Ubuntu16.04 jdk1.8.0_151,android-ndk-r10e(注意此处有大坑),android-sdk1.2环境变量配置Ubuntu下搭建android开发环境 1.3编译步骤git clone https://github.com/Bilibili/ijkplayer.git ijkpla...原创 2018-05-11 10:32:45 · 13215 阅读 · 2 评论 -
android设置ListView的EmptyView
效果如下图: 一般app的列表数据页都会考虑无数据时的情况,为了提升用户体验,在无数据时,都会给用户展示一个友好的页面,效果如上图; 这里如果用的是ListView,一般都会给ListView设置emptyView,之前一个项目里,设置emptyView的逻辑在我加入项目开发时就已经都写好了,但是实现的代码有点让人无法忍受(特别是有强迫症的人),他是在每个页面的回调里都处理一遍这个显原创 2016-03-02 11:15:26 · 6456 阅读 · 0 评论 -
RecyclerView基本用法
RecyclerView已经出来很久了,不过项目里一直用的是ListView和GridView,主要是因为RecyclerView还是在V7包里的,总赶脚应该还有些缺陷,一直也没有去了解,后来发现市场上很多项目里已经用上了这个新的控件,而且感觉视觉效果和体验比之前一直用的ListView更好,就抽时间看了下RecyclerView的相关内容。 先介绍下基本用法: 首先要导入support包:co原创 2016-03-04 13:49:43 · 5728 阅读 · 0 评论 -
RecyclerView实现下拉刷新和上拉加载更多
为了优化用户体验,从App的性能和节省用户流量方面考虑,都会涉及到对列表数据进行分页加载,使用ListView时大多都是通过自定义ListView增加头部和底部来实现下拉刷新和上拉加载更多功能,使用RecyclerView也需要处理一些滑动事件才能达到分页的效果,下面是看了一些网上的开源代码后,自己实现的一个可下拉刷新和上拉加载的RecyclerView;package com.lcp.arecyc原创 2016-03-07 15:04:18 · 7432 阅读 · 0 评论 -
Android HttpClient设置User_agent的方式
HttpClient mHttpClient = new DefaultHttpClient();HttpParams params = mHttpClient.getParams();params.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, FixedValue.NET_TIMEOUT);params.setParameter原创 2015-12-24 16:38:00 · 10090 阅读 · 0 评论 -
点击查看大图,支持左右滑动切换、缩放图片
效果图: 列表上显示图片的缩略图,要求点击查看大图,支持缩放和左右滑动切换,效果如上图,前面几个项目遇到过很多次这个需求,索性花点时间整理成一个工具类。 显示缩略图的代码就不写了,需求不一样展示的方式也不一样,GridView和流式布局的都有,也是最基本的东西,主要写下点击缩略图显示大图的部分;先分析下场景: 1.一般都是有一个List,里面装的全是图片的url,缩略图可能只展示前三个图什么原创 2016-02-25 10:09:19 · 14610 阅读 · 1 评论 -
ViewPager动画之三个item的实现
ViewPager切换动画和多个Item的显示实现原创 2016-05-05 10:58:09 · 9416 阅读 · 3 评论 -
app几种文件位置的一些区别
1.实际路径:data/data/com.xx.xx/cache mContext.getCacheDir()2.实际路径:data/data/com.xx.xx/files 在应用信息中点击清除缓存不会清除此文件夹里的文件,点击清除数据才会清除,并清除cache文件夹内的文件mContext.getFilesDir()3.实际路径: sdcard/Anroid/data/...原创 2018-05-10 15:47:22 · 6704 阅读 · 0 评论 -
串口线连接机顶盒
1.历史原因有些系统烧好后,adb连接默认是关闭的,此时无法通过adb connect命令连接该设备用来开发调试。2.目的通过串口线连接上设备,命令行运行 setprop persist.sys.adb.enable 1开启设备的adb连接功能,以使电脑上可以使用adb connect命令连接机顶盒。3.需要准备的工具串口线,烧好系统的机顶盒,连接机顶盒的软件; Se...原创 2018-05-10 16:20:19 · 12434 阅读 · 0 评论 -
获取网络信息,ip,子网掩码,网关,dns
无线网络信息可以通过api直接获取,无需特别处理,下面主要是机顶盒等android设备使用有线网络时网络信息的获取。1.网络类型/** * 获取网络类型 * @return * -1:未知网络 * 0:无网络 * 1:wifi网络 * 2:移动网络 * 3:以太网 */public static int getNe...原创 2018-05-10 17:01:31 · 9000 阅读 · 1 评论 -
Stecho的使用
1.Stecho简介facebook开源的android调试工具,可以在网页上看到当前adb连接的android设备的布局层级信息,网络信息,数据库信息。2.使用方式添加依赖dependencies { compile 'com.facebook.stetho:stetho:1.5.0' compile 'com.facebook.stetho:stetho...原创 2018-05-10 17:19:37 · 6864 阅读 · 0 评论 -
Ubuntu下搭建android开发环境
1.下载JDKJDK把下载好的JDK解压到 /home/用户名/Aislli/Dev 解压完配置java环境变量: Ctrl + alt + T打开终端,输入:sudo gedit /etc/profile在打开的profile文件添加环境变量内容: export JAVA_HOME=/home/用户名/Aislli/Dev/jdk1.8.0_151export J...原创 2018-05-10 17:28:15 · 6026 阅读 · 0 评论 -
GridView加分隔线,最简单的方式实现网格
实现方式:<GridView android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@color/mwhite" android:cacheColorHint="@android:color/transparent" an原创 2015-10-22 14:12:35 · 7327 阅读 · 0 评论