- 博客(49)
- 资源 (1)
- 收藏
- 关注
原创 AndroidStudio自动添加 @org.jetbrains.annotations.Nullable的问题
AndroidStudio升级到4.2.0后,当我们重写个构造方法或者抽象方法就会出现一下错误,导致每次打包失败。@Nullable @org.jetbrains.annotations.Nullable解决方式:apply就解决了。。。
2021-09-17 19:56:28
1714
原创 Android缓存大图到SD卡
该功能主要针对资源图片过大占用apk体积,所以先将图片事先下载,在通过Glide加载时先去本地取,取值成功时直接应用且节省了时间,若本地图片不存在或取值失败等,在通过网络加载。。。开启子线程 通过图片url进行本地缓存 判断SD是否挂载 判断本地是否存在该文件 存在将文件放到指定路径下 public void downloadOnly(@Nullable final List<String> imageUrlList) { if (Tools.isEmpty(i
2021-03-23 15:32:37
290
原创 Android详情页结合ScrollView完成Title颜色渐变效果
最近在做详情页滑动渐变显示与淡入淡出效果,我也是费尽脑筋查了又查,搜了又搜最后还是用嘴原生的方式实现了,多了不说少了不唠,仔细阅读以下文字。note:接下来这个方法是获取view的原始有颜色,通过RGB计算将色值一点点调透明度。private void setDetailTitleColor(int scrollY) { if (mDetailTitle == null) { return; } if (scrollY == 0) { mDetai
2020-08-07 15:14:35
872
原创 Android调用系统原生分享组件
想必做Android开发都会遇到的需求——分享。当然实现的需求和方式的也都各自不一,有接入某个app的SDK进行分享,也有集成第三方平台的例如友盟等等...接下来所要说到的是Android系统提供的分享组件。分享组件能够自动的检索到可以分享app然后将分享内容带入 当然这个也会有所限制的,会有个别app只能分享单一项:“文字+图片”、“图片”、“文字” 好处就是轻量级、避免导入其它jar包或依赖、可减少apk体积 File file = new File(filePath
2020-06-22 16:43:19
2960
原创 ScrollView嵌套WebView滑动冲突问题
前言:想必大家都是奔着标题而来的,那么不管实际开发中是否有遇到过,这个确实是一个坑点!!!问题描述:在Android开发中难免遇到Android与Js交互,要想实现交互,第一步就得使用WebView去加载一个html页面,这样才会有许多接下来的操作,使用WebView加载的时候难面遇到一屏幕元素多,但是还得让WebView的界面可滑动时,那外层布局就必须得套一层ScrollView,这...
2020-04-13 16:41:17
3205
1
原创 Android 使用scheme唤起app本地打开
记录一下近期任务。。。以下操作全部基于手机本地已经安装对应app方可执行。没安装建议web前端校验一下跳动app下载页吧。AndroidManifest配置如下:<activity android:name=".RouterActivity"> <intent-filter> <data android:...
2019-12-04 20:34:17
2417
原创 Android解决暴力点击方案
简单实用-注释清楚-上代码。public class ClickUtil { /** * 两处点击的间隔时间(毫秒) */ private static long sIntervalAtMillis = 1000L; /** * 资源id */ private static int sResId; /** * 上次点击 时间戳 */...
2019-12-02 18:25:00
569
原创 Android实现震动功能
#首先添加权限#<uses-permission android:name="android.permission.VIBRATE" />震动开始方法: /** * @param activity * @param pattern 震动频率 * @param isRepeat 是否循环执行震动 */ public static void s...
2019-09-20 16:28:10
2429
2
原创 Android摇一摇功能实现(摇一摇监听)
近期项目中要求增加摇一摇功能,搜了相关帖子,自己整理一套代码,发个博客保留一份。解析:Android中摇一摇主要通过[SensorManager]实现,想了解可以查一下。上期的不够完善 更新了一下,添加了防暴力摇动控制public class ShakeService implements SensorEventListener { private Context mContex...
2019-09-20 16:17:28
1571
原创 Android通过自定义View实现心形(贝塞尔曲线)
通过继承View实现的❤形在绘制心形需要Path类中的两个重要方法分别是:moveTo、cubicTomoveTo 不会进行绘制,只用于移动移动画笔。lineTo 用于进行直线绘制。quadTo 用于绘制圆滑曲线,即贝塞尔曲线。cubicTo 同样是用来实现贝塞尔曲线的。具体实现:public class HeartView extends View { pr...
2019-05-08 11:53:55
2033
原创 Android使用RecyclerView实现瀑布流效果的列表展示
瀑布流效果图:第一步:设置RecycleView的布局管理器为瀑布流StaggeredGridLayoutManagerRecyclerView rlv = view.findViewById(R.id.pop_rlv);rlv.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManage...
2019-05-04 19:42:07
3997
原创 Android自定义流式布局(搜索历史记录)
仅供参考:外层布局://布局名为layout_liu<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> ...
2019-04-06 12:11:23
1565
原创 Android 6.0以上动态访问权限调用相机(隐式跳转)
Android6.0更新后,推出了动态权限管理。以往我们将涉及到的权限都写在清单文件中直接进行配置,对于一些敏感的权限,写程序时必须在程序中进行声明。相机和相册选择图片都涉及用户隐私的敏感权限,所以必须在程序中进行声明。自定义一个点击事件 : imgPhoto.setOnClickListener(new View.OnClickListener() { @Ov...
2019-04-05 15:38:26
1930
原创 Android二级购物车逻辑+RecycleView嵌套实现
上一篇文章已将说了一级购物车的逻辑,在这在按步骤贴一下二级购物车代码,我是用RecycleView嵌套RecycleView完成的,没有用二级列表,无非是下面几个逻辑,具体的看注释,具有一定的参考价值,感兴趣的可以参考一下!先去第五步完成自定义View加减器,布局用;逻辑:全选或全不选(复选框);商品控制商家(复选框);商家控制商品复选框(复选框);商家和商品控制全选(复选...
2019-04-04 15:29:03
941
原创 Android一级购物车逻辑处理+功能实现
购物车:一般情况下分为两种,一种是二级购物车(商家下包括商品),另一种是商城代表商家,购物车只有商品,我这里就是第二种,我只是简单的介绍了购物车页面的各种复选框和价格的逻辑处理,直接上代码,注释清晰。准备工作:在你商品的bean对象里加一个boolean类型的变量即可;Activity或fragment:public class ShopCarFragment extend...
2019-03-24 16:04:54
1234
3
原创 Retrofit2+RxJava+OkHttp网络请求封装使用+Retrofit注解
1.纯属方便自己使用2.将网络请求的业务代码和UI展示的代码分离,用时就调用。3.接口请求复用。依赖: implementation 'com.squareup.retrofit2:retrofit:2.4.0' implementation 'com.squareup.retrofit2:converter-gson:2.4.0' implement...
2019-03-16 14:25:49
809
1
原创 Android第三方流式布局FlowLayout简单实用(搜索历史记录)
效果图:导入大Model下:maven { url 'https://jitpack.io' }builde.gradle依赖:implementation 'com.github.LRH1993:AutoFlowLayout:1.0.5'布局文件:<RelativeLayout xmlns:android="http://schemas.and...
2019-03-08 10:35:18
1739
原创 Android全局捕获异常机制
个人见解: 全局捕获异常就是在程序出现异常报错时,能够快速捕捉的错误信息,通过实现Thread.UncaughtExceptionHandler接口操作捕获异常信息,能够快速定位问题提高开发效率,并可以给用户视觉反应,不让程序直接崩溃。其实为我们的项目提供一个异常捕获跟踪处理机制,我认为应包含捕获异常、写入异常数据到SD卡中、方便过后解决问题、最终目标为解决异常从而提高...
2019-03-02 10:59:24
1152
1
原创 Android第三方框架XBanner轮播简单使用
依赖:implementation 'com.github.xiaohaibin:XBanner:1.6.1'大Model下:maven { url 'https://jitpack.io' }allprojects { repositories { google() jcenter() maven { url ...
2019-02-27 19:21:47
3878
4
原创 XRecycleView使用,刷新加载,展示,条目点击
XRecycleView:XRecycleView是RecycleView的封装,使用和RecycleView完全一样,只是这个控件内封装了,上拉下拉的监听方法,也为了条目刷新加载&分页加载为所用,具体看文档源码,项目地址:GitHub-XRecycleView。效果图:依赖:implementation 'com.jcodecraeer:xrecyclervi...
2019-02-27 14:32:21
1196
3
原创 友盟QQ第三方登录分享
友盟QQ登录分享: 需要第三方jar包下载:https://share.weiyun.com/5PUfvYX 切记测试设备需安装QQ应用,以免尴尬。 效果图:1、导入jar包到libs( 右击 add as library)2、自定义类继承Application并重写onCreate()方法(记得清单文件注册.name)引入该方法UMConfigure...
2019-02-22 16:16:22
1943
原创 MVP解决内存泄漏:通过引用类型解决内存泄漏问题
在MVP模式中,Presenter是同时拥有View和Model的引用的,那么,当在Presenter中拥有View,即使Activity此时销毁也不能告诉gc回收的,那么内存泄露便由此产生了,下面是解决措施。在Presenter中:public class ShowPresenter<T> { private Reference<T> tRefer...
2019-02-17 19:10:52
1366
原创 Recyclerview控件使用,多条目展示介绍,Recyclerview点击事件(单击、长按[删除])。
RecylerView:RecyclerView是support-v7包中的新添加控件,是一个强大的滑动展示控件;适配器:RecylerView自带适配器,继承RecylerView.Adapter即可,自定义ViewHolder传给适配器泛型;多条目展示:多条目展示也就是分开了几种条目类型,重写getItemViewType(),定义俩个常量控制条目切换;点击事件(单击、长按)...
2019-02-16 14:50:20
865
原创 封装OkHttp3(单例模式),内置封装拦截器、Get、Post请求
前言:这也算是开年第一篇,上个实用奏效的OkHttp3网络请求 ,这是一个高效地使用HTTP能让资源加载更快,节省带宽。OkHttp:Okhttp是一个处理网络请求的开源项目,是安卓最火热的轻量级框架。据说哪怕你默认网络出现问题的时候OkHttp依然坚守自己的职责,它会自动恢复一般的连接问题,如果你的服务有多个IP地址,当第一个IP请求失败时,OkHttp会交替尝试你配置的其他I...
2019-02-15 20:44:50
1748
原创 Android第三方视频加载框架JCVideoPlayer
正好最近做项目有个需要加载网络视频技术,就找了找,碰到了这个开源的框架。主要还是网络请求下来的视频地址,然后简单的,赋一下值,非常OK。不过限自己练习用毕竟看需求的嘛,不多介绍复制用吧。先看看效果大概就是这样 网络权限: <uses-permission android:name="android.permission.INTERNET" />导入两个依赖:...
2019-01-19 13:56:01
3783
6
原创 解决ViewPager嵌套ViewPager滑动冲突的事件分发问题
AndroidTouch事件:(简单做个了解)dispatchTouchEvent()事件分发默认返回false,不做处理继续分发事件,返回true,做处理不分发事件onInterceptTouchEvent()事件拦截默认返回false,不做处理继续执行,返回true,做处理拦截事件onTouchEvent事件消费默认返回false,不做处理继续传递,返回true,做处理终止...
2019-01-17 11:02:20
2741
原创 Android资讯新闻类App(头条、网易等),频道管理集成之数据库存储
经常看新闻类的大家都知道这个频道管理。 图片转载https://blog.youkuaiyun.com/u011916937/article/details/50483278 我这里是用的Github,开源项目,导入的依赖,下属必须配置。 allprojects { repositories { google() jcenter() //工程下的...
2019-01-16 19:55:59
3424
2
原创 SQLite数据库做缓存到SD卡,没网加载数据库数据。
SQLite数据库缓存:首先缓存分好几种,可存短暂性存内存,也可放到磁盘,我这里就是利用Sqlite数据库存到SD卡中的。那么,来缕缕思路,什么情况下需要缓存数据,当你打开app时没网一个大白板。哇好糟心,这个时候缓存数据就比较重要了,最起码给人视觉上是有视图效果的。那么就是判断有网的时候直接加载网络数据,顺便存进一组数据进数据库(图片路径也可以,用ImageLoader去展示),等判断到...
2019-01-13 19:56:16
447
原创 Android之TabLayout常见问题解决+TabLayout+ViewPager实现标签页面联动
TabLayout一般不报错还没效果,那就先检查下面这几项是否使用了。。。TabLayout使用:首先导入依赖:implementation 'com.android.support:design:28.0.0'设置模式:setTabMode(TabLayout.MODE_SCROLLABLE)或在控件设置;关联:tabLayout.setupWithViewPager(pag...
2019-01-11 10:11:30
2519
原创 PullToRefresh实现下拉刷新上拉加载使用教程。。。
介绍 :PullToRefresh是一个非常好的刷新加载第三方库可以实现以下几种展示控件的刷新及加载:1.ListView2.ExpandableListView3.GridView4.WebViewPullToRefresh框架下载地址:https://download.youkuaiyun.com/download/qq_26464451/10315370(记得加依赖匹配版本)...
2019-01-10 15:13:42
594
原创 Fragment利用newInstance动态工厂方法来创建多个Fragment
newInstance()方法这个是一种“静态工厂方法",需要的时候来调用去实例化;让我们在初始化和设置一个新的fragment的时候免得去一一创建 。 调用MyFragment.newInstance(index)去动态创建Fragmentpublic class MainActivity extends AppCompatActivity { private Rad...
2019-01-09 20:23:24
2129
2
原创 Android官方DrawerLayout 抽屉式侧滑菜单-简单使用方法
Android原生控件:DrawerLayout 抽屉式侧滑菜单 布局:内分两个子布局,第一个子布局是主界面没做滑动操作显示的,第二个子布局是放滑动出来的局面布局。在第二个子布局内切记要加android:layout_gravity=" ",否则无效果的!!!DrawerLayout+ToolBar报错:DrawerLayout must be measured with Me...
2019-01-08 08:27:46
1215
1
原创 Frangment实现方式,Fragment实现标签页切换,Fragment+ViewPager实现标签页联动
Frangment的两种切换方式 幻想一下 “QQ切换页面” 和 “微信切换页面” 对没错就是这两种:QQ切换页面:Fragment实现标签页切换微信切换页面:Fragment+ViewPager实现标签页联动 秀给朕上代码: 。。。好嘞戳这里-------》Fragment第三种实现方式,静态工厂。。。Fr...
2019-01-05 11:02:26
617
原创 XListView或PullToRefresh上拉加载下拉刷新+多条目展示---在BaseAdapter中
思路: 首先数据获取到时各式各样,这个时候我们在适配器给予不同类型的数据展示不同类型条目,具体看数据定义。重写两个方法即:getTtemViewType()和getViewTypeCount()方法,在getTtemViewType方法中有几种布局就分几种情况然后返回,然后是getView方法中通过getTtemViewType()方法获得类型type,然后就是根据布局去找空间,去赋值就好...
2019-01-04 21:01:54
328
原创 XListView实现下拉刷新上拉加载+分页加载+适配器展示
Xlistview项目主要是三部分:XlistView XListView主体 XListViewHeader header XListViewFooter footer控件调用:<com.bwie.xlistview.XlistView android:id="@+id/xlistView" a...
2019-01-04 15:51:02
260
原创 ImageLoader实用方法讲解
做android应用的时候,多少会接触到异步加载图片,或者加载大量图片的问题,而加载图片我们常常会遇到许多的问题,比如说图片的错乱,OOM等问题,对于新手来说,这些问题解决起来会比较吃力,所以就有很多的开源图片加载框架应运而生,比较著名的就是Universal-Image-Loader。下载JAR包添加到工程libs目录下 (https://githu...
2019-01-03 17:21:09
690
原创 Bitmap三级缓存,简单介绍,简写简用。
首先简介一下: 首先你第一次进一个App时,一定是先在网络请求图片的,之后我们可以将图片保存至本地SD卡和内存,再次进入时优先访问内存中的图片缓存,若内存中没有,则加载本地SD卡中的图片。 其中,内存缓存应优先加载,它速度最快;本地缓存次优先加载,它速度也快;网络缓存不应该优先加载,它走网络,速度慢且耗流量。(总的来说由快到慢)。 ...
2019-01-03 16:32:14
983
原创 Android开发之Bitmap二次采样
(了解)计算机图形表示原理图片:宽 高 图片是由每个像素点来组成 像素点:小方块 图片的大小:宽*高*每个像素点的大小 (掌握)从Sd...
2019-01-03 14:01:51
523
原创 Android网络判断,移动流量或WiFi网络,广播监听网络动态注册
自定义一个网络判断工具类public class NetWorkUtils { public static boolean isNetWorkConnection(Context context) { //获取网络状态管理者 ConnectivityManager manager = (ConnectivityManager) context.get...
2019-01-02 08:29:44
440
4
原创 Android网络请求之HttpUrlConnection+Handler用法
Apache接口(org.appache.http)----HttpClient<--点这,使用起来更方面更强大。一般来说,用这种接口。不过本文还是把第一种接口过一下。 任何一种接口,无外乎四个基本功能:访问网页、下载图片或文件、上传文件.本文示范的是访问网页和下载图片。HttpURLConnection继承自URLConnection类,用它可以发送和接口任何类型和长度的数据,...
2018-12-30 09:19:01
1169
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人