- 博客(307)
- 资源 (29)
- 问答 (7)
- 收藏
- 关注
原创 AppCompatTextView文本设置为大写
如果你想让AppCompatTextView的文本全是大写,可以使用android:textAllCaps属性。将其设置为true即可。
2023-03-16 11:21:18
545
原创 RecyclerView.ViewHolder的adapterPosition属性被废弃了
RecyclerView.ViewHolder的adapterPosition属性被废弃了,为了解决这个问题,官方推荐使用 bindingAdapterPosition 或 absoluteAdapterPosition 属性来获取 ViewHolder 在 Adapter 中的位置。
2023-03-15 10:29:56
1048
原创 Android的线程池
Android中的线程池的概念来源于Java中的Executor,Executor是一个接口,真真的线程池的实现为ThreadPoolExecutor。ThreadPoolExecutor提供了一系列参数来配置线程池。Android的线程池主要分为4类。一、线程池的优点:重用线程池中的线程。 能有效控制线程池的最大并发数,避免大量的线程之间因相互抢占资源而导致阻塞的现象。 能够对线程进行简单的管理,并提供定时执行以指定间隔循环执行等功能。二、Android主要的四类线程池1.FixTh.
2021-07-17 11:42:37
328
原创 策略设计模式
妙计接口//妙计接口public interface IStrategy { //每个锦囊妙计都是一个可执行的算法 void operate(); }//妙计:找乔国老开后门public class BackDoor implements IStrategy { @Overrite public void operate() { System.out.println("找乔国老帮忙,让吴国太给孙权施加压力"); } }//妙计:吴国太开绿灯publ...
2021-06-23 11:52:22
173
原创 状态设计模式
常驻通知栏public void setFLAG_NO_CLEAR_Notification() { NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); long when = Syste
2021-06-22 17:07:39
135
原创 RecyclerView中的四重缓存
@Nullable ViewHolder tryGetViewHolderForPositionByDeadline(int position, boolean dryRun, long deadlineNs) { if (position < 0 || position >= mState.getItemCount()) { throw new IndexOutOfBoundsExcept.
2021-06-21 10:14:18
234
原创 Fix Failed to deserialize java.time.LocalDateTime
@SpringBootApplicationpublic class ShoppingxxxApplication { public static void main(String[] args) { SpringApplication.run(ShoppingxxxApplication.class, args); } @Bean public ObjectMapper serializingObjectMapper() { Java.
2021-06-08 11:20:59
378
原创 java.lang.OutOfMemoryError: Java heap space
Android打包报如下错误:AGPBI: {"kind":"error","text":"java.lang.OutOfMemoryError: Java heap space","sources":[{}],"tool":"D8"}java.lang.OutOfMemoryError: Java heap spacecom.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:..
2020-11-10 16:00:28
2056
原创 TextView类
onMeasure(int widthMeasureSpec, int heightMeasureSpec)测量自身的宽高。@RemoteViewpublic class TextView extends View implements ViewTreeObserver.OnPreDrawListener { @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { .
2020-11-05 13:49:13
261
原创 View类
@UiThreadpublic class View implements Drawable.Callback, KeyEvent.Callback, AccessibilityEventSource { public final void measure(int widthMeasureSpec, int heightMeasureSpec) { boolean optical = isLayoutModeOptical(this); if .
2020-11-05 11:27:30
181
原创 ViewRootImpl类
public final class ViewRootImpl implements ViewParent, View.AttachInfo.Callbacks, ThreadedRenderer.DrawCallbacks {}
2020-11-04 15:29:00
145
原创 ViewGroup类
public abstract class ViewGroup extends View implements ViewParent, ViewManager { protected void measureChildren(int widthMeasureSpec, int heightMeasureSpec) { final int size = mChildrenCount; final View[] children = mChildren; .
2020-11-04 15:28:23
134
原创 Java中什么是不可变类及不可变对象?
要使一个类成为不可变的,必须满足下面的需求:1.所有数据域都是私有的。2.没有修改器方法。3.没有一个访问器方法,它会返回一个指向可变数据域的引用。当满足以下条件时,对象才是不可变的:1.对象创建以后其状态就不能修改。2.对象的所有域都是final类型3.对象是正确创建的(在对象的创建期间,this引用没有溢出)注释:从技术上来看,不可变对象并不需要将其所有数据域都声明为final类型。...
2020-11-02 14:01:39
771
原创 Java实现数组降序排列
1Caused by: android.os.TransactionTooLargeException: data parcel size 8318152 bytes 2at android.os.BinderProxy.transactNative(Native Method) 3at android.os.BinderProxy.transact(BinderProxy.java:532) 4at android.app.IActivityTaskManager$Stub$...
2020-10-26 14:39:22
762
原创 android studio升级4.1 某些插件使用不了(Mac)
今天我把Android studio 升级到 4.1版本,发现有个错误3:11 PM Plugin Error Plugin "GsonFormat" is incompatible (supported only in IntelliJ IDEA). Plugin "Android Color Manager" is incompatible (supported only in IntelliJ IDEA). ...
2020-10-23 15:58:06
1780
原创 重构的认知
在不改变软件可观察行为的前提下改善其内部结构这是重构的最基本定义。重构并不是重做系统。当你面对一个最需要重构的遗留系统时,其规模之大、历史之久、代码质量之差,常会使得添加单元测试或者理解其逻辑都成为不可能的任务。此时你唯一能依靠的就是那些已经被证明是行为保持的重构手法:用绝对安全的手法从“坑”中整理出可测试的接口,给它添加测试,以此作为继续重构的立足点。“不改变软件行为”只是重构的最基本要求,要想真正让重构技术发挥威力,就必须做到“不需要了解软件行为”--听起来很荒谬,但事实如此。如果一段代码能
2020-07-26 23:35:03
418
原创 javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for
javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:231)at okhtt.
2020-07-22 10:54:17
1139
原创 Subscriber class XX and its super classes have no public methods with the @Subscribe annotation
2019-08-19 11:17:09.844 6297-6297/com.p3group.bmw E/AndroidRuntime: FATAL EXCEPTION: main Process: com.p3group.bmw, PID: 6297 org.a.a.e: Subscriber class com.p3group.bmw.page.aftersales.After...
2019-08-19 11:23:09
1493
5
原创 Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.2.1-
无法获取到aapt2-3.2.1-4818917.pom资源org.gradle.api.internal.tasks.TaskDependencyResolveException: Could not determine the dependencies of task ':app:processBmwintDebugResources'. at org.gradle.api.inter...
2019-08-12 13:08:39
6649
7
原创 访问者模式
2019-08-08 16:40:41.794 21041-21622/com.p3group.bmw E/XgStat: org.json.JSONException: Value �8�f���G of type java.lang.String cannot be converted to JSONObject at org.json.JSON.typeMismatch(JS...
2019-08-08 16:44:02
4292
1
原创 Java实现数组升序排序
2019-08-08 16:08:42.781 13195-13195/com.p3group.bmw E/MyTasksTodayPresenter: loadTasksFail java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a nul...
2019-08-08 16:12:36
1465
原创 Android BUILD SUCCESSFUL 但提示有两个错误
:app:validateSigningProductionRelease:app:packageProductionRelease:app:crashlyticsStoreDeobsProductionRelease:app:crashlyticsUploadDeobsProductionRelease/Users/wangliang/BMW/bmw-sfm-android-master...
2019-08-06 14:43:35
775
原创 org.gradle.execution.MultipleBuildFailures: Build completed with 1 failures.
org.gradle.execution.MultipleBuildFailures: Build completed with 1 failures. at org.gradle.initialization.DefaultGradleLauncher$ExecuteTasks.run(DefaultGradleLauncher.java:386) at org.gradle.intern...
2019-08-06 09:39:45
6845
2
原创 2018-03-14工作日志,判断View完全显示
public boolean isViewCovered(final View view) {View currentView = view;Rect currentViewRect = new Rect(); boolean partVisible = currentView.getGlobalVisibleRect(currentViewRect); boole...
2019-07-24 22:42:23
148
原创 2018-3-28工作日志,图片变形及大小尺寸说明
写这篇日志实属无奈之举,项目中图片变形的问题在不同版本反复的被测试及产品还有UI童鞋提及,明明这个版本已经修复好了,再出新版时,相同的场景又出现了,“看,这个图片变形了。”“咿,这个图尺寸不对。”主页模块,医生说列表中的图片控件统一比例依照UI标注计算,结果为2.074。整好官方号标注(宽高比--2.074)官方号标注图广告标注(宽高比--2.074)...
2019-07-24 22:36:34
195
1
原创 2018-04-12工作日志,同一布局不同机型效果有差异
适配问题,相同布局不同手机展示差异- android:layout_width="wrap_content"xml布局:<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" ...
2019-07-24 22:28:44
191
原创 认识Java
什么是Java?Java的技术体系?Java虚拟机?Java的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的 Java API、Java编程语言及许多第三方Java框架(如Spring、Struts)构成。Java虚拟机在千差万别的物理机上建立了统一的运行平台,实现了在任意一台虚拟机上编译的程序都能在任何一台虚拟机上正常运行。程序员可以把主要精力集中在具体的业务逻辑上...
2019-07-24 15:26:56
130
原创 2018-05-09vivo低端机的奇怪适配
今天测试人员拿着vivo手机让我看,列表中的item布局底部少一条线,艹,什么操作,我摸摸地打开了我的测试机,明明是有那条线的,于是查看xml布局。image.png解决:线性布局更改为相对布局。TIM图片20180509164044.png...
2019-07-24 11:18:58
234
原创 吐槽微博SDK的接入
进入微博开放平台(当然你必须注册账号哈)微博授权登录手机时间必须正确,我类个去我们的目的是获取微博授权登录查找微博授权文档找到微博登录文档页面让我们先浏览OAuth2.0的接口文档先浏览OAuth2.0的接口文档看完所有官方在线开发文档后,还是一头雾水,这都是与server端的请求,难不成使用你们的SDK,请求需要我们自己来封装。不行,应该不会这么二...
2019-07-08 14:52:43
571
原创 Android Studio
1.快捷键的设置 2.编码的修改 3.mapping文件的存放路径 4.快速定位当前文件的具体位置 5.更新SDK 6.显示行号 7.选中一个单词/方法--Ctr+paperUp/Ctr+paperDown 8.查看包中的所有java文件--Cmd+paperUp-->paperDown 9.代码块展开或折叠...
2019-07-03 11:44:41
308
原创 网络路由
$ ip routedefault via 10.1.6.254 dev wlan0default via 10.1.6.254 dev wlan0 metric 30810.0.0.0/16 dev tun0 proto kernel scope link src 10.0.0.110.1.1.51 dev tun0 scope link10.1.6.0/24 de...
2019-06-28 12:31:31
301
原创 2018-04-28工作日志,Umeng多渠道包统计unkown?
项目中遇到的问题:之前版本可统计到渠道安装数量,最新版本无法统计到,一直统计的是Unknown。最终查找到的原因:配置清单中注释了如下代码: <meta-data android:name="UMENG_CHANNEL" android:value="zhenghao" />...
2019-06-17 09:47:42
238
原创 2018-05-15适配机型
坑爹的vivo,场景点击返回键跳转到另一Activity。重写onKeyDown()方法, public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { handler.postDelayed(...
2019-06-13 09:47:43
124
原创 工作日志2018年七月十四 Android拍照权限管理
在使用GalleryFinal框架时,发现没有注册拍照权限竟然可以调用相机? /** * 拍照相关 */ private void choosePhotoPop() { PopManage.getCamera(this, include_action_bar, new KCallBack() { @Override ...
2019-06-13 09:44:39
168
原创 Gradle sync failed: 'Gradle: android-android-27' already disposed: --------------Creation trace:
18:36 Gradle sync failed: 'Gradle: android-android-27' already disposed: --------------Creation trace: java.lang.Throwable: 1558003004537 at com.intellij.openapi.util.Trace...
2019-05-16 18:40:08
1237
原创 Failure delivering result ResultInfo
2019-05-15 17:06:01.724 9873-9873/com.fenjiread.learner E/AndroidRuntime: FATAL EXCEPTION: main Process: com.fenjiread.learner, PID: 9873 java.lang.RuntimeException: Failure delivering result ...
2019-05-15 17:10:37
2617
3
阿里电面题:如何保证网络传输安全?
2017-07-25
阿里巴巴面试Java基础题,静态属性及方法能否被继承?
2017-07-24
Android常用的开源网络请求框架,码农们分享使用心得?
2017-07-23
Java支持断点下载文件
2017-07-23
Thread.interrupt()的疑惑?
2017-07-22
什么情况下使用不可变对象和类?
2017-07-21
吐槽:子线程中创建Handler对象就很牛逼么?效率就很高么?使用起来就很方便么?
2017-07-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人