4 梦想不只是梦与想

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 14w+

Jetpack 之 LifeCycle 组件使用详解

一、LifeCycle 简介LifeCycle 是一个可以感知宿主生命周期变化的组件。常见的宿主包括 Activity/Fragment、Service 和 Application。LifeCycle 会持有宿主的生命周期状态的信息,当宿主生命周期发生变化时,会通知监听宿主的观察者。LifeCycle 的出现主要是为了解决: 系统组件的生命周期与普通组件之间的耦合性。系统组件指:Activity/Fragment、Service 和 Application。 普通组件指:将代码按照功能或者作用

2020-09-27 13:57:59

ItemTouchHelper基本用法

ItemTouchHelper是谷歌提供的用于实现Recyclerview 拖拽效果的帮助类,今天我们来学习下它的基本用法首先ItemTouchHelper需要实现它的一个内部抽象类CallBackpublic class ItemTouchHelperCallback extends ItemTouchHelper.Callback { private IMoveAndSwipeCallback iMoveAndSwipeCallback; public...

2020-09-21 16:51:45

Android 布局文件(view)生成Bitmap

已测量过的View生成Bitmap 即经过测量、布局、绘制并显示在界面上的View,此类View无需再次进行测量和布局,可直接将内容绘制到指定的Bitmap上。/** * 绘制已经测量过的View */private static Bitmap drawMeasureView(View view) { int width = view.getWidth(); int height = view.getHeight(); Bitmap bitmap = ...

2020-08-17 17:26:02

正确理解ThreadLocal

ThreadLocal是在Thread类之外实现的一个功能(java.lang.ThreadLocal), 但它会为每个线程分别存储一份唯一的数据。正如它的名字所说的,它为线程提供了本地存储,也就是说你所创建出来变量对每个线程实例来说都是唯一的。和线程 名,线程优先级类似,你可以自定义出一些属性,就好像它们是存储在Thread线程内部一样,是不是觉得酷?不过先别高兴得太早了,有几句丑话得先说在前 头。创建ThreadLocal有两种推荐方式:要么是静态变量,要么是单例实例中的属性,这样可以是非静态的。注意

2020-08-03 23:22:48

CPU个数、CPU核心数、CPU线程数

CPU个数、CPU核心数、CPU线程数  我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级。CPU从早期的单核,发展到现在的双核,多核。CPU除了核心数之外,还有线程数之说,下面文本就来解释一下CPU的核心数与线程数的关系和区别。CPU个数即CPU芯片个数CPU的核心数是指物理上,也就是硬件上存在着几个核心。比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组。线程数是一种逻辑的概念,简单地说,就是模拟出的CPU核..

2020-07-15 22:39:30

字符串转换成对应资源id

比如说:字符串”R.mipmap.a“,项目中需要把它转换对应的int类型资源id,可以这么用:context.getResources().getIdentifier("a","mipmap",context.getPackageName());其实就是一个拼接的过程。

2020-05-31 19:15:28

Android MediaPlayer 播放音频文件

1.把本地音频文件放入res/raw文件夹2.播放代码try { mPlayer = new MediaPlayer(); AssetFileDescriptor file = mContext.getResources().openRawResourceFd(R.raw.chat_bell); try { mPlayer.setDataSource(file.g

2020-05-30 17:41:37

Android 系统常用Intent意图

(1)闹钟创建闹钟(ACTION_SET_ALARM)示例Intent:public void createAlarm(String message, int hour, int minutes) { Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM) .putExtra(AlarmClock.EXTRA_MESSAGE, message) //用于标识闹钟的自定义...

2020-05-20 15:16:51

Android原生方式获取经纬度

Android原生方式获取经纬度优惠码优惠2019-07-10 15:12:06浏览1824android 函数 string void networkAndroid原生方式获取经纬度两种定位方式:GPS定位、WiFi定位优劣:如果项目定位要求较高还是建议使用三方地图库GPS定位相比Wifi定位更精准且可在无网络情况下使用,但在室内基本暴毙无法使用WiFi定位没有室内外限制也不需要开启GPS但需要联网,另外测试发现WiFi定位时onLocati...

2020-05-12 08:57:07

ScrollView嵌套WebView填坑

最近项目中有页面用到ScrollView嵌套WebView,代码如下:<android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swiper" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> &lt...

2020-05-09 14:52:12

setClickable 和 setEnable 事件分发影响

1、setEnable:findViewById(R.id.iv).setEnabled(false),view的单击事件无法响应(onclick方法)因为可以看到setEnable(false) 将View的flag打上了DISABLED,如下: @RemotableViewMethod public void setEnabled(boolean enabled) {...

2020-03-19 11:26:21

判断view是否可见

判断一个view是否可见,我们平常用以下代码比较多if(webView.getVisibility() == View.VISIBLE){ //可见 }else{ //不可见 }但是有时候布局会嵌套,如: <LinearLayout android:id="@+id...

2020-03-16 15:06:39

view随手指拖动还有动画

该自定义view内部已经处理外部点击事件兼容,直接可以在外部设置点击事件:/** * 如果view随手指拖动时,同时需要点击事件,直接在外部设置即可,内部已解决冲突 * * */public class MoveImageView extends android.support.v7.widget.AppCompatImageView { private int star...

2020-03-11 09:35:57

Fidder查看接口响应时间(毫秒)

第一步,如下图,打开fiddler,点击Rules下的Customize Rules。第二步,搜索CustomRules.js文件,并在class Handlers中增加一下代码://添加请求的响应时间public static BindUIColumn("Time Taken")function CalcTimingCol(oS: Session){ var sResu...

2020-03-06 10:23:35

flutter混合开发解决输入框被键盘遮挡的问题

最近项目在flutter混合开发时,表单页面软件盘调出时,底部的输入框被遮挡,经过以下方法测试,已解决;1--取消Scaffold的resizeToAvoidBottomPadding属性为false(该属性是控制界面内容 body是否重新布局来避免底部被覆盖了,比如当键盘显示的时候,重新布局避免被键盘盖住内容。默认值为 true)2--android平台在混合开发的时候需要...

2020-02-20 10:51:47

Mac Charles抓包

charles捕获http请求1、Proxy --> macOS Proxy 先打开代理,使得mac上所有请求都通过charles进行代理。15528325417514.jpg2、Proxy --> Proxy Settings 设置监听端口号为8888。15528327774262.jpg3、此时,用电脑访问百度,就已经可以获取访问的...

2020-02-07 13:44:04

flutter国内镜像和下载地址集合

国内下载flutter和安装依赖实在是太太太太太慢了!!!下面是国内几个镜像,PUB_HOSTED_URL是Dart依赖包地址,FLUTTER_STORAGE_BASE_URL是Flutter依赖文件地址。要手动下载最新版本的flutter SDK包,可以访问 FLUTTER_STORAGE_BASE_URL 地址,然后进入/flutter_infra/releases/目录下载(这个方式...

2020-01-29 18:21:51

Native与H5交互的那些事

Andorid浏览器:Native与H5交互的那些事目录一,简介二,WebView,WebSettings、WebViewClient、WebChromeClient方法三,Native与Js交互四,腾讯浏览服务X5内核五,X5内核WebView +全屏视频 + JsBridge框架一,简介这部分主要介绍下 WebView,WebView 是一个用来显示 Web 网页的控...

2019-11-28 19:11:46

dart中实体类的生成(JSON to Dart)

最近学习flutter的时候,在解析接口返回的json数据时,发现studio的gsonfromta用不了,但是又不想一个一个字段手写,所以发现一个可以代替手工编写的工具网站:https://javiercbk.github.io/json_to_dart/ 使用如下:也可以通过安装插件:FlutterJsonBeanFatory也挺好用的,安装完成后右键包目录,...

2019-11-25 15:14:22

关于android 动画坐标百分比问题

最近在做一个需要实现动画的项目,发现算动画的坐标百分比事件很痛苦的事情,按常理逻辑去设置它的进出百分比老是不能实现预期的效果,这让我很费解!例如我用translate的时候,想去实现一个从下到上的动画,在设置进入的动画的时候用<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.an...

2019-11-08 09:25:20

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。