详情

全站展示位

Sophie’s World |

生命本没有意义,你要能给他什么意义,他就有什么意义。与其终日冥思苦想人生有何意义,不如试用此生做点有意义的事。 ——苏菲某天放学回家,收到了神秘的一封信。 ——你是谁? ——世界从何而来?  从此,她的生活彻底改变,在一位神奇的哲学老师艾伯特的指引下,她开始思索,从苏格拉底到柏拉图,从黑格尔到马克思,从文艺复兴到浪漫主义,各位大师所思考 的根本问题。与此同时,苏菲不断收到一个自称是少校的人的神秘信件,,并托她转达给一个叫席德的人。可苏菲并不认识这个叫席德的人。世界像谜团一样展现在 苏菲眼前,她运用少女天生的悟性与后天的知识,企图解开这些谜团,然而,事实真相远比她所想的更离奇,更怪异……在艾伯特的指引下,他们发现自己仅仅是少 校写的一本为自己女儿席德生日而送的书中的人物,他们所做的一切,包括思考的一切都被少校用笔写了下来,他们不过是少校大脑中的一丝电磁波罢了。换句话 说,苏菲和艾伯特,以及他们那个世界中的一切,全部都是不存在的,是虚无的!可就是这样一个虚构的人物,竟然也有自己的思想,他们企图脱离书本,不再受少 校的摆控。终于,在席德将苏菲的故事看到最后一页时,他们成功的逃离了书本,来到了一个叫永恒之乡的世界。这是一个与现实世界相对位的地方,这个世界的人 都拥有永恒的生命。他们可以看到听到现实世界的一切,但现实世界的人却永远也无法感受到他们的存在。永恒之乡的人都是像苏菲和艾伯特一样,是从某个虚构的 股市中跑出来的人物。此时少校和席德正在草地上仰望星空,谈人生,谈宇宙,而苏菲正在某个角落默默地注视着他们……  这个故事看似匪夷所 思,实则发人深省,看完后我们不禁要问——人生的意义是什么?在苏菲的世界中,他们的一切都是虚无的,不存在的。他们所有的思想动作以及所发生的一切事 情,都是少校所安排好的,少校在那个世界中无所不能,仿佛就是他们的上帝一样。因为少校就是创造他们世界的人。可事实上,少校和席德不也是虚构的人物吗? 他们所做的一切不都是作者乔斯坦·贾德所安排好的吗?我们所看到的席德,就像席德看到的苏菲一样,而贾德,就是席德他们那个世界的上帝吧?再放眼我们现在 所处的这个世界,这应该是相对于我们的“现实世界”吧?那是不是存在这样一个“上帝”,我们的所作所思,都是这位上帝所安排好了的呢?那这样我们的存在岂 不是毫无意义的吗?那这位上帝之上,是否还有一位上帝呢……  其实,每个人都是一个思维的个体,而相对于我们而言,自己的命运是要靠自己把 握的。尽管我们的未来可能就像戏剧一样早已被上帝写进了剧本,可是只要我们认为自己是存在的,不就足够了吗?正如苏菲和艾伯特将要离开他们那个世界时一 样,艾伯特对大家说;“在座的没有一个人会想念我们,因为你们根本就不存在,你们无法用任何器官来想念我们。”当即立刻有人反驳道:“你凭什么说我们不存 在?我努力赚钱,养活我的家人,过上幸福的生活,我很快乐!可你到头来却说我不存在?”的确,按理说他只是虚构的,的确是不存在,可如果映射到我们这个世 界,岂不是同样没有人存在?引入一个概念前必先引入其相反的一个概念,既然一切都“不存在”,那又何来“存在”的概念呢?所以,或许我们不存在,可那只是 相对上帝而言的,我们只须抓住这如星尘般稍纵即逝的瞬间,以自己的方式,度过人生,那就足够了。或许每当天空中有星尘散落时,那一定是某个小说中的人物从 他那所谓不存在的世界中脱离出来了,他会在某个角落,默默地注视着我们…… 人生如梦。 梦即现实。。。。

推荐

琥珀之月,空谷之兰,皆是孤芳,既是孤芳,但求自赏便罢!

30字的完美简历[转载] |

