android studio logcat技巧
对人民来说,唯一的权利是法律,对个人来说唯一的权利是良心。——雨果 很多朋友不会用 LogCat 看日志 View logs with Logcat | Android Studio | Android Developers 这个是官方文档,例如这里可以反向筛选: 1level:error -tag:DeviceDoctorHandler -tag:AndroidRuntime -tag:OOMEventManager -tag:MiuiFastConnectService -tag:.gms.persisten -tag:ANDR-PERF -tag:SELinux -tag:GCM -tag:libc 这里就是筛选出除了后面一大串 Tag 的 Error 等级日志 译文: 使用Logcat查看日志Android Studio 中的 Logcat 窗口通过实时显示来自设备的日志来帮助您调试应用程序,例如,使用 Log 类添加到应用程序的消息、来自在 Android 上运行的服务的消息、或系统消息,例如发生垃圾收集时。当应用程...
Apache Fury
得道者多助,失道者寡助。——孟子 https://fury.apache.org/ Apache Fury 是一个 Java 序列化库,它提供了线程安全和高性能的序列化解决方案。在这个示例中,我们通过继承一个抽象序列化类来实现自定义的序列化逻辑。 例如 我们定义了一个 FurySerialize 类,它扩展了一个抽象的 AbsSerialize 类。这个类实现了两个主要方法:encode 用于将对象序列化成字节,而 decode 用于将字节反序列化成对象。 1234567891011121314151617181920212223242526public class FurySerialize extends AbsSerialize { private static ThreadSafeFury fury; static { fury = Fury.builder() .withLanguage(Language.JAVA) .withRefTracking(true) ...
git修改上次提交时间
滴水可以汇成江河,粒米可以聚成谷仓。——萨迪 当你需要修改 Git 提交的时间,可以根据不同的场景采用不同的方法。下面按场景分类详细介绍各种情况的操作步骤。 在未推送之前修改提交时间修改最近一次提交的时间如果你的提交还没有被推送到远程仓库,修改最近一次提交的时间相对简单: 1git commit --amend --no-edit --date="2024-05-04T01:49:20" 这个命令会更新最后一次提交的时间,而不更改提交信息。 修改未提交的更改如果你有更改尚未提交,需要先进行提交。可以先正常提交,然后立即修改这个新提交的时间: 12git commit -m "Your commit message"git commit --amend --no-edit --date="2024-05-04T01:49:20" 已推送到远程仓库后修改提交时间修改最近一次已推送的提交如果修改的是已经推送到远程的最近一次提交,你需要小心操作,因为这会改变提交的哈希值。操作步骤如下: 12git commit --am...
未来或将用Markdown写JavaDoc
当囊空如洗时才开始节约的话,那就为时太晚了。——塞内加 提案链接:JEP 467: Markdown Documentation Comments 1995 年的 HTML 写 JavaDoc 到现在已经快过时啦,于是 Jonathan Gibbons 提议用 Markdown 写 JavaDoc。目前这个提议在“Proposed to Target”状态,根据社区反响,这个提议很大概率能在 Java SE 23 版本中发布。 新的文档注释将使用 /// 而不是传统的 /** ... */。这样做的好处是: 避免了在文档注释中使用传统注释(如 /*...*/)可能引发的问题。 消除了使用星号的传统注释可能带来的 Markdown 语法冲突。 下面的 JavaDoc 和 Markdown 版本的文档注释对比。 JavaDoc 版本: 1234567/** * Returns a hash code value for the object. This method is * supported for the benefit of hash tables such as t...
spring提供的SQL工具类执行SQL脚本
方向是比速度更重要的追求。——白岩松 这里主要是用到了org.springframework.jdbc.datasource.init.ScriptUtils#executeSqlScript(java.sql.Connection, org.springframework.core.io.Resource)方法 例如 123456 @BeforeAllstatic void setup(@Autowired DataSource dataSource) throws Exception { JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); assertNotNull(jdbcTemplate.getDataSource()); ScriptUtils.executeSqlScript(jdbcTemplate.getDataSource().getConnection(), new ClassPathResource("init.sql"));}...
android中UseCompoundDrawables警告
促使一个人值得信任的唯一方式就是信任他。——史汀生 在Android开发中,如果你看到 UseCompoundDrawables 这类的提示或警告,它通常来自于Android Lint工具,这是一种代码质量检测工具,用于指出可以优化的代码实践。UseCompoundDrawables 警告提示你可以使用 TextView 的 compound drawables 功能,而不是在布局中单独使用一个 ImageView 和 TextView。 TextView 提供了一种方式来直接在文本周围放置图标(上、下、左、右),这可以通过在TextView中使用 android:drawableLeft、android:drawableRight、android:drawableTop 或 android:drawableBottom 属性来实现。使用这种方式比起分别放置 ImageView 和 TextView 更有效率,因为它减少了布局层次结构的复杂性,并且可以提升渲染性能。 假设你有一个 TextView 和一个图标显示性别,而你当前是这样布置的: 12345678910111213...
自动加空格
这个世界上没有无用的齿轮,也只有齿轮本身能决定自己的用途。——《嫌疑犯X的献身》 https://github.com/vinta/pangu.js?tab=readme-ov-file 这个库pangu 如果你跟我一樣,每次看到網頁上的中文字和英文、數字、符號擠在一塊,就會坐立難安,忍不住想在它們之間加個空格。這個外掛(支援 Chrome 和 Firefox)正是你在網路世界走跳所需要的東西,它會自動替你在網頁中所有的中文字和半形的英文、數字、符號之間插入空白。 漢學家稱這個空白字元為「盤古之白」,因為它劈開了全形字和半形字之間的混沌。另有研究顯示,打字的時候不喜歡在中文和英文之間加空格的人,感情路都走得很辛苦,有七成的比例會在 34 歲的時候跟自己不愛的人結婚,而其餘三成的人最後只能把遺產留給自己的貓。畢竟愛情跟書寫都需要適時地留白。 與大家共勉之。 安装 用户使用 Google Chrome (2019-02-09 UPDATED) Mozilla Firefox (2019-02-09 UPDATED) 开发者使用 官方支持: pangu.go (Go) p...
安卓隐藏了的视图在工具里显示
早知今日读书是,悔作从前任侠非。——李欣 有时候我们在安卓布局时默认隐藏了某视图元素 12345<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone"></FrameLayout> 但如果我们需要在 Android Studio 中显示,则可以添加tools:visibility="visible"属性,例如: 123456<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone" tools:visibility="vi...
webview需要重新渲染方案
开成花灾的玫瑰不是灿烂,而是荒凉。——严歌苓 方案如下: 添加一个LinearLayout 123456<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webContainer" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:visibility="gone" /> 然后对其添加、删除webview 123456789101112131415161718192021222324private void createAndLoadWebView(String url) { // 移除旧的 WebV...
安卓阴影实现
除了实践以外,没有别的办法可以识别错误。——狄德罗 首先网上找了一圈方案,要么是用UI切图的方式,要么是说用背景或者自带的阴影,这篇文章也说了 阴影组件化,解决安卓不统一问题 - 掘金 UI切图/制作点9图的方式: 这种方式应该是完美还原蓝湖设计图的方式,但不是从技术角度实现 下面还有几个 1. elevation(组件属性) 优点:绘制效率高,使用自带的api不用添加多余的drawable文件,并且支持 translationZ 动画方便实现点击的动画效果;不占位 缺点:低版本不显示,方向颜色不可控,自带的属性设置参数有限; 注意:View要带透明度,否则是没有效果; 2. CardView(组件自带) 优点:CardView是自带阴影的是Materail设计的组件,效率高;不占位 缺点:阴影方向颜色不可控; 注意:CardView模拟的光源在屏幕中心正上方阴影显示角度会有所差异; 3. Shape(作为背景绘制所以会占位,它的绘制原理是一层层的由深到浅的形状作为阴影) 优点:颜色方向可控制;占位 缺点:没有模糊效果阴影不自然有点生硬(较弱的阴影不太容易看出来)...
