- 博客(211)
- 资源 (16)
- 收藏
- 关注
原创 Android 各储存路径获取方式以及需要的权限;
先看代码咯 private void getFilePath(){ l(context.getFilesDir().getAbsolutePath()); // /data/user/0/包名(applicationId)/files l(context.getCacheDir().getAbsolutePath()); // /data/user/0/包名(applicationId)/cache l(" "); l(con
2021-04-12 10:56:44
2871
原创 AndroidMvp模式;
普通AndroidMvp模式。Activity 、 Fragmentpublic class HomeActivity extends AppCompatActivity implements HomeView{ private TextView tv; private ProgressBar progressBar; private HomePresenter mPresenter; @Override protected void onCreate(
2021-03-30 14:52:20
184
原创 Android 文本高亮
高亮的文本改变 字体颜色、字体大小、以及字体加粗、斜体、下划线等等;工具类public class SignKeyWordTextView extends AppCompatTextView { //关键字 private String signText; //关键字颜色 private int signTextColor; private int changeIndex = 0; public SignKeyWordTextView(Cont
2021-02-26 17:40:29
689
原创 Flutter 保持组件不被回收 AutomaticKeepAliveClientMixin
1、切换Tab后、页面每次都会刷新,重新加载;2、ListView中的某个条目设置为头布局,不希望被回收;使用AutomaticKeepAliveClientMixin ;例:给该界面的State 和 AutomaticKeepAliveClientMixin 关联一起:class _ListsPageState extends State<ListsPage> with AutomaticKeepAliveClientMixin {}...
2020-12-15 14:17:47
2334
原创 AS4.1 代码报错不提示、无高亮;控制台乱码;
https://blog.csdn.net/pimian13611397598/article/details/109099612https://blog.csdn.net/weixin_37826412/article/details/105555837
2020-12-09 09:59:33
1389
原创 白杨 袁鹰 五年级下册课文
火车窗外是茫茫的大戈壁,没有山,没有水,也没有人烟。天和地的界限也并不那么清晰,都是浑黄一体。从哪儿看得出列车在前进呢?那就是沿着铁路线的一行白杨树。每隔几秒钟,窗外就飞快地闪过一个高大挺秀的身影。一位旅客正望着这些戈壁滩上的卫士出神。“爸爸,”大孩子摇着他的腿,“你看那树多高!”爸爸并没有从沉思中回过头来,倒是旁边的妹妹插嘴了:“不,那不是树,那是打伞!”“哪有这么大的伞!”“你看它多直!”妹妹分辨着。“它是树,不是伞!”哥哥肯定地说。小小的争论打断了爸爸的思路,他微笑
2020-09-25 17:50:34
982
原创 海上日出 巴金
为了看日出,我常常早起。那时天还没有大亮,周围很静,只听见船里机器的声音。 天空还是一片浅蓝,很浅很浅的。转眼间,天水相接的地方出现了一道红霞。红霞的范围慢慢扩大,越来越亮。我知道太阳就要从天边升起来了,便目不转睛地望着哪里。 果然,过了一会儿,哪里出现了太阳的小半边脸,红是红的很,却没有亮光。太阳像负着什么重担似的,慢慢儿,一纵一纵地,使劲像上升。到了最后,它终于冲了云霞,完全跳出了海面,颜色真红的可爱。一刹那间,这深红的圆东西发出夺目的亮光,射得人眼睛发痛。它旁边的云也突然有了光彩。...
2020-09-25 17:10:40
884
原创 Android图片九宫格控件,微信朋友圈;
注:本文是根据https://github.com/jeasonlzy/NineGridView进行扩展;类似QQ空间,微信朋友圈,微博主页等,展示图片的九宫格控件;原作者只有仿朋友圈样式和QQ控件样式,新增平铺样式;效果图如下:一张图、2或4张图 和多张图;一张图:两张图:四张图: 多张图:效果就是一张图、2或4张图时也铺满屏幕;于是就对该开源框架进行了一下扩展,下面上代码;一、新增平铺模式;设置平铺模式的最大高度(也就是一张图时的高度); public .
2020-09-23 15:54:57
2211
6
原创 RecyclerView刷新时滑动崩溃,tryGetViewHolderForPositionByDeadline
RecyclerView有下拉刷新 , 然后在刷新中时去滑动RecyclerView列表会崩溃;Crash信息:java.lang.IndexOutOfBoundsExceptionInconsistency detected. Invalid item position 2(offset:2).state:20 androidx.recyclerview.widget.RecyclerView{41eef3e VFED..... ........ 0,0-1080,1290 #7f09023
2020-09-15 13:42:54
5289
3
原创 ScrollView嵌套RecycelrView滑动冲突,RecycelrView展示不全;
记录一下,方便查阅;1、利用RecyclerView的方法 rv.setHasFixedSize(true) rv.isNestedScrollingEnabled = false //rv.setNestedScrollingEnabled(false)2、利用LayoutManager的方法 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this){
2020-08-24 16:26:33
371
原创 adb.exe: unknown command devices
1、报错信息D:\AndroidStudio\sdk\platform-tools>adb connect 192.168.53.54:5555connected to 192.168.53.54:5555D:\AndroidStudio\sdk\platform-tools>adb divicesadb.exe: unknown command divices2、查看占用的端口号D:\AndroidStudio\sdk\platform-tools>adb no
2020-07-16 11:14:34
139409
2
原创 Android AIDL的使用,进程间的通讯;
AIDLAndroid使用AIDL来实现进程间的通讯;最简单的进程,两个APP(APP1(app_server) , APP2(app_client)),这里app_server可以看作一个进程 , app_client也可以看作一个进程; 所以AIDL可以来实现两个APP之间的通讯;先来写一个最简单的AIDL进程间的通讯;app_client要调用app_server中的数据,首先app_server先把数据暴露出去;app_server端:1、新建AIDL文件;输入名..
2020-06-04 17:13:14
1173
2
原创 Android 竖直滚动广告条、上下滚动广告条,View滚动广告条;
四种方式实现仿淘宝滚动广告条:TextView+Handler延时动画 实现滚动效果; 自定义ViewFlipper 实现滚动效果; RecyclerView+子线程延时 实现滚动效果; 竖直ViewPager+Handler延时 实现滚动效果;项目已上传Github:https://github.com/CuiChenbo/UpRollView;其实最早写这个效果是在16年的时候,现在拿出来整理一下,同时也看一下自己之前的代码;Android仿淘宝头条滚动广告条, 之前写的没有传.
2020-06-03 11:12:19
2287
2
原创 Android 淘宝滑动条,淘宝菜单滑动条;
淘宝菜单滑动条,图如下;实现一下这个效果 , 上面是列表,可以用RecyclerView实现 , 下面跟随菜单滑动的条可以用View做位移动画实现;<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" andr
2020-06-02 13:55:03
1753
1
原创 Android 横向列表滑动自动选中,RecyclerView实现;
RecyclerView实现横向滑动后自动选中条目,点击其它条目自动移动到中间位置并选中;横向的列表就是上面的效果,下面是动图;效果就是这样的 , 有当前选中回调 , 也可以设置当前选中的条目;代码无封装,看着更直观;获取中间位置,这个位置就是Item需要停留到的位置; 滑动后计算出距离中间位置最近的一个Item , 然后让此Item滑动到居中位置; 点击其它条目时 , 计算此条目距离中间的位置 , 然后滑动到中间; 可以选中第一个条目和最后一个条目,使用隐藏的View填充;.
2020-06-01 17:01:56
7700
3
原创 Android 弧形列表转盘的实现(三),View跟随RecyclerView做旋转动画;
前两篇博客:Android 弧形转盘的实现(一),弧形列表;Android 弧形转盘的实现(二),列表自动选中;RecyclerView滑动后自动选中居中的条目,RecyclerView实现WheelView效果;已经大致实现了弧形转盘的效果,还有一个动画需要做,这个比较简单;效果图左边的刻度轮盘是个半圆,其实应该是个整圆只显示一半,另外一半在屏幕外面;尝试使用PaddingLift把ImageView挤到屏幕外面,默认效果是可以,但是旋转的时候也是个半圆在旋转,这样就不行了;索性直
2020-05-19 14:35:27
4664
2
原创 Android 弧形列表转盘的实现(二),列表自动选中;RecyclerView滑动后自动选中居中的条目,RecyclerView实现WheelView效果;
这篇主要是列表滑动后停止后,自动选中居中的条目,类似于WheelView的效果;通俗的讲就是用RecyclerView实现WheelView的效果;接上篇:Android 弧形转盘的实现,弧形列表;弧形列表已经实现了,下面就是自动选中的功能了;先来分析一波:红色的这条线是RecyclerView的竖向的中心线,当列表滑动停止后遍历可见区域的所有View,计算出距离中心线最近的一个View(是该View的中心点距离中心线最近),然后移动该View至中心线位置;1、RecyclerView.
2020-05-19 11:19:29
3226
原创 Android 弧形列表转盘的实现(一),弧形列表;
Android 弧形列表转盘的实现简单的说一下效果图,横向来区分的话可以把UI图分为三部分(左边是轮盘 , 中间是弧形列表 也是一级菜单 , 右边是列表是二级菜单):要求:实现一个围绕轮盘的弧形列表; 弧形列表滑动后自动选中居中的条目,然后更新右边的二级菜单; 弧形列表点击后自动滑动到居中位置并选中,然后更新右边的二级菜单; 弧形列表所有条目都可以选择; 左边的轮盘跟随弧形列表旋转;好的、需求很明确,一级菜单弧形列表可滑可点自动选中,轮盘跟随旋转;第一步:先实现弧形列表;.
2020-05-18 17:07:13
4721
3
原创 Android项目中的 compileSdkVersion buildToolsVersion Gradle;
compileSdkVersion编译SDK版本:使用什么版本的SDK来编译项目;对应本地文件目录:如果你的compileSdkVersion = 23 那么就用android-23文件的SDK来编译你的项目;buildToolsVersion构建工具版本:Android构建工具的版本;对应本地文件目录:Gradle版本gradle目录:D:\And...
2020-04-30 17:50:38
1011
原创 GreenDao的使用;
为什么使用GreenDao?greenDAO的独特功能集:坚如磐石:greenDAO自2011年以来一直存在,并被无数著名应用程序使用 超级简单:简洁明了的API,在V3中带有注释 小型:该库小于150K,它只是普通的Java jar(没有依赖于CPU的本机部分) 快速:可能是智能代码生成的驱动,是最快的Android ORM 安全且富有表现力的查询API:QueryBuilder...
2020-04-27 16:56:45
426
原创 Window7激活 电话激活小记;
1、先随便找个秘钥输入上去,激活不了,然后进入第二步;2、选择使用自动的电话激活来激活,国家选择中国;3、电话: 普通话 1 、产品 2 、其它 1 , 然后让你输入9组ID,全部输入后会返回给你8组ID;输入后就可以激活了;本人花了15大洋在淘宝上买的教程!!!...
2020-04-20 19:30:28
4600
1
原创 Android MVVM模式DataBinding的使用 基础篇;
1、在该module的gradle中配置dataBindingandroid { ****** dataBinding { enabled true }}2、数据类继承BaseObservablepublic class UserBean extends BaseObservable { private String nam...
2020-04-12 18:03:58
1115
原创 Android 高德地图无法后台持续定位,缺少后台定位权限#1207;
无法后台持续定位:高德地图持续定位,在后台持续定位一段时间后就会报错;AmapError: ErrCode:12, errInfo:缺少定位权限 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:后台定位服务没有开启,请在设置中打开后台定位服务开关#1207...
2020-04-02 16:09:38
14434
20
原创 Android webView设置setUserAgentString后崩溃;
WebSettings webSettings = webview.getSettings();webSettings.setUserAgentString(str);setUserAgentString中的String参数不允许有换行符;
2020-04-02 15:31:19
1910
2
原创 Android startService和bindService混合使用、以及前台服务;
Service简单来说就是一个看不见的Activity,在后台默默运行;可以混合开启Service,无论先startService还是bindService;startService:Intent service = new Intent(mContext , LBSForegService.class);startService(service); //启动stopServi...
2020-03-27 17:16:09
4608
原创 Android 悬浮框的使用、画中画的使用;
需求:用户触发了一定的条件会弹出一个悬浮框,用户在关闭APP或把APP退到后台时,点击悬浮框可以打开应用;很简单的一个悬浮框很快就创建出来了,退出APP后点击悬浮框可以通过包名启动APP,但是把APP退到后台后怎么都启动不了,原因是:从后台启动 Activity 的限制,于是有了骚操作:从ActivityManager中根据本应用正运行的Task唤醒到前台(不是每次都能成功), 然后就有了...
2020-03-20 16:52:36
5273
原创 AndroidStudio Plugin with id 'com.android.application' not found.
一般腾讯的SDK或腾讯给的Demo容易报这个错!先看一下目录结构:没有app目录,所以也就没有app目录下的build.gradle;只有一个项目级的build.gradle,此gradle还缺少配置;把这些代码放在gradle中,就放最外层就行;buildscript { repositories { google() jcen...
2020-03-20 10:05:40
506
原创 Android 语音播报 , 百度在线语音合成封装;
Android自带的语音播报不支持中文;科大讯飞开始收费了;百度离线语音合成也收费,但是! 在线语音合成不收费,需要在百度开放平台申请AppId;文档:https://cloud.baidu.com/doc/SPEECH/index.htmlSDK下载:https://ai.baidu.com/sdk#tts百度在线语音合成:没有找到百度在线语音合成的文档,自己参考百度语...
2020-03-18 18:39:15
1457
4
原创 Android 列表倒计时,和对列表刷新的优化,RecyclerView刷新单个控件;
单个计时器,然后遍历数据 刷新条目;两种实现方式:1、Handler轮询; 2、子线程睡眠(时间到后 移除列表中的条目会有问题);代码很简单,没有任何难度,列表使用 RecyclerView+BaseRecyclerViewAdapterHelper实现; implementation 'androidx.recyclerview:recyclerview:1.1.0' ...
2020-03-17 18:07:16
2245
4
原创 Java Unreachable statement异常原因;
Unreachable statement :遥不可及的声明;它的意思是你的这行代码不能被执行,原因是你的上一行代码已经return或者是个死循环;1、上一行代码已经return;2、上一行代码是个死循环;仔细检查一下代码就会发现;...
2020-03-13 15:55:56
3969
原创 Android将后台应用唤起到前台,唤醒APP;
包名驱动即可:Intent intent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());context.startActivity(intent);
2020-03-10 15:58:01
9721
原创 Android JT808协议通讯,使用OkSocket实现长连接;
先看一下JT808数据的组成和OkSocket接收消息方式;1、JT808数据的组成标识位采用0x7e 表示,若校验码、消息头以及消息体中出现0x7e,则要进行转义处理,转义 规则定义如下: 0x7e <————> 0x7d后紧跟一个0x02; 0x7d <————> 0x7d后紧跟一个0x01。 转义处理过程 如下: 发送消息时:消息封装...
2020-03-10 14:51:57
1638
原创 Socket 粘包 拆包;
为什么会粘包?举个栗子:Socket连接成功就相当于通讯管道已经建立,客户端就一直从管道中取数据,如果数据一次没有取完就会发生遗留,这些遗留的数据就会和下次的数据包一起传输过来,然后就粘包了;再看个数据:采用0x7e 表示,若校验码、消息头以及消息体中出现0x7e,则要进行转义处理,转义 规则定义如下: 0x7e <————> 0x7d后紧跟一个0x02; ...
2020-03-10 10:44:23
994
原创 Android OkSocket设置消息头,获取消息体长度;使用OkSocket实现JT808协议通讯;
查看Android JT808协议通讯请移步;OkSocket需要设置解析头://设置自定义解析头OkSocketOptions.Builder okOptionsBuilder = new OkSocketOptions.Builder(mOkOptions);okOptionsBuilder.setReaderProtocol(new IReaderProtocol() { ...
2020-03-06 17:55:06
2945
原创 Android JT808协议通讯
消息编码: /** * 包装808数据,分包消息 * * @param msgId 消息id * @param phone 终端手机号 * @param msgBody 消息体 * @param subpackage 是否分包 0:不分包 1:分包 * @param totalPkg 总包数...
2020-03-06 17:20:36
4411
原创 Android Socket长连接的使用和封装;
这次的项目JT/T 808协议使用Socket通讯,对原生的Socket研究了一下,把使用方法和心得写一下;这个时必须要加的权限:<uses-permission android:name="android.permission.INTERNET" />Android主线程中不允许做耗时操作,Socket需要放在子线程中;1、创建Socket连接,拿到输入输出流:...
2020-03-06 16:04:23
2908
1
原创 Android aar包的使用 打包aar后报错ClassNotFoundException,aar中有dependencies依赖的情况;
1、如何打AAR包:如上图所示,选中你需要打aar包的Module,然后点击Build中的“Make Module”就OK了;这个是AAR包的输出位置;2:如何引用AAR包:将相应AAR包复制到APP的某个目录如(app\libs),同时将加入到在APP的dependencies内,如下: repositories { flatD...
2020-03-05 15:06:45
7925
1
原创 OkSocket接收所有数据,可以不固定协议头;
这个是OkSocket的源码地址:https://github.com/xuuhaoo/OkSocket这个框架必须要固定包头,我们在实际的使用中一般都是固定包头的,但是为了方便调试或者没有固定包头的,我们需要修改一下源码;把源码中的这个接收消息类'ReaderImpl'修改一下:public class ReaderImpl extends AbsReader { pri...
2020-02-13 18:10:15
3185
原创 如何把自己的代码开源,将类库部署到JitPack上;
一、使用AndroidStudio把代码开源到Github:输入自己的Github账号和密码,一路下一步就上传了;二、配置Github开源许可证:例:1、创建新文件:2、输入文件名称:LICENSE,点击右边的Choose a license template3、点击Choose a license template后跳转到协议配置界面(选择 Apache Lic...
2019-12-31 16:33:46
696
AMap_Location.txt
2020-04-02
最简单实用的BaseRecyclerViewAdapter
2018-05-03
ArcSelectList.zip
2020-05-28
Android仿淘宝头条滚动广告条 ViewFlipper
2018-03-15
Fragment使用show和hine切换,避免Activity回收后Fragment重叠问题;
2018-03-27
Android图片浏览查看大图功能,特别简单拿来就能用;
2018-02-27
完美解决Listview嵌套Checkbox滑动后位置错乱问题,和checkbox的全选或全不选。
2016-10-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