这个世界上,总有很多人很自以为是地以为若是他们做不到的事情,别人做到了,必定不是什么光彩的正道,必定不是靠自己的实力。包括我。 曾经看到托福GMAT拿满分的人,就会想着:“怎么可能!这个人肯定是小时候在国外生活过吧!” 看到保养地特别好的中年女人,就会撇嘴:“肯定是花重金打玻尿酸啊这针那针啊!” 看到年纪貌美的女孩开着豪车经过,就会想着:“肯定是二奶呀!” 看到年纪轻轻上了富豪榜的青年才俊,就会揣测:“肯定是家族企业啊!” 看到年少成名靠参加选秀红遍大江南北的歌手明星,就会怀疑人家:“估计是被潜规则了。” …… 这样的例子几乎每天都发生着,我也曾一度全然不觉自己在这样的渊里越堕越深。 直到大四有一次去参加一个牛逼公司的面试,面试通知邮件里最后有一条是:请携带不超过30字的Personal Statement(简称PS,个人陈述)。 我一看,疯了吧?30字?!我挨个把自己工作实习过的公司名字和读过书的学校名字列一遍都不止30个字了啊?!我想了想,绝对不可能!应该是他们漏写了个0吧?于是便也不去多想了。 等到面试那天,我带了份自认为已经是非常简洁的PS过去,一路上都觉得真是憋屈啊,很多东西没写进去呢实在没有发挥我洋洋洒洒的特点,都没充分展示我的闪光点呢!但是没办法还是尽量符合这个公司简洁精准的办事风格来吧。 到了公司,我递交上我的PS后,三个面试官不约而同皱起了眉头,一个头发花白的外国男人问我:“你这个字数超过30字了,起码得有400字吧,为什么不按我们的要求做?” 我愣了一下,什么?真的是30字?不是逗我玩? 我有点怀疑地说:“30字?30字写一篇PS根本是不可能做到的呀!这字数也太少了吧!” 一个女面试官很凌厉的口气说:“不可能?不可能的事情我们怎么会要求你做?”她说着把一叠PS亮在我面前,“他们都可能,为什么只有你不可能?” 我刷地一下脸就红了,支吾着说不出话。这是我唯一一次期待着面试官赶紧说:“好了可以了,请你出去吧。” 但是试场里出现里几秒钟的沉默,这几秒钟对我来说,竟然跟失眠的夜晚一样难熬。 那花白头发面试官又开口了:“你觉得这个世界上不可能的事情,是因为你没有试着去做。” 我犹豫了一下说:“谢谢您。我知道我的问题出在哪里了。不知道是否方便让我看一眼其他人的PS,我想知道自己的差距有多大。” 他们几个互相望了一下,点头示意后将一沓PS递给我。 我在拿过来的一瞬间已经被最上面的一份震惊到了。 那整张纸上画了一个应该是以面试者自己为原型的卡通人物,最上面是他的名字,然后是一个巨大的脑袋,脑袋顶部是开放的,用一大片电脑芯片画成了原始森林的样子,旁边写着“computerized mind”,左手拿着画板,写着“Photoshop Skiller ”,右手举着一叠报告,写着“Reportexpert”, 中间的领带处别着个话筒,上面写着“Good Presenter”,心脏的位置画了一颗奇形怪状的心,写着“Creative heart”,脚踩锃亮的皮鞋,穿着毫无褶皱的西裤,旁边写着“Detail-cared”…… 我一边看,一边手心出汗。 这样一份不超过20个单词的PS,我在看完四年后的今天还能够一字不差地回想起来,并且画面栩栩如生,你可以想象它当时带给我的震惊,以及给面试官们带来的印象有多深刻。 接下来的一沓PS里,有画一个大转盘,写出自己的几个特质的;有在一条竖直的时间轴上写了自己做成的几件大事的;还有剪切了几幅自己参加过的作品粘上去的…… 总之没有一个是多于30个字的! 但是每一份PS我看完都如同看到了一个活生生的人站在我面前,我知道他的个性如何,特长是什么,有过什么值得称赞的荣誉。 而我那张全是字的白纸,恐怕人家连看都不想看,即使看了,也不会留下任何印象。 我很不好意思地将一摞纸还给面试官,很诚恳地鞠了一躬,“很抱歉浪费了你们的时间,在来这里之前,我总觉得有些事我做不到,就是不可能做的到的。谢谢你们让我知道我的想法有多愚蠢。谢谢。” 我关上身后那扇门的时候,长长地吁了一口气。 回去的一路,都走的很慢。 我不是在难过失掉了这么一个工作机会,而是在难过地回想在过去的十几年光阴里我究竟失掉了多少次机会?让本该存在的可能,成了我嘴里的不可能。 我明白了一个让人很恼火去承认的事实就是: 那些我觉得不可能的事情,其实根本不是不可能,只是我认为不可能而已。 对一个根本不会去思考去想办法的庸人来说,很多事情都会成为不可能! 后来我试着去做一份字数在30字以内的简历,用了四个晚上后,真的也做出来了。 后来我试着再去做另一份简报似的简历,在用了三个晚上后,同样也真的做出来了。 而在之前,我认为简历就该是白纸黑字,从教育背景到工作经验到兴趣爱好,但其实它充满了那么多的可能性! 可是真的该如此理所当然吗? 我们自己不可能做到,真的是因为我们无能,还是我们根本没有尝试去做? 托福考满分的同学,说不定我们没看到的是,人家起早摸黑悬梁刺股每天练口语练到喉咙发炎; 开着豪车的美女,说不定我们没看到的是,姑娘辛苦打拼几年每天工作累得像狗辛苦攒钱; 保养的很好的中年女人,说不定我们没看到的是,她们每天下班后还去健身房睡觉一定不趴着睡,每晚一定做面膜,十几年如一日; 优秀的青年企业家们,说不定我们没看到的是,他们无数个不眠不休的夜晚,付出比我们这些在睡梦中的人多的多的努力; 那些一朝红遍全国的明星,说不定我们没看到的是,人家之前十几年的默默无闻用心苦练基本功…… 我们什么都没看到,就说别人不可能;我们什么都没去尝试,就说这事不可能。 其实,我们觉得不可能做到的事情,别人真的可以做到。对一个根本不敢去做的人来说,一切都是不可能。 想是问题,做是答案,有时候答案就藏在问题后面!

