自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (4)
  • 收藏
  • 关注

原创 阿里镜像网站与Android常用maven镜像库

主要作为便于自己查阅,如果有问题了,欢迎评论https://maven.aliyun.com/mvn/view常用maven仓库maven { url 'https://maven.aliyun.com/repository/central' }maven { url 'https://maven.aliyun.com/repository/google' }maven { url 'https://maven.aliyun.com/repository/public' }maven {.

2020-07-10 10:46:32 524

原创 Git 使用用户名密码 clone或者pull github私有仓库

进入到github仓库点击复制https的url在命令做如下相应替换,并运行命令https://{ username }:{ password }@ xxx .com例如:https://zhangsan:[email protected]

2020-06-15 11:57:48 5240

原创 google登陆失败问题解决

问题背景最近(2021.09)使用google登陆总是失败,以前也经常碰到登陆失败的问题,但往往是测试环境服务器挂掉导致,因此一开始也想当然的又把原因归结于此,结果iOS登陆没问题。问题被抛给我,于是进行分析。日志找到登陆模块,在登陆结果返回的地方打印出日志。无论是成功异常啥的一股脑全部打出来。最后发现只有异常部分的日志打印了。日志如下:Error com.google.android.gms.common.api.ApiException: 10: caused a SocialLoginPla

2021-09-27 23:36:13 6170

原创 Git将指定文件回退到指定版本

有时候修改了很多,并提交了多个Commit之后,提交代码进行Review。Review的要求对某些文件进行回退。此时就需要用的这个功能主要命令git checkout revision_number full_file_name使用之后,文件回退,修改需要重新提交参考文章Git-将指定文件回退到指定版本...

2021-07-28 16:05:02 984

原创 Android Studio升级到4.2Cannary版本导致项目编译失败的问题

Android Studio 4.2Cannary要求使用jdk11以上,不支持java8。而java8中不少api到jdk11被删掉了。因此会造成问题。相关问题How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

2021-03-24 10:33:58 1123

原创 android CheckBox简单自定义样式

CheckBox用得比较多,但又不是那么多。有些属性时间长了就忘记了。要玩出花样当然有很多内容可以写。但有时候我们需要简单快速的实现设计需求。至于复杂的实现,比如需要添加动画等,根据需要再进一步进行自定义。本文主要介绍一种简单快捷的实现方式,便于自己进行代码重用。1. 图标效果2. 代码界面 <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/checkbox_containe.

2021-03-19 08:39:18 730

原创 Mac Android Studio 4.1.2 卡死问题解决

1.问题描述Android Studio最近非常卡,严重影响了开发。刚开始以为是升级Android Studio的原因重装降级了Android Studio,依旧卡更改jvm增加内存,还是卡后来才怀疑到Mac系统升级的原因但是降级系统实在是麻烦所幸通过网上及尝试找到了合适的解决方案2. 解决方式关闭AS,终端输入一下命令,然后重启Android Studio即可defaults write com.google.android.studio AppleWindowTabbingMode

2021-03-14 10:32:36 3079 3

原创 github fatal: unable to access ... SOCKS5 read timeout

问题描述github桌面版无法pull代码,直接使用命令也无法pull代码,报错如下github fatal: unable to access ... SOCKS5 read timeout或者fatal: unable to access "...": Failed to connect to 127.0.0.1 port 1088: Connection refusedgithub desktop找不到是设置了代理或者查看代理的地方进入项目文件下git配置信息里面没有设置代理

2021-03-11 10:07:45 621

原创 Android Unit test No tests were found Class not found ...

错误信息打算在项目中添加单元测试。先找到自动生成的ExampleUnitTest文件里面去运行下,发现死活都是报如下错误No tests were foundClass not found: "**.logger.ExampleUnitTest"点击左边的锤子图标进行编译,编译完死活还是报上面的错误。对照官方文档,找到build.gradle中的单元测试相关依赖,左改右改,点击锤子进行编译,结果还是死活报上面的错误。新建demo项目,等待项目可以run之后,进入到自动生成的那个单元测试文件,尝

