- 博客(102)
- 资源 (32)
- 收藏
- 关注
原创 [非技术] 基因遗传相关知识学习笔记
比如:AA、Aa 都显病,其中 A 为致病基因,a 为正常的等位基因。女性健康,则基因为:aa(由于 A 是显性,即只要含有 A 就患病,所有健康的女性基因只能是 aa)。打散后自由交叉组合为:Aa Aa aa aa,即 50% 的健康但携带致病基因的孩子 Aa,50% 的患病的孩子 aa。如果一个有常染色体隐性遗传的男患者(aa),与一个健康但携带的异性结婚,生育的子女患病的数据是怎么样的?打散后自由交叉组合为:Aa Aa aa aa,即 50% 的患病孩子 Aa,50% 健康的孩子 aa。
2024-04-11 19:58:40 660
原创 Android 远程调用服务之 AIDL
因为客户端想要获取服务端的计算结果,所以要使用 bindService 方式调用服务。因此服务端需要实现 onBind(Intent intent)() 方法,并返回 binder 对象,使客户端能够调用到 aidl 定义的方法。@Nullable@[email protected]("服务端处理完毕", userData);
2023-10-16 19:32:09 833 1
原创 Android 小组件 AppWidgetProvider
在 res/xml/ 文件夹中新建配置文件 demo_appwidget_info.xml}
2023-09-22 13:53:52 781
原创 IntelliJ IDEA 控制台中文乱码和错误: 非法字符: ‘\ufeff‘
在电脑桌面新建文本文档,然后把 Java 文件中的代码全选复制到文本文档中,调整编码格式为 UTF-8 NO BOM,再保存,重命名文件名和后缀,粘贴替换 IDEA 中的 Java 文件。确实,之前一直报错的 Java 代码编码格式是 UTF-8 BOM,转换为 UTF-8 NO BOM 后就好了。那,有没有可能,当前项目中的 Java 代码已经是 UTF-8 BOM 格式的了,所以导致运行报错呢?UTF-8 BOM 含义:会包含特殊的隐藏字符,会导致 IDEA 运行失败。再次运行,看看效果。
2023-07-05 22:34:13 3328
原创 IntelliJ Plugin 开发之添加第三方 jar (六)
本小节内容不多,但是个人感觉比较独立,还是拿出来单讲吧。在开发 IntelliJ Plugin 时,如果需要用到 Gson、OKHttp 等第三方库时,该怎么办呢?回答这个问题前,我先补充前面没有讲到的内容。插件开发其实可以使用两种方式,官方文档:http://www.jetbrains.org/intellij/sdk/docs/tutorials/build_system.html...
2019-01-07 22:18:26 20067 3
原创 IntelliJ Plugin 开发之 AnAction 运行原理(五)
在前面编写 Demo 项目时,我们邀请了 Action 大神出场,但貌似对他很陌生。本讲的主角就是他。Action 有多神秘?官网文档地址:http://www.jetbrains.org/intellij/sdk/docs/basics/action_system.html本文中,我会忽略一些技术不讲,比喻注册 Action Group、Action 代码方式注册等,几乎用不到。Ac...
2019-01-06 22:20:35 19455
原创 IntelliJ Plugin 开发之 plugin.xml 配置文件详解(四)
前面几篇文章,我们一起了解了 Plugin 的项目创建和运行效果。接下来我们开始静下心来深入了解插件的内容了。从 plugin .xml 核心配置文件开始。更消息的内容,请参考官方文档:http://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_configuration_file.html ...
2019-01-06 21:22:47 25912 1
原创 IntelliJ Plugin 开发之调试运行、部署、本地安装和发布项目到仓库(三)
有了前面创建 Hello World 项目的经验,接下来试试如何调试运行、部署、本地安装和发布项目到仓库。一、调试运行:写好了 Demo 项目,该怎么运行呢?和我们平时写 Java、Android 项目一样,直接点击 IDEA 菜单栏的 Run 或 Run Debug 即可。But 要注意的是,我们现在编写的是 Plugin 程序,是依附在 IDEA 上生存的。故此时直接点击 Run ...
2019-01-06 18:29:08 20197 4
原创 IntelliJ Plugin 开发之 Hello World(二)
学会了 IntelliJ Plugin 开发环境配置,接下来按照世界惯例,来一个 Hello World 熟悉下环境。1、创建一个插件项目打开 IDEA,在启动界面选择 Create New Project。在弹出的窗口中选择 IntelliJ Platform Plugin,下一步。设置 Project 名称,保存目录位置。继续 Finish 完成创建。项目创建完成后,默...
2019-01-06 17:44:56 17671 2
原创 IntelliJ Plugin 开发之环境配置(一)
此系列文章来给大家分享一下我对 IntelliJ Plugin 开发的经验积累。IntelliJ Plugin 开发指的是什么呢?就是 IntelliJ 平台的插件,比喻 Android Studio 上的 GsonFormat、Wifi ADB 等插件工具。一、开发工具下载地址:官网地址:https://www.jetbrains.com看到这个地址是不是很熟悉?不废话了,就是我...
2019-01-06 17:21:05 22445 6
原创 Android 文件选择器 DFileSelector
源码地址:https://github.com/mengzhinan/FileSelector前段时间准备给朋友做一个手机小工具,需要用到选择文件并读取里面的内容。这个读扩展卡选择文件的功能呢,其实也不难,就是个 RecyclerView 和 Adapter 而已。但是感觉自己有点懒,想找找开源的项目用用。网上搜索了下,还真有一个叫 LFilePicker 的项目,地址为https:...
2018-11-04 23:19:54 24671 10
原创 Android dp方式的屏幕适配-原理(后期补充完整讲解)
Android dp方式的屏幕适配-原理传统所说的屏幕适配,其实是针对不同屏幕的UI尺寸适配,即在编写页面时使用了具体的dp、sp值后导致的其他问题。我之前写过一些相关的文章和工具插件,也收到了很多网友的反馈。今天特编写此篇博客,重新整理以前的思路,同时也融入我近期更深刻的理解和总结,完整解答各位网友的疑惑。友情链接,感谢鸿神提供的思路。张鸿洋的《Android 屏幕适配方案》:h...
2018-08-25 20:47:57 36828 5
原创 ACache衍生的DSQLiteCache缓存小项目
ASimpleCache是一个优秀的缓存框架。1、可以缓存各类数据,比喻:字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 byte数据。2、轻,轻到只有一个JAVA文件。3、可配置,可以配置缓存路径,缓存大小,缓存数量等。4、可以设置缓存超时时间,缓存超时自动失效,并被删除。5、支持多进程。等等怎么使用呢?ACache.get(MainA...
2018-03-14 16:17:13 16835
原创 Android 自己开发的消息事件小项目DBus
CSDN地址:http://blog.csdn.net/fesdgasdgasdg/article/details/79121783GitHub地址:https://github.com/mengzhinan/DBusDBus一个简易、高效的消息框架。没看过EventBus的源码,但是个人感觉此项目够简洁高效、易懂易用!DBus项目突出的特点:1、注册消息事件的类可以是
2018-01-21 18:24:05 17950 2
原创 Android dp方式的屏幕适配工具使用(一些疑惑和注意事项)
最新最全文章(2018-08-25):https://blog.csdn.net/fesdgasdgasdg/article/details/82054971Android dp方式的屏幕适配工具使用(Android Studio插件方式)Android dp方式的屏幕适配工具使用(bat批处理方式) 屏幕适配工具,原理和用法请参考上面的文章链接。本文将阐明另外一个问题,即如果在...
2017-09-29 14:55:10 19936
原创 Android dp方式的屏幕适配工具使用(Android Studio插件方式)
最新最全文章(2018-08-25):https://blog.csdn.net/fesdgasdgasdg/article/details/82054971dp方式屏幕适配原理请看:http://blog.csdn.net/fesdgasdgasdg/article/details/52325590 h...
2017-09-26 23:13:50 35017 18
原创 Android dp方式的屏幕适配工具使用(bat批处理方式)
最新最全文章(2018-08-25):https://blog.csdn.net/fesdgasdgasdg/article/details/82054971之前写过一篇文章《Android屏幕适配dp、px两套解决办法》介绍两种方式做屏幕UI适配,主要讲的是dp方式。还有一篇更详细的ppt文档解析dp方式适配的原理(csdn下载需要积分,系统搞的鬼,没积分去下载就直接Q我吧)。不用怀...
2017-09-26 22:15:13 20811 6
原创 Ubuntu 16.04与Win10双系统双硬盘安装图解
以前玩过ubuntu系统,后来很长时间没碰忘记了。突然想起我的电脑配置还可以,于是这几天又开始折腾了。折腾了2天,果然是忘记了,装了无数次,还删了个数据盘,最要命的把我的windows系统给毁掉了一次。我的个神啊,重装系统,重新安装工作需要的软件,心里在滴血。故,特记录下此篇文章《Ubuntu 16.04与Win10双系统双硬盘安装图解》,一般日后翻阅,也供后者少走弯路。一
2017-01-07 23:49:21 219470 74
原创 Android屏幕适配dp、px两套解决办法
最新最全文章(2018-08-25):https://blog.csdn.net/fesdgasdgasdg/article/details/82054971“又是屏幕适配,这类文章网上不是很多了吗?”我也很遗憾,确实又是老问题。但本文重点对网上的各种方案做一个简短的总结,和具体使用方法。若想了解具体android设备适配的前世因果,请阅读hongyang文章:http://blog....
2016-08-26 09:55:11 52619 39
原创 Android Realm数据库完美解析
当我们的app有数据需要保存到本地缓存时,可以使用file,sharedpreferences,还有sqlite。sharedpreferences其实使用xml的方式,以键值对形式存储基本数据类型的数据。对于有复杂筛选查询的操作,file和sharedpreferences都不能满足了。sqlite可以满足有大量复杂查询要求的缓存数据操作。但是sqlite的使用略复杂,代码量很大,还好网
2016-07-13 13:29:12 32602 6
原创 android-scrollToTop回到顶部-兼容PullTorefreshScrollview
前两天闲,应项目组需求,特研究了一下“回到顶部”效果,即:页面里有scrollview,内容很多,当滑动到页面下面或者更深时,需要回到顶部,即可点击出现的按钮,省得回滑N久。我没有搜,或许网上有很多这样的例子,此文写的不好的地方,望指点。图:初一看是不是觉得很简答?没错,当时我也是这样想的页面内容很长,就弄个scrollview,回到顶部按钮需要固定在右下角,故大概的布局代码:
2016-07-02 08:49:32 19545 4
原创 Kotlin for 循环写法整理
object Foreach { private val list = listOf("apple", "banana", "kiwifruit") private val array = arrayOf("java", "c plus plus", "kotlin", "python") // list for fun forList1() { for (item in list) { println(item) .
2021-06-17 17:24:48 1103 1
原创 Android Studio 不提示错误代码,不提示类导包
(记录一个小短文)最近换了新电脑,然后安装了最新的 Android Studio。在接下来的工作中,发现 Android Studio 代码编辑界面不提示类导包弹框提示了,编写错误的代码也不变红提示。等到运行时,才提示各种未导包、代码错误。难道这是 Android Studio 4.1.3 版本的新功能?网上查了很多资料,都说要关掉省电模式就行了(Android Studio -> File -> Power Save Mode 前的✅去掉)。实测不行。网上又说是 .. 插件
2021-03-24 15:12:45 2635 5
原创 Ubuntu 升级到 20.04.2 后启动系统电脑黑屏,左上角光标闪烁
我曾经发过一篇文章《Ubuntu 16.04与Win10双系统双硬盘安装图解》后来买了新电脑,发现怎么都无法使用 EasyBCD 创建 Windows 启动菜单引导。在 PE(老毛桃) 系统中使用DiskGenius 工具转换磁盘格式为 MBR 后,发现可以使用 EasyBCD 创建 Ubuntu 启动引导了。因为强迫症,把 Ubuntu 升级到 20.04.2 后,无法启动系统了。表现的奇葩症状为:1、启动后电脑黑屏,只有左上角光标在闪烁......2、启动后电脑黑屏,左上角有奇怪..
2021-02-28 21:46:13 12443 6
原创 Android 中使用 ServiceLoader、AutoService 摔坑记录
ServiceLoader Demo:https://github.com/mengzhinan/ServiceLoader_testAutoService Demo:https://github.com/mengzhinan/AutoService_test对 ServiceLoader 和 AutoService 早有耳闻,因各种原因而未对相关技术深入了解。这两天在整理二者时踩到了无数硬坑,浏览器搜索发现全世界都是某一篇文章的集聚性传播,无法解决我的问题。耗时 2 天死磕终于...
2020-06-21 18:25:34 3765 5
原创 Android Wifi P2P 入门
Demo 下载地址:https://github.com/mengzhinan/WiFi_P2P_testPart 1 前序:以前和朋友一起研究过 Wifi P2P ,后来时间拉长就忘记了。近期迫于寻找一个独特的技术点分享,不得又重新回顾 P2P 了。上面有我学习的 Demo 连接,大佬可以下载参考,或 GoogleAndroid Doc:https://developer.android.google.cn/guide/topics/connectivity/wifip2pPar.
2020-06-05 00:30:52 7864 2
原创 Android 手机设置 Charles 代理,pem 证书安装不上?
最近在家办公,需要远程链接内网调试,but 公司的 vpn 账号只能单设备登录,只好使用手机代理了。本文使用的代理是 Charles,具体 Charles 的使用教程网上一堆我不说了,我重点说说华为手机安装不了证书问题。我按照电脑端 Charles 的提示,手机设置了代理 ip 和端口,然后手机浏览器搜索 chls.pro/ssl ,然后下载好了charles-proxy-ssl-p...
2020-03-02 10:27:33 21106 1
原创 Android Jetpack Components of Room 学习笔记
关于 Room,网上优秀的文章太多了。本文我只从自己的角度介绍 Room 使用,相信对你也够用了的。Room Google 文档:https://developer.android.google.cn/topic/libraries/architecture/room一、环境配置:// room 配置 implementation "android.arch.persiste...
2019-08-28 17:43:12 454
原创 Android Jetpack Components of ViewModel 学习笔记
Android Jetpack Components of Lifecycle 学习笔记Android Jetpack Components of LiveData 学习笔记Android Jetpack Components of ViewModel 学习笔记Demo 地址:https://github.com/mengzhinan/Lifecycle_LiveData_Vie...
2019-08-28 17:19:38 496
原创 Android Jetpack Components of LiveData 学习笔记
Android Jetpack Components of Lifecycle 学习笔记Android Jetpack Components of LiveData 学习笔记Android Jetpack Components of ViewModel 学习笔记Demo 地址:https://github.com/mengzhinan/Lifecycle_LiveData_Vie...
2019-08-28 16:12:20 723
原创 Android Jetpack Components of Lifecycle 学习笔记
Android Jetpack Components of Lifecycle 学习笔记Android Jetpack Components of LiveData 学习笔记Android Jetpack Components of ViewModel 学习笔记都说天下文章一大抄。不过我不担心,我从来不抄袭别人的见解。也有人说博客、GibHub 上 90% 的内容都是重复的。...
2019-08-11 23:47:02 319
原创 Android MismatchedInputException,网络请求成功,客户端识别为失败?
记录一个小坑。最近在工作中遇到一个小坑,消耗类我一天的时间最终才把问题解决。事件背景:1、Android 端需要请求网络接口。于是按照惯例我写好调用代码,获取返回状态值。2、运行程序,发现执行结果总是失败。3、抓包查看请求信息,发现请求成功了,服务器返回状态码为200。Response 无返回内容。4、反复检查 Android 端代码,没有发现错误。5、Debug 调式...
2019-06-05 09:24:35 2571 1
原创 Java 代码块、静态代码块和构造函数 执行顺序
今天突然想起了几年前我碰到的一个 Java 面试题,内容略简单,还是在此记录备忘。不讨论深层次原理,我也不会。Java 中代码块、静态代码块和构造函数的执行顺序是怎样的?针对此问题,要考虑父类子类继承关系,考虑多个代码块前后顺序。于是撸上代码父类:public class ParentClass { static { System.out.println(...
2019-03-08 21:45:47 570
原创 Android 颜色透明度百分比与十六进制对照表
100% — FF99% — FC98% — FA97% — F796% — F595% — F294% — F093% — ED92% — EB91% — E890% — E689% — E388% — E087% — DE86% — DB85% — D984% — D683% — D482% — D181% — CF...
2019-02-11 21:54:32 13431
原创 [非技术] 分享一次国庆期间被火车票戳了的惊险经历
分享一次国庆期间被火车票戳了的惊险经历,以及枪票过程与技巧。 分享过程之前,先向大家分享一些购票常识技巧:1、到达车站后发现忘记带身份证了,可以在车站派出所办理临时身份证乘车。但需要有其他的辅助证明资料。2、购票时可以先买短途票再上车补票,或多买几站但中途下车。比喻你买南下到武汉的车票,列车途径车站郑州、长沙,你是可以买北京->郑州的车票,然后再补票到武汉;或者你可以买北...
2018-10-16 22:53:52 16556
原创 Ubuntu 18.04 Android Studio 运行模拟器时提示 “/dev/kvm device: permission denied”
一个Ubuntu下Android的小问题,记录我的解决方法,与大家一起分享。我升级ubuntu系统了,从16.04.5升级到18.04.1,接着又开始配置各种软件环境。当配置好Android开发环境,准备创建一个模拟器并运行程序环境看是否OK时,问题出现了。创建和运行时都提示:"/dev/kvm device: permission denied" 或者 "/dev/kvm devic...
2018-10-14 09:38:20 26488 8
原创 面试算法题(7)--写一个java类,实现栈的功能
写一个java类,实现栈的功能之前面试碰到这个题,自己实现栈的功能。首先我们的了解栈的特点,和栈Stack.java各个方法的含义:1、栈是单出入口的数据结构,即出口和入口是共用的。2、栈拥有后进先出的特点。栈Stack.java源码方法分析:/** * @author duke * @dateTime 2018-07-19 22:24 * @description S...
2018-07-19 23:14:55 17035
原创 面试算法题(6)--求素数
求素数这是一道N年前我求职java时的面试题。当年的我是java菜鸟,遇到这道题更是一脸茫然啊。在这趟算法题列车上,还是载上它吧。素数:即是能被1和自己整除的数。1不是素数。比喻:求19是不是素数?那就来个2~18之间的循环,把每个数取出来让19整除,如果余数等于0,那就是素数了,否则不是。明白上面逻辑,就好做了。来个例子,求2~100之间的素数。那么,先得来个2~1...
2018-07-19 21:28:05 16833
原创 面试算法题(5)--交换两个整型变量(不借助临时变量)
交换两个整型变量(不借助临时变量)这是多年前我做Java时面试碰到的题目,其实不难。特意写下这篇博客,是因为我发现有不止一种方法可以实现,原谅我无聊的双手。图1先简单说说普通的方法吧,如上图:int i = 5;int p = 3;int temp;先进行第一步,把p的值保存到临时变量tmep中,即temp = p;此时p的空间腾出来了(可以擦除内容了),第二步,把i的值赋给p,即p = i;此时...
2018-07-15 18:28:21 16449 1
原创 面试算法题(4)--将一个整数数组中的所有奇数放到偶数前面
将一个整数数组中的所有奇数放到偶数前面如:原始数组:{5,8,3,4,1,7,9,2,6,120}最终结果:{5,3,1,7,9,2,4,6,120,8}面试时面试官说出题目后,加了一句,需要最优时间复杂度。我当时就有点懵,对时间复杂度不了解,于是第一想法就排除了双重循环,然后就想不出更好的解决办法了。仔细分析这个题目:寻找数组前面所有的偶数(能被2整除的数),放到数组后面;寻找数组后面所有的奇数...
2018-07-15 17:09:43 19806
android标签云流式布局
2016-08-21
仿微信联系人Demo(自定义View,Viewgroup)实现
2016-08-19
仿维信联系人Demo(自定义View,Viewgroup)实现
2016-08-19
Android handler message奇怪用法详解
2016-08-02
Android Realm数据库demo_无缓存
2016-08-01
Android UncaughtException_test
2016-08-01
recyclerview经典例子
2016-07-26
Android Retrofit RxJava RxAndroid完美实例
2016-07-13
Android Realm数据库demo
2016-07-13
android-scrolltotop-回到顶部
2016-07-02
Android apk反编译工具整理
2017-10-09
Android屏幕适配工具
2017-09-15
Recyclerview配合activity全选按钮,数据不错乱
2017-06-28
Android自定义模拟时钟
2016-09-13
Android类似微信视频加载进度条
2016-09-07
Android多屏幕适配
2016-08-25
Android屏幕适配工具类
2016-08-25
java json_server建议服务器代码
2016-08-24
Android RecyclerView万能分割线
2016-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人