Android Jetpack Compose 超快速上手指南 |

Compose 介绍 Jetpack Compose发布也快有一年的时间了,虽然目前仍是DEV阶段,但是距离可用已经不远了。Compose库是用响应式编程的方式对View进行构建,可以用更少更直观的代码,更强大的功能,能提高开发速度(可以参考几乎一模一样的Flutter,开发速度确实很快)。 Jetpack Compose对于没有接触过声明式UI的小伙伴可能会学习曲线有点陡峭,对于已经能熟练开发Flutter应用的小伙白来说几乎没有难度。(Compose就是参考flutter的模式开发的,代码中还可以看到Flutter的相关注释) 这篇文章不回去解释过多的原理与技巧,只要是让你能够快速上手开发项目。 Compose 如何使用 因为目前(2020年09月27日)Compose仍处于开发阶段,所以需要使用最新 Canary 版的 Android Studio 预览版。 可以选择直接创建Empty Compose Activity来创建一个全新的Compose应用,或者可以选手动修改gradle的方式来创建Compose应用 修改Gradle 在模块的build.gradle文件中新增: android { ... kotlinOptions { jvmTarget = '1.8' useIR = true } buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion compose_version kotlinCompilerVersion '1.4.0' } } dependencies中新增: implementation "androidx.compose.ui:ui:$compose_version" implementation "androidx.compose.material:material:$compose_version" implementation "androidx.ui:ui-tooling:$compose_version" 目前最新的Compose版本是1.0.0-alpha03 使用Compose最低的buildTools版本要求为29 使用 @Compose 所有关于构建View的方法都必须添加@Compose的注解才可以。并且@Compose跟协程的Suspend的使用方法比较类似,被@Compose的注解的方法只能在同样被@Comopse注解的方法中才能被调用

解决 golang IDEA中不能debug问题 |

IDEA是2018-01版本,Golang是go-1.12.1,IDEA在Plugins中安裝的Go插件,我在运行go程序時是正常的,但是提示could not launch process: decoding dwarf section info at offset 0x0: too short 解決方案: 1:在终端运行 go get -u github.com/derekparker/delve/cmd/dlv。 2:运行上面的命令之后运行环境中就有dlv了。替换IDEA go 插件中的dlv macOS中的插件地址是:/Users/用户名 /Library/Application Support/IntelliJIdea2018.1/intellij-go/lib/dlv/mac 替换之后就正常了。

心灵鸡汤

几回梦里又高考

文/汤云明

我的高考已经过去25年了,我也从青春年少变成了头发斑白,在中年里奔走的人了。

尽管时间如此的快,它可以掩埋和遗忘很多的东西。但高考,这个人生的十字路口却时常会在睡梦中把我惊醒,让我无法释怀。

1992年的那次高考我没有考好,最喜欢、最有实力的科目也没有发挥出正常的水平,所以,悲伤的离普通专科录取分数线少了无法抵达的5分。后来,尽管一些面向本地的师范专科生、定向委培生下降了10多分录取,但我当初什么志愿也没有报过,当然也就不可能被录取。这样,我几乎与大学失之交臂了。

其实,那时的高考还真是不容易,即使在县上最好的高中,一个班也就10多人能考上大学,其中还大部分是复读生,也就是说,本来三年制的高中几乎被变了四年制。要想考上大学,就要读第四年,应届毕业生中只有尖子生才能有机会拼得出来。

认命吧,就在我交了补习费进入下一年的班上复读时,转机又出现了。父亲给我找了个自费生大专学校。我害怕高中生活的没日没夜,更害怕再次落榜的无奈,所以就答应了父亲的好意安排。那时候刚刚开始尝试实行大学招生自费与公费双轨制,一般公费生叫全国统一招生,毕业后包分配工作,自费生就叫国家计划内自费生,按政策是“可工可干”。看各人的情况,毕业后可以和公费生一起由地方政府安排工作,也可以由父母所在单位内招,还可以是自谋职业。找个什么样的工作,就这要看各人的门路、造化和机遇了。