2021-03-10 17:13:16 1514

原创 Mac11.1 编译openjdk 11+

本文主要叙述自己编译openjdk的过程参考视频实战编译Java源码(JDK源码,JVM)视频教程该视频讲的是Mac10.5.4版本编译openjdk11的情况。由于我的mac版本是11.1,完全按照视频操作还是有一定的问题,本文主要介绍这方面问题的结局。1.环境编译环境需要xcode,作为bootjdk的jdk,clang,clang++,autoconf, freetype, make等autoconf和freetype可能需要重新通过brew来安装,make好像是自带的,clang安.

2021-02-26 12:09:53 1964 2

原创 Android自定义控件——仪表盘

1. 效果2.代码自定义控件class GaugeView : View { var strokeWidth = 0f set(value) { field = value invalidate() } private var backgroundColor = 0 var fillColor = 0 set(value) { field = valu

2021-02-23 17:36:05 375

原创 Kotlin中set方法的“[]=”写法

Java代码转kotlin代码,出现了一段“[firstPara, secondPara, thirdPara ] = fourthPara" 的写法没看懂。经过验证其确实是可以正常运行的一种写法。由于之前没见过这种写法,也没从官方教程中找到出处,在此记录。由于该写法过于奇怪,记录不代表本人推荐这种写法。转换之后的kotlin代码简化,记为写法1val rect = RectF()rect[left, top, right] = bottom转换前后运行效果一致,之后打算转换之后进一步优化.

2021-02-23 16:25:19 469

原创 Android应用内跳转到google play或者其他应用市场详情页下载或者评价

1. google play应用商店由于国内网络环境,暂未能做到验证 // 做跳转到谷歌play做好评的业务逻辑 //这里开始执行一个应用市场跳转逻辑,默认this为Context上下文对象 var intent: Intent = Intent(Intent.ACTION_VIEW) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) Log.d("HOmeFra

2021-02-19 09:49:12 4148 2

原创 Mac终端代理环境配置

配置http和https的代理环境,比如代理端口如下,则打开终端后设置如下命令export http_proxy="http://127.0.0.1:1087"export https_proxy="http://127.0.0.1:1087"如果是一直用的代理,且端口基本不变,则可以将以上配置在~/.zshrc文件中,添加后别忘了source下该文件...

2021-02-01 10:22:44 281 1

原创 Android中本地库aar包依赖

1. 背景前一段时间我在开发中需要用到第三方的控件Android-PickerView,我在build.gradle中的依赖是这么写的:compile 'com.contrarywind:Android-PickerView:4.1.3'可以看出这是一个网络库依赖。由于本地配置了网络代理和国内镜像库,除了第一次需要下载慢一些,编译运行没有任何问题。不过在我将代码提交到svn上的时候,jenkins标红了…在有网情况下,使用网络库依赖没问题,但我们的Jenkins服务器编译要求离线,所使用的grad

2021-01-25 09:24:39 5979 3

原创 flutter安装issue Flutter plugin not installed this adds Flutter specific functionality

问题描述MAC, Android Studio 4.1环境, 安装flutter插件并重启后在终端运行flutter doctor却报错,具体如下 ~ flutter doctorDoctor summary (to see all details, run flutter doctor -v):[✓] Flutter (Channel stable, 1.22.3, on Mac OS X 10.15.7 19H2, locale zh-Hans-CN)[✓] Android to

2020-11-11 14:56:26 1278

原创 关于异常的一点思考

异常究竟是给谁看的? 毫无疑问,异常是给程序员或者运维人员看的。用户是看不到异常的。这个程序员可以是他人,也可能是自己。所以异常是需要程序员进行处理的情况。至于处理的方式,可能有时候也不得不最终以某种方式交给用户去处理。比如客户端应用由于网络数据问题抛出异常,这个网络 数据问题可能是网络通信本身导致的,比如信号不好、设备设置等,程序员处理可能是另一段代码让请求重新尝试几次,这重新尝试几次对用户当然是不需要用户去处理,但是这重复的几次如果都失败了,一般就得给用户提示,让用户去处理。再则,这个网络数据问题也可

2020-10-15 03:58:45 132 2

原创 Android报错:android view WindowManager$BadTokenException Unable to add window

1. 错误详情在弹出对话框时候应用崩溃,并报如下错误:android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application at android.view.ViewRootImpl.setView(Vi

2020-09-26 14:28:23 2423

原创 aar依赖报错:Only Jar type local dependencies are supported

由于公司服务器不能连接外网,因此不能使用外网仓库依赖,但是又没有搭建自己的仓库。因此将第三方库依赖打包成aar的形式进行依赖,本文主要描述其中出现的问题。##0 背景组里大家所用的工具不统一,我和另一个同事使用的是Android Studio3.0.1,项目gradle插件版本用的2.3.3,项目gradle版本用的3.3。但是有的同事用的Android Studio1.2.3,gradle插件版本1.2.3,gradle版本2.2.1。也有同事完全使用Eclipse进行开发。此为背景。1. 报错.

2020-09-26 14:21:03 1480

原创 error running app default activity not found

参考https://stackoverflow.com/questions/15825081/default-activity-not-found-on-android-studio-upgrade解决方式File -> Invalidate Caches / Restart...

2020-09-22 10:49:13 130

原创 idea gradle下载问题镜像

默认idea下载gradle特别慢,使用如下阿里云镜像可以加速maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}

2020-09-18 22:55:35 496

原创 kotlin:协程究竟运行在那个线程?

对于同一个协程作用域,协程会在那个线程运行呢?试验代码如下:import kotlinx.coroutines.*import java.io.BufferedInputStreamimport java.io.Fileimport java.io.FileInputStreamimport kotlin.coroutines.resumeimport kotlin.system.measureTimeMillis@ExperimentalCoroutinesApifun main()

2020-09-18 15:52:16 886

原创 Kotlin协程能否取消IO操作的验证

我们知道kotlin协程的示例代码中多是取消delay,这和java中打断sleep相似。那么对于执行文件读写操作的代码,取消是否能结束线程呢?本篇主要就这一问题进行验证0. 先说结论结论是无法结束线程真正达到取消任务的目的1. 验证代码import kotlinx.coroutines.*import java.io.BufferedInputStreamimport java.io.Fileimport java.io.FileInputStreamimport kotlin.sys.

2020-09-17 17:36:24 225 1

原创 withContext(NonCancellable): 让挂起函数不被取消

withContext(NonCancellable)可以让挂起函数不被取消。从效果上来看,有点像java中的interrupt打断sleep来中断线程使用 withContext(NonCancellable),代码如下import kotlinx.coroutines.*fun main() = runBlocking{ // # 9 /** * 使用withContext(NonCancellable)后,即使取消,它里面的内容都会执行完,不使用的话,.

2020-09-16 15:34:47 944

原创 Java 使用join将把异步方法转为同步

有时候我们需要在当前线程等待在其他线程执行结束后,将这些线程处理的结果汇总。简单将就是阻塞等待其他线程结束。通过join方法即可实现。代码如下:public class Async2Sync { static volatile int count1 = 0; static volatile int count2 = 0; public static void main(String[] args) throws InterruptedException { .

2020-09-16 11:34:48 362

原创 kotlin中join方法效果验证

kotlin 中join()方法可以在一个作业中中等待另一个作业结束后再进行其他操作,如下代码对以日志的形式直观化这个效果import kotlinx.coroutines.*fun main() = runBlocking{ val job = launch { try { repeat(1000){ println("job: I'm sleeping $it 。。。") delay.

2020-09-16 10:35:55 2447

原创 论java多线程中volatile关键字的重要性

试验代码如下public class test { public static void main(String[] args) throws InterruptedException { Job job = new Job(); new Thread(job).start(); Thread.sleep(1300L); println("main: I'm tired of waiting!"); job.can

2020-09-16 10:09:31 70

原创 Android Studio gradle 下载失败或者下载慢的问题解决建议

问题主述每当Gradle插件升级需要新版本gradle,或者新安装Android Studio时,总是在Gradle自动下载这一步卡很久,各种配置镜像或者hosts文件配置也无效。真是烦杀我辈!建议解决方式鉴于翻墙的难度和风险,建议还是手动下载(下载时候记得复制了下载链接用迅雷极速版下载),然后在Android Studio中设置使用本地的gradle...

2020-09-10 09:24:33 345

原创 ViewPager2与SwipeRefreshLayout冲突导致条目无法点击问题

问题详细描述ViewPager2的一个page子页中,有一个是SwipeRefreshLayhout包裹的RecyclerView。当RecyclerView滑动到最上面时,条目点击失效,但哪怕往下滑一点点,条目点击就没问题。可以进一步参考StackOverFlow上的描述解决方式将根布局的ConstraintLayout替换成了RelativeLayout后就好了。或者替换成其他布局也行,看到过有文章替换成LinearLayout也行的,我没有尝试。啰嗦几句解决这个问题过程中,也尝试过监听Rec

2020-09-09 17:49:48 850 3

原创 Not sure how to convert a Cursor to this method‘s return type (androidx.paging.PagingSource)

在集成jetpack paging3的过程中,集成Room的时候,编译不通过,报该问题经过反复对比,我的方法签名加了suspend,去掉了就好了。具体详细原因还没找到。报错前代码 @Query("SELECT * FROM medicines ORDER BY name") suspend fun getMedicines(): PagingSource<Int, Medicine>修复后代码 @Query("SELECT * FROM medicines .

2020-08-31 14:40:08 2225 2

原创 Android Paging3: No layout manager attached; Skipping layout

问题集成Paging3时,按照demo来的,列表却总是显示不出来。通过日志打印数据流也没发现问题。查看日志,其中有一条如下:E/RecyclerView: No layout manager attached; skipping layout解决网上搜索,最终在stackoverflow上找到有效的解决方案给recyclerview添加了layout manager就好了recyclerview.layoutManager = LinearLayoutManager(context)..

2020-08-28 17:57:20 139

原创 Firebase调试模式下关闭上传

我们有时候不希望将开发状态下的crash信息上传,那样不利于分析参考链接Disable Firebase in development mode in AndroidDisable Analytics data collectionTo do this automatically add the following line to manifest: <meta-data android:name="firebase_analytics_collection_.

2020-08-14 09:43:57 948 2

原创 Navigation组件使用多返回栈注意事项

主要记录参考google NavigationAdvancedSample示例对项目进行多返回栈改造时需注意的事项。快捷可直接看注意事项的第一句。0. 需求描述需要让底部导航的每个菜单项的控制的页面拥有自己独立的任务栈,以便于底部导航切换时,仍然保留在已经导航到的位置。比如底部导航菜单是A, B, C 子页面,底部导航在A页面,A页面点击进如到A1,然后通过底部导航切换到B后再切换回A,A菜单页面仍然停留再A1而不是退回到A的home页。可以进一步参看google官方示例集 architectu.

2020-08-06 10:18:01 1211

原创 获取当天凌晨时间戳

本篇主要便于查询和代码copy其中有一点值得注意的是Calendar的clear hour字段无效参考 /** * 获取凌晨时间戳 * @param clendar 传入日期 * @return 时间戳 */ private fun getWeeHoursTimeStamp(clendar: Calendar): Long { val timeStamp = clendar.apply { // c.

2020-07-29 09:45:40 1989 1

原创 Android第三方依赖包代码修改

首先说明,当然不能直接在第三方库里面直接改,还是需要通过各种方式弄到源码,重建项目之后以项目依赖的方式,或者直接导入源码的方式进行修改。0. 文章缘起有时候第三方库jar包或者aar包需要查看源码,但是使用Android Studio进去查看,部分代码没有解析出来。或者有时候需要修改第三方库,但是又不容易找到仓库开源代码的位置,需要在代码中引入该库的所有源码,并稍加改造。此时我们需要将该库代码导出,并导入到本地源文件包中,稍作修改后使用。1. java源码的jar或aar包文件的导出对于在bui.

2020-07-28 10:42:45 3901

原创 Android Studio上传本地仓库到github

Android Studio可以很方便将本地仓库到github上进行管理。本篇简单记录下过程步骤,便于忘记了随时查阅。并重点强调下不修改git本地默认全局邮箱和用户名情况。1. AndroidStudio设置github账号设置里面选择Version Control -> Github加号添加账号和密码2. 分享本地仓库到github远程顶部菜单栏 -> VCS -> Import into version control -> Share Project on Git.

2020-07-14 16:53:09 194

原创 Android Studio利用host文件配置dl.google.com的国内镜像源

国内的Android开发者,基本每隔一段时间就会碰到项目突然不能编译的情况。sdk更新、插件安装也有诸多不便,环境的折腾确实伤透了脑筋。本文主要记录下使用host配置dl.google.com的国内镜像。文章主要参考了Android Studio配置国内镜像源(利用hosts)该文章很清晰了,但看那篇文章其实就可以了。那么为什么我还多余的记录这篇文章呢?作为一个笔记和备份吧!方便自己查找,毕竟现在网上不靠谱的文章太多,自己验证过靠谱的,还是记录下比较稳妥。废话不说了,以下进入正题。1. 用文本编辑.

2020-07-10 10:37:53 11422 13

原创 Kotlin 正则搜索与格式替换

重点:并非简单的字符串替换,替换过程中需要用到匹配文本中的部分数据本文通过一个字符串替换的小需求案例,简单介绍在kotlin中使用正则表达式搜索到相应的字符串,并进行格式替换,保留替换的部分数据。0. 需求替换前数据, 该数据为一段字符串 <p>1. Heat olive oil in a pan.</p> <p>2. Season chicken with salt.</p> <p>3. Add chicken t.

2020-07-08 17:06:54 2015

原创 Android 软键盘显示与隐藏

Android 软键盘显示与隐藏0. 场景同一个activity情况下通过fragment进行页面切换进入编辑页面的Fragment后,该页面的EditText控件自动获取焦点并弹出软键盘离开该Fragment页面时候需要隐藏软键盘。避免返回到了其他页面,而软键盘却依然存在。如果软键盘已经隐藏,也需确保返回到上一个页面时,软键盘不会从隐藏状态转换为弹出状态。这一点是使用toggleSoftInput方法时容易出现的故障,当然也可能是我对该方法的使用不当。1. 代码 /** * 隐藏软键

2020-07-03 12:34:19 277

原创 You have JVM Property socksProxyHost set to 127.0.0.1

问题描述使用的MAC,Idea 使用过程中总是无法联网正常下载依赖使用。今天终于怀疑到是代理问题,进入Preferences -> HTTP Proxy 显示如下:文字描述如下:You have JVM property “socksProxyHost" set to “127.0.0.1”.This may lead to incorrect behaviour. Proxy should be set in Settings | HTTP ProxyThis JVM property

2020-05-25 10:00:48 6595 1

Mysql必知必会(带书签版)

《MySQL必知必会》MySQL是世界上最受欢迎的数据库管理系统之一。书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。通过重点突出的章节,条理清晰、系统而扼要地讲述了读者应该掌握的知识,使他们不经意间立刻功力大增

2017-11-12

python3-廖雪峰-带书签打印版pdf

python 3.0 廖雪峰pdf包括Python程序设计的方方面面,首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句。然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器。此后探讨了如何将Python与数据库、网络、C语言等工具结合使用,从而发挥出Python的强大功能,同时介绍了Python程序测试、打包、发布等知识。最后,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了几个具有实际意义的Python项目的开发过程。为了便于大家打印学习,这里分享了pdf版本。如果网络方便,还是建议大家去廖雪峰先生的网站学习。

2017-11-12

smashing webkit

最近要用到webkit,可是csdn上面这本书都需要积分,而我没有积分,因此找朋友下载了上传

2015-02-28

webkit简介

对于webkit的概略性介绍,适用于刚开始学习使用webkit的人。

2015-02-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除