我所上的学校虽然不好,也没有名气,但我不敢辜负父母的期望,还是认真学习,几乎成了班上最刻苦的学生,也成了学校图书馆的“编外管理员”,管理员把图书阅览室的钥匙给我,让我可以随时出入,还顺便帮忙照看阅览室。所有学科成绩也还算优异。也就在这段较为苦闷的时间,我研读了很多关于文学和写作的书籍,开始了文学创作,上学期间,除了发表几十篇作品外,还有一点小稿费补贴生活。

两年以后,大专毕业,我的同学们,一些家在较为落后、边远地区的,由于本地每一年的大学毕业生少,自费生就可以和公费生一起由政府统一安排工作,当然,大多数是内招进入了父母的单位。我呢,父亲去找过所在单位和上级主管部门的领导,他们都不打算要,并以种种理由推辞。看着那些冰冷面孔,我也不想再为难年迈的父亲了,就和一家国有化工企业签订了入职协议。

九年后,我所在的国企改制成民营,又六年后,由于经济效益每况愈下,我咬牙辞职,并且招考成为了政府部门的合同制招聘人员。在企业的这十五年里,我当过车间设备维修工、生产操作工、党委宣传部宣传干事、厂报编辑,最后这几年又当生产管理人员。这些年,工作辛苦,生产生活环境又差,待遇低下,我的大好的青年时光就这样留在了这里。好在我一直坚持文学和新闻创作,让我在苦闷和无聊的生活中有了理想和精神寄托。这也成为我后来能顺利进入政府部门当办公室文员的优势和敲门砖。

也许,人的性格和命运难以改变,但我们可以通过自己的努力和奋斗去做一些争取,去创造改变命运的安排下的时间、机遇和空间。有几句话说得好:机遇只会留给有准备的人;就算有人想拉你一把,还得先要找到你的手在哪儿。

二十五年前的高考由于自己努力不够,发挥也不好,没能上个好大学,找个好工作,成为了我一辈子的痛。这些年来,我甚至于有些耿耿于怀。所以,时常会在梦里又进入了那个紧张的高中生活、考试中。好多次,我会在做题、考试或成绩中惊醒,等回过头来,那已经是过往烟云,今生今世不可能再重来、再企及。

擦干眼角的泪水,现实就在眼前。只有珍惜现在所拥有的一切,感恩在当下,好好的工作和生活每一天,关爱自己的亲人和家庭,修身养德,锻炼身体,做一个好人。这样,才对得起我流逝的青春时光和来过的高考岁月。

列表展示

主站展示位

Android中GPS定位(获取经纬度) |

AndroidGPS定位问题,众所周知是一个蛮麻烦的问题.当初我是新手,现在我也是新手,也搞了我头大,网上搜索了很多的例子,一直处于僵持阶段,而现在终于搞定了,因为我现在只需要获取到经纬度就可以了,反正获取经纬度可以从我这篇文章中看看;上代码。 在AndroidManifest.xml中加入权限: <uses-permission android:name=”android.permission.ACCESSFINELOCATION”/> <uses-permission android:name=”android.permission.ACCESSCOARSELOCATION”/>

【MongoDB for Java】Java操作MongoDB |

一、准备工作 1、 首先,下载mongoDB对Java支持的驱动包 驱动包下载地址: mongoDB对Java的相关支持、技术: 驱动源码下载: 在线查看源码:

unable to connect to 5555: connection refused |

I had the same issue since the android 6 upgrading. I noticed that for some reason the device is playing “hard to get” when you try to contact it over WIFI. Try these following steps: Make sure that Aggressive Wi-Fi to Cellular handover under Networking section in the device’s developer options is turned off. ping continuously from your pc to the device to make sure it’s not in network idle mode ping -t 192.

Vue watch中调用this时出现undefined问题 |

记录一下在 Vue 学习使用时候的遇到的问题 在watch侦听器中,想要调用methods中的方法 applicationId: (val)=> { if (val) { this.getAppConfig(val) } } 结果提示: Error in callback for watcher "applicationId": "TypeError: Cannot read property 'getAppConfig' of undefined" 查了官方的资料才知道。改成这样就可以了:

利用Android源码,轻松实现汉字转拼音功能 |

今天和大家分享一个从Android系统源代码提取出来的汉字转成拼音实现方案,只要一个类,560多行代码就可以让你轻松实现汉字转成拼音的功能,且无需其他任何第三方依赖。

Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存? |

!!! 原文出处:  0、写在前面本文涉及到屏幕密度的讨论,这里先要搞清楚 DisplayMetrics 的两个变量,摘录官方文档的解释: density:The logical density of the display. This is a scaling factor for the Density Independent Pixel unit, where one DIP is one pixel on an approximately 160 dpi screen (for example a 240x320, 1.5”x2” screen), providing the baseline of the system’s display. Thus on a 160dpi screen this density value will be 1; on a 120 dpi screen it would be .75; etc. This value does not exactly follow the real screen size (as given by xdpi and ydpi, but rather is used to scale the size of the overall UI in steps based on gross changes in the display dpi.

Android 自定义相机自动对焦、二次对焦处理 |

由于android碎片化严重,而且各大厂商极有可能去修改相关API的实现,其中遇到了不少坑,包括实时相机高斯模糊,自动对焦的兼容问题,以及一系列性能问题。换过很多搜索引擎,访问过很多网站,访问过很多网站,拜读过很多代码,没有发现对于相机实时自动对焦特别完美的实现方式。现对相机的自动对焦问题单独做一个记录,算是对这部分的一个总结。也希望后人在这部分能够快速地解决问题,不必浪费过多的时间。测试手机包括:MX4 pro,小米4,华为荣耀3C等等。

Connection with adb was interrupted.解决办法 |

[2012-10-16 10:49:35 – My First App] [2012-10-16 10:49:35 – My First App] Android Launch! [2012-10-16 10:49:35 – My First App] Connection with adb was interrupted. [2012-10-16 10:49:35 – My First App] 0 attempts have been made to reconnect. [2012-10-16 10:49:35 – My First App] You may want to manually restart adb from the Devices view.

Sophie’s World |

生命本没有意义,你要能给他什么意义,他就有什么意义。与其终日冥思苦想人生有何意义,不如试用此生做点有意义的事。 ——苏菲某天放学回家,收到了神秘的一封信。 ——你是谁? ——世界从何而来?  从此,她的生活彻底改变,在一位神奇的哲学老师艾伯特的指引下,她开始思索,从苏格拉底到柏拉图,从黑格尔到马克思,从文艺复兴到浪漫主义,各位大师所思考 的根本问题。与此同时,苏菲不断收到一个自称是少校的人的神秘信件,,并托她转达给一个叫席德的人。可苏菲并不认识这个叫席德的人。世界像谜团一样展现在 苏菲眼前,她运用少女天生的悟性与后天的知识,企图解开这些谜团,然而,事实真相远比她所想的更离奇,更怪异……在艾伯特的指引下,他们发现自己仅仅是少 校写的一本为自己女儿席德生日而送的书中的人物,他们所做的一切,包括思考的一切都被少校用笔写了下来,他们不过是少校大脑中的一丝电磁波罢了。换句话 说,苏菲和艾伯特,以及他们那个世界中的一切,全部都是不存在的,是虚无的!可就是这样一个虚构的人物,竟然也有自己的思想,他们企图脱离书本,不再受少 校的摆控。终于,在席德将苏菲的故事看到最后一页时,他们成功的逃离了书本,来到了一个叫永恒之乡的世界。这是一个与现实世界相对位的地方,这个世界的人 都拥有永恒的生命。他们可以看到听到现实世界的一切,但现实世界的人却永远也无法感受到他们的存在。永恒之乡的人都是像苏菲和艾伯特一样,是从某个虚构的 股市中跑出来的人物。此时少校和席德正在草地上仰望星空,谈人生,谈宇宙,而苏菲正在某个角落默默地注视着他们……  这个故事看似匪夷所 思,实则发人深省,看完后我们不禁要问——人生的意义是什么?在苏菲的世界中,他们的一切都是虚无的,不存在的。他们所有的思想动作以及所发生的一切事 情,都是少校所安排好的,少校在那个世界中无所不能,仿佛就是他们的上帝一样。因为少校就是创造他们世界的人。可事实上,少校和席德不也是虚构的人物吗? 他们所做的一切不都是作者乔斯坦·贾德所安排好的吗?我们所看到的席德,就像席德看到的苏菲一样,而贾德,就是席德他们那个世界的上帝吧?再放眼我们现在 所处的这个世界,这应该是相对于我们的“现实世界”吧?那是不是存在这样一个“上帝”,我们的所作所思,都是这位上帝所安排好了的呢?那这样我们的存在岂 不是毫无意义的吗?那这位上帝之上,是否还有一位上帝呢……  其实,每个人都是一个思维的个体,而相对于我们而言,自己的命运是要靠自己把 握的。尽管我们的未来可能就像戏剧一样早已被上帝写进了剧本,可是只要我们认为自己是存在的,不就足够了吗?正如苏菲和艾伯特将要离开他们那个世界时一 样,艾伯特对大家说;“在座的没有一个人会想念我们,因为你们根本就不存在,你们无法用任何器官来想念我们。”当即立刻有人反驳道:“你凭什么说我们不存 在?我努力赚钱,养活我的家人,过上幸福的生活,我很快乐!可你到头来却说我不存在?”的确,按理说他只是虚构的,的确是不存在,可如果映射到我们这个世 界,岂不是同样没有人存在?引入一个概念前必先引入其相反的一个概念,既然一切都“不存在”,那又何来“存在”的概念呢?所以,或许我们不存在,可那只是 相对上帝而言的,我们只须抓住这如星尘般稍纵即逝的瞬间,以自己的方式,度过人生,那就足够了。或许每当天空中有星尘散落时,那一定是某个小说中的人物从 他那所谓不存在的世界中脱离出来了,他会在某个角落,默默地注视着我们…… 人生如梦。 梦即现实。

Android Manifest之receiver元素中文注释 |

语法(SYNTAX): <receiver android:enabled=["true" | "false"] android:exported=["true" | "false"] android:icon="drawable resource" android:label="string resource" android:name="string" android:permission="string" android:process="string" > . . . </receiver>

Flutter |

琥珀之月,空谷之兰,皆是孤芳,既是孤芳,但求自赏便罢!

Android将汉字转换成拼音 |

采用了单利的模式,可以查看里面的注释 /** * Java汉字转换为拼音 * */ public class CharacterParser { private static int[] pyvalue = new int[] {-20319, -20317, -20304, -20295, -20292, -20283, -20265, -20257, -20242, -20230, -20051, -20036, -20032, -20026, -20002, -19990, -19986, -19982, -19976, -19805, -19784, -19775, -19774, -19763, -19756, -19751, -19746, -19741, -19739, -19728, -19725, -19715, -19540, -19531, -19525, -19515, -19500, -19484, -19479, -19467, -19289, -19288, -19281, -19275, -19270, -19263, -19261, -19249, -19243, -19242, -19238, -19235, -19227, -19224, -19218, -19212, -19038, -19023, -19018, -19006, -19003, -18996, -18977, -18961, -18952, -18783, -18774, -18773, -18763, -18756, -18741, -18735, -18731, -18722, -18710, -18697, -18696, -18526, -18518, -18501, -18490, -18478, -18463, -18448, -18447, -18446, -18239, -18237, -18231, -18220, -18211, -18201, -18184, -18183, -18181, -18012, -17997, -17988, -17970, -17964, -17961, -17950, -17947, -17931, -17928, -17922, -17759, -17752, -17733, -17730, -17721, -17703, -17701, -17697, -17692, -17683, -17676, -17496, -17487, -17482, -17468, -17454, -17433, -17427, -17417, -17202, -17185, -16983, -16970, -16942, -16915, -16733, -16708, -16706, -16689, -16664, -16657, -16647, -16474, -16470, -16465, -16459, -16452, -16448, -16433, -16429, -16427, -16423, -16419, -16412, -16407, -16403, -16401, -16393, -16220, -16216, -16212, -16205, -16202, -16187, -16180, -16171, -16169, -16158, -16155, -15959, -15958, -15944, -15933, -15920, -15915, -15903, -15889, -15878, -15707, -15701, -15681, -15667, -15661, -15659, -15652, -15640, -15631, -15625, -15454, -15448, -15436, -15435, -15419, -15416, -15408, -15394, -15385, -15377, -15375, -15369, -15363, -15362, -15183, -15180, -15165, -15158, -15153, -15150, -15149, -15144, -15143, -15141, -15140, -15139, -15128, -15121, -15119, -15117, -15110, -15109, -14941, -14937, -14933, -14930, -14929, -14928, -14926, -14922, -14921, -14914, -14908, -14902, -14894, -14889, -14882, -14873, -14871, -14857, -14678, -14674, -14670, -14668, -14663, -14654, -14645, -14630, -14594, -14429, -14407, -14399, -14384, -14379, -14368, -14355, -14353, -14345, -14170, -14159, -14151, -14149, -14145, -14140, -14137, -14135, -14125, -14123, -14122, -14112, -14109, -14099, -14097, -14094, -14092, -14090, -14087, -14083, -13917, -13914, -13910, -13907, -13906, -13905, -13896, -13894, -13878, -13870, -13859, -13847, -13831, -13658, -13611, -13601, -13406, -13404, -13400, -13398, -13395, -13391, -13387, -13383, -13367, -13359, -13356, -13343, -13340, -13329, -13326, -13318, -13147, -13138, -13120, -13107, -13096, -13095, -13091, -13076, -13068, -13063, -13060, -12888, -12875, -12871, -12860, -12858, -12852, -12849, -12838, -12831, -12829, -12812, -12802, -12607, -12597, -12594, -12585, -12556, -12359, -12346, -12320, -12300, -12120, -12099, -12089, -12074, -12067, -12058, -12039, -11867, -11861, -11847, -11831, -11798, -11781, -11604, -11589, -11536, -11358, -11340, -11339, -11324, -11303, -11097, -11077, -11067, -11055, -11052, -11045, -11041, -11038, -11024, -11020, -11019, -11018, -11014, -10838, -10832, -10815, -10800, -10790, -10780, -10764, -10587, -10544, -10533, -10519, -10331, -10329, -10328, -10322, -10315, -10309, -10307, -10296, -10281, -10274, -10270, -10262, -10260, -10256, -10254}; public static String[] pystr = new String[] {"a", "ai", "an", "ang", "ao", "ba", "bai", "ban", "bang", "bao", "bei", "ben", "beng", "bi", "bian", "biao", "bie", "bin", "bing", "bo", "bu", "ca", "cai", "can", "cang", "cao", "ce", "ceng", "cha", "chai", "chan", "chang", "chao", "che", "chen", "cheng", "chi", "chong", "chou", "chu", "chuai", "chuan", "chuang", "chui", "chun", "chuo", "ci", "cong", "cou", "cu", "cuan", "cui", "cun", "cuo", "da", "dai", "dan", "dang", "dao", "de", "deng", "di", "dian", "diao", "die", "ding", "diu", "dong", "dou", "du", "duan", "dui", "dun", "duo", "e", "en", "er", "fa", "fan", "fang", "fei", "fen", "feng", "fo", "fou", "fu", "ga", "gai", "gan", "gang", "gao", "ge", "gei", "gen", "geng", "gong", "gou", "gu", "gua", "guai", "guan", "guang", "gui", "gun", "guo", "ha", "hai", "han", "hang", "hao", "he", "hei", "hen", "heng", "hong", "hou", "hu", "hua", "huai", "huan", "huang", "hui", "hun", "huo", "ji", "jia", "jian", "jiang", "jiao", "jie", "jin", "jing", "jiong", "jiu", "ju", "juan", "jue", "jun", "ka", "kai", "kan", "kang", "kao", "ke", "ken", "keng", "kong", "kou", "ku", "kua", "kuai", "kuan", "kuang", "kui", "kun", "kuo", "la", "lai", "lan", "lang", "lao", "le", "lei", "leng", "li", "lia", "lian", "liang", "liao", "lie", "lin", "ling", "liu", "long", "lou", "lu", "lv", "luan", "lue", "lun", "luo", "ma", "mai", "man", "mang", "mao", "me", "mei", "men", "meng", "mi", "mian", "miao", "mie", "min", "ming", "miu", "mo", "mou", "mu", "na", "nai", "nan", "nang", "nao", "ne", "nei", "nen", "neng", "ni", "nian", "niang", "niao", "nie", "nin", "ning", "niu", "nong", "nu", "nv", "nuan", "nue", "nuo", "o", "ou", "pa", "pai", "pan", "pang", "pao", "pei", "pen", "peng", "pi", "pian", "piao", "pie", "pin", "ping", "po", "pu", "qi", "qia", "qian", "qiang", "qiao", "qie", "qin", "qing", "qiong", "qiu", "qu", "quan", "que", "qun", "ran", "rang", "rao", "re", "ren", "reng", "ri", "rong", "rou", "ru", "ruan", "rui", "run", "ruo", "sa", "sai", "san", "sang", "sao", "se", "sen", "seng", "sha", "shai", "shan", "shang", "shao", "she", "shen", "sheng", "shi", "shou", "shu", "shua", "shuai", "shuan", "shuang", "shui", "shun", "shuo", "si", "song", "sou", "su", "suan", "sui", "sun", "suo", "ta", "tai", "tan", "tang", "tao", "te", "teng", "ti", "tian", "tiao", "tie", "ting", "tong", "tou", "tu", "tuan", "tui", "tun", "tuo", "wa", "wai", "wan", "wang", "wei", "wen", "weng", "wo", "wu", "xi", "xia", "xian", "xiang", "xiao", "xie", "xin", "xing", "xiong", "xiu", "xu", "xuan", "xue", "xun", "ya", "yan", "yang", "yao", "ye", "yi", "yin", "ying", "yo", "yong", "you", "yu", "yuan", "yue", "yun", "za", "zai", "zan", "zang", "zao", "ze", "zei", "zen", "zeng", "zha", "zhai", "zhan", "zhang", "zhao", "zhe", "zhen", "zheng", "zhi", "zhong", "zhou", "zhu", "zhua", "zhuai", "zhuan", "zhuang", "zhui", "zhun", "zhuo", "zi", "zong", "zou", "zu", "zuan", "zui", "zun", "zuo"}; private StringBuilder buffer; private String resource; private static CharacterParser characterParser = new CharacterParser(); public static CharacterParser getInstance() { return characterParser; } public String getResource() { return resource; } public void setResource(String resource) { this.

我问佛 |

我问佛:为何不给所有女子羞花闭月的容颜? 佛曰:那只是昙花的一现,用来蒙蔽世俗的眼,没有什么美可以抵过一颗纯净仁爱的心,我把它赐给每一个女子,可有人让它蒙上了灰。 我问佛:世间为何有那么多遗憾? 佛曰:这是一个婆娑世界,婆娑即遗憾,没有遗憾,给你再多幸福也不会体会快乐。 我问佛:如何让人们的心不再感到孤单? 佛曰:每一颗心生来就是孤单而残缺的,多数带着这种残缺度过一生,只因与能使它圆满的另一半相遇时,不是疏忽错过,就是已失去了拥有它的资格。

Android调用手机中的应用市场 |

public static void goToMarket(Context context, String packageName) { Uri uri = Uri.parse("market://details?id=" + packageName); Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); try { context.startActivity(goToMarket); } catch (ActivityNotFoundException e) { e.printStackTrace(); } }

Android-使用@AutoService实现spi |

什么是 SPI? Java SPI 全称 Service Provider Interface,是 Java 提供的一套用来被第三方实现或者扩展的 API,它可以用来启用框架扩展和替换组件。实际上是“基于接口的编程 + 策略模式 + 配置文件”组合实现的动态加载机制. 具体解释就是: 定义一个接口文件 写出多个该接口文件的实现 在 src/main/resources/ 下建立 /META-INF/services 目录, 新增一个以接口命名的文件 , 内容是要接口的实现类全路径 使用 ServiceLoader 类 来获取到这些实现的接口 示例 定义一个接口文件 - Book package com.apkdv.spi_test; public interface Book { String name(); } 实现两个接口 package com.apkdv.spi_test; public class Android implements Book { @Override public String name() { return "Android"; } } package com.

岁月如歌 |

琥珀之月,空谷之兰,皆是孤芳,既是孤芳,但求自赏便罢!

Flutter和原生Android控件对比 |

Flutter和原生Android控件对比: Flutter控件 Android控件 AppBar ActionBar/ToolBar ListView ListView/RecyclerView Text TextView Center ViewGroup FloatingActionButton FloatingActionButton(design库里面的) BottomNavigationBar BottomNavigation(design库里面的) RaisedButton/Button Button Column LinearLayout的android:orientation=“vertical” Row android:orientation=“horizontal” DecorationImage ImageView Image ImageView Stack FrameLayout/RelativeLayout Container RelativeLayout CustomMultiChildLayout RelativeLayout Algin alginParentXXX属性 resizeToAvoidBottomPadding android:windowSoftInputMode=”adjustResize属性 SingleChildScrollView ScrollView CustomScrollerView Recyclerview Image里面的BoxFit参数介绍:(相当于Android的ImageView的scaleType参数)

Flutter 基础 | Dart 语法 mixin |

假设有这样一种场景:小明和小方都是程序员。其中小方会跳舞,当然它们都会编程。 用面向对象的方法可以建模如下: 因为小明和小方都会写编程,为了复用这个行为,提取了超类 Programmer,它包含所有程序员共用的行为 code()。这样一来,Ming 和 Fang 就能复用编程行为,而不是各自重新实现一遍相同的逻辑。(继承复用了行为) 小慧是一个舞者,再用面向对象的方法建模如下: 这样的继承关系违反了 DRY 原则,即 Don’t repeat yourself. 因为小慧并未复用小方的跳舞行为,所以同样的跳舞逻辑出现了两次。 那把跳舞行为上提到它们公共的基类 Human 中,是不是就解决问题了?的确,但这不是强迫所有程序员都必须会跳舞吗。。。 那让小方同时继承 Programmer 和 Dancer 能解决问题吗?能!但多重继承容易出事情,比如 “Diamond Problem”: 假设 Human 类中有 eat() 方法,且 Programmer 和 Dancer 都重写了它,此时 Fang 会发生编译报错。因为它不知道自己的 eat() 方法该采用哪一个父类的实现。上面的类图就好像一个钻石的形状,所以称为Diamond problem。 Dart 禁用了多重继承,而是引入了mixin来解决这个问题。 mixin 是一个特殊的类,它的属性和行为可以被其他类复用,而且不需要通过继承。 语法 如果希望一组属性和行为能够复用于多个类,碰巧这些类不在一条继承链路上,此时就应该使用mixin: mixin DanceMixin { void dance() {} } 这是声明 mixin 的方式,几乎和声明 class 一模一样,就是把 class 换成 mixin 而已。 还可以通过 on 限定 mixin 适用范围:

博客寄语:

    从14年开始写博客,到现在再有2年就10年了。

实时播报:

博客号-学习成长

相信每一分耕耘都有每一分收获,致力帮助博客主所创作的博客能更快的被收录! 如果有其它需求,可联系下方邮箱。