倚竹幽篁

心静,成器。[github/ysy950803]
私信 关注
针叶
码龄9年

心静,成器。

  • 787,101
    被访问量
  • 106
    原创文章
  • 10,540
    作者排名
  • 124
    粉丝数量
  • 于 2012-08-11 加入CSDN
获得成就
  • 获得293次点赞
  • 内容获得294次评论
  • 获得541次收藏
荣誉勋章
兴趣领域
  • #Android
    #RxJava#Flutter#Java#gradle#Kotlin#性能优化#Android Jetpack
TA的专栏
  • Android
    64篇
  • Database
    5篇
  • Program
    6篇
  • Tools
    8篇
  • Linux
    16篇
  • Web
    9篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

macOS备份迁移系统偏好设置

场景不知道诸位在使用macOS时是否遇到过这样的场景:有两台电脑,想把旧电脑中的系统偏好设置原封不动地迁移(导入)到新电脑中,只关心这些设置,不想迁移其他东西。解决方案1:官方迁移助理其实官方提供了一个方案,叫“迁移助理”。具体操作步骤可见文档:将内容迁移到一台新的 Mac 上,不仅可以迁移系统设置,还包括整个用户帐户下的文件、应用程序等。如图,我们可以在此步骤中只选择“系统与网络”,就能实现系统设置的迁移。方案2:macprefs第一个方案其实是比较安全保险的做法,但是需要注意的是:在
原创
79阅读
0评论
0点赞
发布博客于 2 月前

QQ闪照保存小妙招

QQ闪照在IM工具中,QQ较之于微信一直是比较前卫的,毕竟年轻用户居多。比如QQ闪照就是一个有趣的功能,而且已经推出很久了(记得大概是V6.5左右):不管单聊还是群聊都可用,在发送图片时勾选闪照即可,发送成功后所有人都只能看5秒,时间结束后图片被“销毁”,UI层面被打上厚厚的马赛克。这个功能一经推出,不少老司机可谓是既爱又恨,我们暂且不说其功能意义和影响。但是相信大家都思考过,怎么把闪照保存下来?接下来我们就以Android端QQ为例探索一下闪照的持久化存储方式。截图想多了哈哈,Android端
原创
2002阅读
1评论
0点赞
发布博客于 2 月前

微信Android端如何安全降级

前言最近微信8.0开始灰度更新,小龙给大家整的新功能我就不赘述了。有不少小伙伴等不及灰度,也开始自行下载安装。微信Android端内测下载链接(复制后通过微信打开即可):https://szsupport.weixin.qq.com/cgi-bin/mmsupport-bin/readtemplate?t=page/android_exp__index然而,“后悔药”无论何时都是有市场的。不喜欢or不习惯新版本?想回退旧版本?这让我想到MIUI刷机党回退旧版ROM的麻烦,当然,微信要回退旧版并非难
原创
306阅读
0评论
0点赞
发布博客于 3 月前

InputMethodManager内存泄漏已成为历史

历史问题相信做过很多业务开发的同学都遇到过Android应用的内存泄漏问题,虽然大部分泄漏都是我们自己菜导致的,但实际上系统服务也有可能出现内存泄漏。毕竟,代码都是人写的,AOSP也不是完美无瑕的。说到系统服务,在处理文本输入的时候,我们以前经常会看到这样的泄漏:这里大家也可自行搜索了解,大致上就是因为InputMethodManager(下简称IMM)实例内部会持有View,而View又持有Activity的引用,最终在Activity退出后没有正确处理View导致了Memory Leak。我们明
原创
220阅读
0评论
1点赞
发布博客于 4 月前

源码茶舍之没有epoll就没有Handler

Handler,英文释义:处理者,处理程序。他就是Android系统中的打工人,背负着传递消息的重任。很多人在第一次尝试去阅读framework源码时,可能也是从Handler消息机制开始的,我们会发现源码的很多地方都用到了Handler。然而,他好像并没有我们想象的那么简单,如果我们要深入探索的话,可以一直追溯到Linux内核。预备本文分析源码均基于API 29,来源于官方AOSP:cs.android.com问号Handler的API使用还是比较简单的,我们比较常用的就是通过类似如下方式来发.
原创
125阅读
1评论
0点赞
发布博客于 4 月前

Mace-micro引擎编译与测试

官方简介Mobile AI Compute Engine (MACE) 是一个专为移动端异构计算平台(支持Android, iOS, Linux, Windows)优化的神经网络计算框架。主要从以下的角度做了专门的优化:性能代码经过NEON指令,OpenCL以及Hexagon HVX专门优化,并且采用Winograd算法来进行卷积操作的加速。此外,还对启动速度进行了专门的优化。功耗支持芯片的功耗管理,例如ARM的big.LITTLE调度,以及高通Adreno GPU功耗选项。.
原创
194阅读
0评论
0点赞
发布博客于 5 月前

给MIUI开发一个5G快捷开关

早年4G设备刚刚普及的时候,我记得通知栏还有专门的快捷开关来控制4G/3G网络的切换,和WiFi开关、GPS开关类似。现在5G来了,我发现MIUI没有这种开关了,要打开系统设置到很深的入口里去开关5G,这就很不爽了。毕竟5G还是很耗电的,也不是所有地方都有基站,平时完全需要一个快捷开关来自己控制。思路从Android N开始,系统支持开发者自己实现QuickSettings,说白了就是在通知栏/控制中心里添加一个快捷开关,用户可以拖出来使用。代码也很简单,只需要实现 android.service..
原创
2736阅读
2评论
2点赞
发布博客于 8 月前

借助acme.sh免费开启网站的HTTPS(Apache2环境)

本文仅记录无套路搞定网站HTTPS的方法。网上搜索的资料实在太杂乱了,就连acme.sh官方文档也不够详尽。主要就三步:生成证书、安装证书、配置SSL。下文以Ubuntu 16.04(版本不重要) + Apache2为例。默认已经安装crontab、openssl等基本工具。网站目录也是默认的 /var/www/html/ 。生成证书1、先做准备工作:# 进入服务器的用户(一般是root)目录然后创建文件夹cd ~mkdir -p ~/.acme.sh/cd ~/.acme.sh/# 配.
原创
226阅读
0评论
0点赞
发布博客于 9 月前

等差数列异或和的小规律

背景异或(xor,运算符号^):按位计算,同0异1,1 ^ 0 = 1 ,1 ^ 1 = 0 ,如此。现定义等差数列 1, 2, ... , n 的 异或和 为 f(n) = 1 ^ 2 ^ ... ^ n ,求f(n)的值。实现我们很容易想到质朴的实现如下:int func(int n) { int xor_sum = 0; for (int i = 1; i <= n; ++i) { xor_sum ^= i; } return xor_s
原创
204阅读
0评论
0点赞
发布博客于 9 月前

Magisk与EdXposed框架安装实践(Android P及以上)

记得初中的时候还在用Android 2.3,高中开始刷机,每个月都去追论坛大佬的自定义精简ROM,不亦乐乎,这一晃都过了快十年了。从以前旧版Android(支持到8.x)的Xposed到现在的EdXposed、Magisk等玩机框架,大佬些的脚步从未停歇。模块开发生态也好了很多(得益于Github及各种文档)。不过由于现在ROM厂商越来越深度的定制和限制(当然也是考虑到普通用户的安全),ROOT起来也麻烦了不少。其实我自从以前用Android 4.x时搞过机,后来也很久没接触这些了。最近把手边的测试机器(
原创
13716阅读
0评论
4点赞
发布博客于 9 月前

Kotlin变长参数的一些小坑

Java中的变长参数先来看看Java中的变长参数,很简单,为了后面的对比,我们做进行一个连续的传参:import java.util.Arrays;public class TestVarargs { public static void main(String[] args) { test1("1", "2"); } private static void test1(String... args) { test2(args);
原创
293阅读
1评论
1点赞
发布博客于 10 月前

浅谈JVM语言之函数式编程

Java中的函数式编程闲聊函数式编程在上世纪五十年代就有了,只不过在工业界一直不温不火,最近十年才被广泛认知。其理论基础也并非为编程而设计,而是一种数学抽象(Lamda演算),其实初中就学过了,λ表达式。在JS(建议把JS作为函数式编程思想学习的入门语言,Java的实现略显臃肿,可能不太便于理解)当中,函数式编程算是应用比较多的了。各现代高级编程语言,都或多或少地支持了函数式编程。一些基本特点总结相比平常的指令式编程,函数式编程更在乎执行结果而非过程;函数是一等公民,可以像普通的数值、引用等变
原创
151阅读
0评论
2点赞
发布博客于 10 月前

覆盖安装Play Store版本的国产App

前言对于Android平台,如果在国内应用商店安装诸如微信、支付宝等国产大型App,相比去Google Play Store安装,会多要不少权限,即便权限无差异,在隐私政策等规则方面,Play Store也会更严格一些,能上架的应用肯定不敢乱搞。之前也有不少用户反映在Play Store安装的微信要流畅不少,某些功能细节也会有差异。不过由于严格的审核机制,Play Store上的国产App更新频率普遍落后于国内应用商店,如果我们已经安装了国内的最新版本,正常情况下就没办法覆盖安装低版本了。Play St
原创
732阅读
0评论
0点赞
发布博客于 10 月前

用Gradle脚本管理Manifest文件

编译时区分不同的manifest很多Android项目都会区分debug和release的manifest文件,以便调试,一些组件化的项目甚至有多个manifest文件来调试不同的组件。举个简单的例子,在app的build.gradle文件中:android { defaultConfig { applicationId "com.xxx.xxx" } sourceSets { main { if(是否为debug打包) {
原创
704阅读
0评论
0点赞
发布博客于 10 月前

Win10用WSL下载AOSP

WSL还是挺方便的,配合国内镜像源,可以轻松下载Android源码。启用WSL关于Win10启用WSL的方法微软官方的文档非常清晰了:适用于 Linux 的 Windows 子系统安装指南 (Windows 10)。由于我这里只用到WSL 1而非WSL 2,所以Win10版本号更新到1909即可,等2004正式推送再折腾WSL 2吧。安装Ubuntu 20.04直接在微软应用商店搜索Ubuntu即可下载安装。更好地体验WSL,建议安装Windows Terminal这一步非必须,不过Windo
原创
539阅读
0评论
0点赞
发布博客于 11 月前

自定义EditText的无障碍描述(不读hint)

问题我们一般给一个控件设置描述时,会这样:xxxView.setContentDescription(``"xxx"``);但是,当你给EditText设置这个时,会发现毫无卵用。为什么呢?搜了下EditText和其直接父类TextView,没有重写setContentDescription方法,那应该不是setXXX时发生改变,而是getXXX的问题。果然,在TextView中发现:/** * Returns the text that should be exposed to acces
原创
350阅读
0评论
0点赞
发布博客于 11 月前

快速修改字节码并重打jar包

背景不管是做Android项目还是Java后端Web项目,我们一般都会引用各种三方库。遇到特殊需求时,可能需要修改jar包中的代码。本文以实际示例讲解一些基本方法,方便大家快速入坑。首先我们都知道直接解压jar包的话,都是class二进制文件,打开后是看不见代码的。之所以可以在开发环境中直接查看jar中的代码是因为IDE已经帮你反编译好了,才能看见Java源码。入坑如何修改这些jar包中的...
原创
576阅读
0评论
0点赞
发布博客于 1 年前

Win10也要愉快地使用Bash

对于习惯了Linux和Mac的同学来说,Windows自带的终端确实不太好用。其实我们完全可以用Bash取而代之。安装Windows Terminal自从巨硬拥抱开源之后,那是骚操作频频。Windows Terminal是一个开源项目,它本身只是一个终端容器,可以装载系统自带的CMD、PowerShell甚至是WSL子系统的终端。下载安装很简单,可以在应用商店直接搜索Terminal安装,也...
原创
791阅读
0评论
0点赞
发布博客于 1 年前
Python 爬取考研数据:所有 985 高校、六成 211 高校均可调剂!
发布Blink于 1 年前

Windows安装repo的真正解决方案

背景2020真是魔幻的一年,受疫情影响,大家年后一段时间都远程办公了。奈何很多同事在家没有Linux开发环境,想在Windows上通过repo工具下载Android源码简直比登天还难。网上搜来受去没几个讲透彻的,今天给大家整活。按下面步骤来,保证OK,我们最终以 repo init 执行成功为目标。走起一、安装Git for Windows先到官网(https://git-scm.com...
原创
6982阅读
7评论
0点赞
发布博客于 1 年前
源码茶舍之如何由Uri找寻ContentProvider
发布Blink于 1 年前

源码茶舍之如何由Uri找寻ContentProvider

引子我们都知道四大组件之一ContentProvider的用处,它给大家提供一种统一的数据访问格式。调用者无需关心数据源于何处(如DB、XML文件和网络等),只需获取到对应的ContentResolver来进行增删查改即可。自己实现一个Provider的时候,也会在配置文件中声明如下:<provider android:name=".provider.TestProvider"...
原创
109阅读
0评论
0点赞
发布博客于 1 年前

源码茶舍之FLAG_EXCLUDE_STOPPED_PACKAGES与广播唤醒

发现我们先随便实现一个BroadcastReceiver,静态注册:class TestReceiver : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { Log.w("TEST-1", "onReceive ${intent?.action}") ...
原创
254阅读
0评论
0点赞
发布博客于 1 年前

DeepinWine微信等软件如何升级

前言不管是Ubuntu还是Deepin系统的用户,我相信不少同学是用的Deepin移植的基于Wine容器的QQ和微信等Windows上面的软件。对此我很久前也有一篇引导文章:Ubuntu 18.04/16.04安装最新版QQ和微信具体安装流程不是本文重点哈,就不介绍了,可以看上述链接。本文主要讲讲安装后如何升级这些容器里的软件。就拿微信来说,官方推送更新时,你会发现在DeepinWine版本...
原创
4690阅读
7评论
4点赞
发布博客于 1 年前

RecyclerView中DiffUtil的一些注意事项

节能刷新移动设备屏幕大小有限(不得不说我是顽固的小屏爱好者,大于5.5寸难以接受,时代已经抛弃我了哈哈),列表(List)可以说是一个出现非常高频的交互设计。大多数情况下我们的列表不仅仅是一次性加载本地数据,而要应付来自网络的各种动态内容,可能是增加、删除等操作。在Android开发中,一个耳熟能详的方法就是 notifyDataSetChanged ,在适配器(Adapter)的设计模式下,...
原创
955阅读
1评论
2点赞
发布博客于 1 年前

MTK设备上DuraSpeed导致Service无法启动的问题

没想到联发科还会改framework,有点小惊讶……背景问题的起因是我们的系统应用无法调起与其他部门联动的某个Service组件了。查日志发现有这么一行:1276-2330/system_process D/ActivityManager: bringUpServiceLocked, suppress to start service!提示内容大概是说Service的启动被禁止了,当...
原创
567阅读
0评论
0点赞
发布博客于 1 年前

Win10家庭版如何正确关闭自动更新

背景Windows10还是很漂亮很好用的,大部分同学购买的品牌机也都会预装正版Win10,不过是家庭版的(个人用户一般也不需要专业版,比如我这种装双系统的只把Win10拿来打游戏),然而,家庭版系统要用常规手段是没法彻底关闭自动更新的。微软也非常不给面子,各种给你悄悄打开,当你关机时,你会吃惊地发现“更新并关机”这个选项。下面就介绍一下正确关闭自动更新的方法。解决找回家庭版的组策略换...
原创
537阅读
2评论
1点赞
发布博客于 2 年前

避免Android定制ROM中的EditText出现pop弹窗

问题可能看到标题的同学一头雾水,这是什么东西,其实类似于你长按文本时出现的复制粘贴pop弹窗。在一些定制ROM中,厂商为了某些方便用户的特殊功能会增加文本输入检测和自定义弹窗,举例:比如在你输入一些邮箱时,会自动弹出这种pop(并不需要你长按),且这个并非系统应用才有的,而是直接影响了所有EditText。对于一些高度定制化UI的应用来说,这个可能影响用户体验。下面给出两种解决办法(都不算...
原创
162阅读
0评论
0点赞
发布博客于 2 年前
连不上 GitHub 的朝鲜,也开发出了人脸识别技术
发布Blink于 2 年前

源码茶舍之PackageManager获取注册Service数量问题

问题今天有朋友遇到个问题,说bindService失败了,查了几步发现是由于PackageManager获取不到对应的Service组件导致的。具体示例代码如下:val serviceInfos = packageManager.getPackageInfo("com.xxx.xxx", PackageManager.GET_SERVICES).servicesLog.d("TEST", A...
原创
232阅读
0评论
0点赞
发布博客于 2 年前

Deepin系统add-apt-repository失败的问题

问题目前Deepin系统版本为15.11,貌似在15.10时切到了Debain的软件仓库,而不再是Ubuntu了,虽说比较稳定,但还不够新,比如git,版本就没有官方的新。于是我尝试 git官方的办法:sudo add-apt-repository ppa:git-core/ppa报错,提示未找到命令。解决这个问题在网上搜搜办法,很多回答都是让安装一个包:sudo apt-get ...
原创
8742阅读
2评论
4点赞
发布博客于 2 年前

Gradle命令编译失败NoClassDefFoundError和VerifyError

问题不知道大家在编译gradle项目的时候习惯直接在Android Studio这种IDE里面还是命令行操作。今天在Deepin系统里面用命令编译:./gradlew assembleDebug直接报错:Exception in thread “main” java.lang.NoClassDefFoundError: org.gradle.wrapper.BootstrapMain...
原创
277阅读
0评论
0点赞
发布博客于 2 年前

Deepin标题栏太高的解决办法(自定义高度)

Deepin 15.11已经发布一段时间了,前段时间折腾了一下,把我的Ubuntu换成了Deepin(有兴趣可以看看我的另一篇:Deepin15.11初体验及问题解决),总体感觉非常好。依我个人习惯,目前有两点不是很能接受:第一就是软件源貌似是debian stable的,所以很多软件版本比较老,比如git版本,远低于官方版本,这个还是有一些解决办法的,具体的我就没去折腾了,Deepin官方...
原创
10023阅读
7评论
7点赞
发布博客于 2 年前

Deepin15.11初体验及问题解决

Deepin发展也有不少年了,最近还和华为的笔记本合作预装。之前我一直都用Ubuntu做日常开发,现在心血来潮也想折腾一下Deepin哈哈,本文主要讲从Ubuntu无痛迁移到Deepin的安装过程、N卡显卡驱动等一系列小坑的解决。权当总结吧!下载和制作启动盘这个就不讲了哈,直接在官网下就行了,包括启动盘制作工具。http://www.deepin.org/download/保留数据从...
原创
11105阅读
2评论
9点赞
发布博客于 2 年前

OkHttp自定义重试拦截器出现IllegalStateException: cannot make a new request……异常

问题OkHttp自定义重试拦截器常见实现方式:private static class RetryInterceptor implements Interceptor { @Override public okhttp3.Response intercept(Chain chain) throws IOException { int retryCount = 0...
原创
2914阅读
0评论
3点赞
发布博客于 2 年前

Docker安装Ubuntu镜像并保存且修改IP及Mac地址

本文仅作为一个Docker入坑手札。主要介绍:1、Docker在Linux上的安装配置;2、在Docker容器中安装一个Ubuntu镜像并保存更改;3、以任意IP地址和Mac地址启动刚才安装的Ubuntu镜像。
原创
2835阅读
1评论
0点赞
发布博客于 2 年前

Ubuntu安装Source Insight导入Android源码并设置仿IDEA主题Darcula

预览先来张图给大家感受下效果,然后我再慢慢道来过程,保证你避免每一步的坑。我们要做什么1、由于Source Insight(以下简称SI)是Windows应用,所以不能直接安装在Linux上,于是我们要借助wine,所以第一步会介绍wine的安装过程和坑;2、介绍SI在Linux(以Ubuntu 16.04为例)上的安装,并介绍如何导入免费证书(个人建议大家有条件还是付费支持一下SI这个...
原创
644阅读
0评论
1点赞
发布博客于 2 年前

解决war包部署后找不到本地jar包的问题(ClassNotFoundException、NoClassDefFoundError)

大多数Web项目都会引用一些本地jar包,然后最终以war包的形式部署上线。但实际运行时jar包里面的类根本找不到,出现各种ClassNotFoundException、NoClassDefFoundError等错误。这里记录一下注意事项和正确的解决方法:1、先简单说下怎么配置war包部署(如果你原来是jar包部署的话):<project ...> <packaging&...
原创
1270阅读
0评论
0点赞
发布博客于 2 年前

Kotlin操作符快速获取爸爸的儿子的狗的名字

NPE(NullPointerException)是最低级且也最容易犯的错,也是最喜欢遇到的Bug因为好解。本文适合Kotlin入门萌新食用,大佬轻喷哈哈哈!问号N连帮你空处理(?)假如服务端返回一个json嵌套了各种数据,映射成POJO大概是这样:// 此处为简洁省去getter和setterpublic class TestParent { private TestChi...
原创
127阅读
0评论
0点赞
发布博客于 2 年前

OkHttp拦截器实现禁止一切网络请求

我们在创建OkHttp客户端时,可以添加各种拦截器,这是我见过最有可玩性的库之一:OkHttpClient okHttpClient = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .addInterceptor(new XXXInterceptor()) .ad...
原创
1393阅读
1评论
1点赞
发布博客于 2 年前

OkHttp拦截器实现无网络时加载缓存,避免Unknown host异常

我们在创建OkHttp客户端时,可以添加接口数据缓存,真的很香:File cacheDir = ... // 缓存目录,可以是内部存储也可以是外部存储的目录OkHttpClient okHttpClient = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .cache(new ...
原创
1597阅读
0评论
0点赞
发布博客于 2 年前

OkHttp拦截器获取GET/POST请求参数并添加公共参数

我们在创建OkHttp客户端时,可以添加各种拦截器,真的很香:OkHttpClient okHttpClient = new OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .addInterceptor(new XXXInterceptor()) .addIntercept...
原创
7219阅读
4评论
2点赞
发布博客于 2 年前

Gson混淆配置的一些小坑

Gson就不介绍了,援引一下官方的哈哈:A Java serialization/deserialization library to convert Java Objects into JSON and back我们在配置Proguard配置文件时,都会用Gson官方文档给出的:##---------------Begin: proguard configuration for Gso...
原创
2291阅读
0评论
0点赞
发布博客于 2 年前

为何点击推送通知打不开Activity?Calling startActivity() from outside……

小米推送Android SDK有这么一个耳熟能详的方法:/** * 接收服务器向客户端发送的通知消息,在用户手动点击通知后触发 */public void onNotificationMessageClicked(Context context, MiPushMessage message) { ... context.startActivity(intent);}如果在其中手动...
原创
1428阅读
1评论
1点赞
发布博客于 2 年前

看看,Jetpack Compose是什么新东西

Google 在 I/O 2019 上宣布 Kotlin 成为 Android 开发首选语言(怎么又宣布了哈哈),并且以后会有新的 Jetpack API 和功能将在 Kotlin 中提供,值得注意的是 Google 当天开源了一个叫 Jetpack Compose 的东西,让我们来看看是什么。这里是目前公开的资料:https://developer.android.com/jetpack/...
原创
4503阅读
0评论
1点赞
发布博客于 2 年前

微信小程序任务栈实现原理

背景之前面试一些校招同学,聊到微信小程序是什么launchMode,其任务栈是如何实现的?很多同学只提到singleInstance,这是不合适的。今天我们就猜测并解析一下微信主程序与小程序的关系与大致实现,最后给出源码,可以给大家作一个简单参考。初探既然要研究微信,那么我们就先打开几个小程序,再用adb命令看看任务栈信息。在终端使用 adb shell dumpsys activity...
原创
856阅读
4评论
2点赞
发布博客于 2 年前

NDK开发中为什么除以0程序不崩溃?

我们都知道不管是在Java还是在C++程序中,下面这段代码都会导致程序错误:int x = 10;int y = x / 0;...但是我今天发现了一个比较神奇的事情,把这段代码写成Native方法后在Java层调用,竟然没有导致App崩溃,代码是这样子的:#include <jni.h>#include "logger.h"#ifdef __cplusplusex...
原创
1008阅读
0评论
1点赞
发布博客于 2 年前

源码茶舍之android:externalService是什么属性?实现原理?

发现在AndroidManifest中声明Service时,偶然发现一个布尔类型的属性:android:externalService示例如下:<service android:externalService="true" ... />如果minSDK小于24,会显示警告,很显然这是一个24以后的新东西。先顾名思义一下,external的service,外置...
原创
722阅读
1评论
1点赞
发布博客于 2 年前

MyBatis中插入(insert)后返回主键(key)的注解方式

一般我们插入数据后需要知道其自增的主键key是多少,有两种方式:用@Options注解:比如这里有个订单(Order)相关的DAO:public interface OrderDao { @Insert("INSERT INTO ...") @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "i...
原创
5024阅读
0评论
2点赞
发布博客于 2 年前

MyBatis直接使用LocalDateTime时间类型以及MySQL时区问题排错

时间类型Java 8提供了新的时间API,相关介绍大家可以自行搜索或者直接参考这篇Java中的时间与时区,因此大家在写实体类时,可以放弃用以前的Date或者Timestamp类型了,直接用LocalDateTime类就行了,MyBatis从3.4.5版本开始就完全支持这种类型了,根本不用自己再去写什么类型转换,目前网上搜到的大部分文章还是让我们自己去实现,其实不用的。我们来看看其官方文档( h...
原创
24046阅读
3评论
8点赞
发布博客于 2 年前

CentOS用yum将MySQL升级到5.7.25

本文操作流程同样适用于MySQL 8.0,但由于我是原本版本是5.6,直接装8.0有各种毛病,后来放弃,还是装了5.7。如果直接用yum来install mysql的话,你会发现最多只能升级到5.6,搞不懂这些老外怎么想的,MySQL做错了什么,就因为被Oracle收购了吗?然而,我需要升级到5.7该咋办?添加官方的repo即可。步骤:1、先备份你的数据库和my.cnf(一般在/etc...
原创
2663阅读
1评论
1点赞
发布博客于 2 年前

授权后连接MySQL依然被拒绝访问(Access denied for user 'root'@'localhost')

我们在Spring Boot的应用配置中一般都会如下:jdbc:mysql://123.123.123.123:3306/byd?useUnicode=true&amp;amp;amp;amp;amp;characterEncoding=UTF-8&amp;amp;amp;amp;amp;allowMultiQueries=true123.123.123.123是MySQL数据库所在主机的IP地址,如果你之前...
原创
7146阅读
0评论
0点赞
发布博客于 2 年前

【开源项目推荐】Android Jetpack 官方文档 中文翻译

Jetpack 是 Android 软件组件的集合,使您可以更轻松地开发出色的 Android 应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。Google官方极力推荐的开发工具库,然而其官方文档大部分页面还没有中文翻译版本,为了开发者们更好地了解和学习Jetpack,我们Google Android Jetpack 文档汉化组...
原创
1249阅读
0评论
4点赞
发布博客于 2 年前

RxJava2开发小记:或许能帮你解决RxAndroid+Retrofit出现的OOM

情景前不久项目遇到了偶现的OOM问题,看调用栈发现有RxJava相关,我们项目以RxJava2+RxAndroid+Retrofit2+OkHttp为基础设施的。上谷歌搜了一转,最终竟踏入了RxAndroid的GitHub issue区,发现有个老外和我情景类似,原帖链接在此:https://github.com/ReactiveX/RxAndroid/issues/387,他说他只用Retr...
原创
845阅读
1评论
3点赞
发布博客于 2 年前

解决新版浏览器autoplay不能自动播放的问题

自己一直有个人小主页,就展示下简历信息啥的,搞得比较花里胡哨,整了个audio标签来自动播放网页背景音乐:&amp;lt;audio autoplay=&quot;autoplay&quot;&amp;gt; &amp;lt;source src=&quot;/personal_home/home_bg_music.mp3&quot;/&amp;gt;&amp;lt;/audio&amp;gt;只要一打开网页,就愉快地
原创
19816阅读
4评论
2点赞
发布博客于 2 年前

源码茶舍之由一次简单的ANR分析深入了解Context

ANR是Android的老大难了,关于这方面的基础知识和深入好文都非常多,大家不妨谷歌一下。最近搭载骁龙855的小米9也发布了,移动平台的设备性能越来越强,许多App大多时候其实都吃不完那么多计算资源。说得可能不好听一点,很多烂代码要是在很多年前的手机上,本该导致卡顿(甚至是ANR)的,但由于如今强大的计算性能,卡顿几率大大减小了。从某方面来说增大了程序的容错,同时也掩盖了程序本身的缺陷。...
原创
637阅读
0评论
1点赞
发布博客于 2 年前

自定义背景drawable拉伸变形问题

看一个drawable文件,这个在5.0及以上的系统上一切正常。&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;layer-list xmlns:android="http://schemas.android.com/apk/res/android"&gt; &lt;item&gt; &lt;shape android
原创
1261阅读
0评论
0点赞
发布博客于 2 年前

解决打包错误Expected a name but was STRING at line 1 column 99 path $[0].apkInfo.versionName

打release包的时候,出现这个玩意,但debug直接跑apk又没问题。Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a name but was STRING at line 1 column 99 path $[0].apkInfo.versionName...
原创
2096阅读
1评论
0点赞
发布博客于 2 年前

解决Only fullscreen opaque activities can request orientation错误崩溃

Android O上,如果启动Activity(比如开屏页这种)设置了背景透明,又设置了强制竖屏,就会崩溃,报错:IllegalStateException: Only fullscreen opaque activities can request orientation...App秒崩真不是滋味,一开始不知道谷歌粑粑又在搞什么鬼。查了下,应该是API 27的新规矩:只有占据整个屏幕的 ...
原创
1272阅读
0评论
1点赞
发布博客于 2 年前

更新Git工具到最新版本

Ubuntu 16.04默认的软件源目前最多只能更新到2.7.4版本,而官方早就已经迭代到2.20.1了,差十几个版本号。新版的git命令工具增加了很多新功能,比如分支HEAD高亮等,相比以前,可以更加方便地脱离图形化界面操作。1、首先查看一下自己的版本是不是低于最新版:git --version2、若不是,添加Git官方的软件源:sudo add-apt-repository pp...
原创
25243阅读
0评论
2点赞
发布博客于 2 年前

子module与App主module共享Context的实践

随着业务越来越复杂,即便是Android项目也会解耦出很多子模块,把一些变动不大的,或者与业务逻辑几乎0耦合的代码抽离出来,单独创建module(下面我们称之为common module),以library的形式引入app module(即主模块),这也是组件化的必经之路。但过程中遇到个小问题,我要在common里面使用上下文(Context)怎么办呢?由于library类型的module本身是...
原创
2177阅读
1评论
5点赞
发布博客于 2 年前

ScrollView嵌套WebView与原生控件组合的一些问题

现在很多做信息流的应用都会有文章详情页,构造基本上就是ScrollView嵌套WebView,然后WebView下面组合一个原生的ListView(RecyclerView)来实现评论列表或者相关推荐等。大致的xml布局如下:&amp;amp;amp;amp;lt;android.support.v4.widget.NestedScrollView android:id=&amp;amp;amp;quot;@+id/test_scroll_view&amp;amp;amp
原创
4366阅读
5评论
5点赞
发布博客于 2 年前

ScrollView(或NestedScrollView)嵌套WebView只加载图片无文字的巨坑

最近项目有一个需求,大概是上面为H5页面,下面是原生的List(用RecyclerView实现),拼接在一起。很自然想到用ScrollView来嵌套吧,虽然官方不建议,但也没办法咯!谷歌的NestedScollView还是很好用的,解决了很多滑动冲突,尤其是配合ListView、RecyclerView这类控件时。基本操作布局大概是这样(省略其余无关内容):&amp;amp;amp;amp;lt;android.supp...
原创
2703阅读
2评论
1点赞
发布博客于 2 年前

解决PopupWindow中CardView阴影不显示(无效)的问题

谷歌Design库里的控件还是很香的,CardView是Material Design的核心控件之一。今天就用它来做一个小弹窗,大概是想要这种效果:布局文件很简单,我定义了圆角和阴影:&lt;android.support.v7.widget.CardView android:layout_width="wrap_content" android:layout_height...
原创
1727阅读
3评论
1点赞
发布博客于 3 年前

Glide4.8集成现有OkHttpClient并加载https图片

转眼间谷歌的Glide图片加载库都4.8.0了,时间过得真的太快。今天解决两个问题:1、Glide网络加载库集成为OkHttp(其默认为原生的API实现),众所周知OkHttp可以帮助我们更方便地玩转网络请求;2、让Glide可以加载https前缀的图片链接(如果你的域名证书是服务端自己瞎签的,没有在线认证,就过不了安全检查,表现为你用Chrome浏览器打开这个链接会提示不安全的红色警告)。...
原创
4926阅读
6评论
2点赞
发布博客于 3 年前

RxJava2开发小记:先加载缓存再请求网络之简单实现

关于缓存用户角度:做客户端,大部分时候都在追求良好的用户体验,缓存,就要达到一个缓兵之计的效果。因为用户永远是“暴躁”的,页面加载要是有缓存先展示出来,用户就会安心很多。这是一种视觉上的舒服,大多数用户并不在乎这个数据从哪来。开发者角度:对于客户端程序来说,网络状况是未知而不稳定的,在耗时上面,一次网络请求可能大于本地数据读取好几个数量级。并且,某些及时性不高的数据,并不需要每次都从服务端...
原创
2578阅读
0评论
1点赞
发布博客于 3 年前

RxJava2开发小记:用CompositeDisposable来“安排”Retrofit网络请求

8102年,应该有很多新项目用的是RxJava2+Retrofit2来开发了,刚开始接触的时候确实需要一些精力去学习(记得之前看到一些大佬写的关于RxJava的介绍,说到其雄心勃勃远不止一个框架这么简单),和传统的开发模式还是有点差异的。不过慢慢地,你就会爱上介种套路。万丈高楼平地起,先对Retrofit进行一些简单封装,方便外部调用(熟悉的同学可以忽略):public class Ret...
原创
18809阅读
0评论
6点赞
发布博客于 3 年前

RxJava2开发小记:用CompositeDisposable来“安排”Retrofit网络请求

8102年,应该有很多新项目用的是RxJava2+Retrofit2来开发了,刚开始接触的时候确实需要一些精力去学习(记得之前看到一些大佬写的关于RxJava的介绍,说到其雄心勃勃远不止一个框架这么简单),和传统的开发模式还是有点差异的。不过慢慢地,你就会爱上介种套路。万丈高楼平地起,先对Retrofit进行一些简单封装,方便外部调用(熟悉的同学可以忽略):public class Ret...
原创
18809阅读
0评论
6点赞
发布博客于 3 年前

goAsync帮你在onReceive中简便地进行异步操作

广播回调onReceive是在主线程跑的,所以我们不能在里面搞耗时操作,不然秒秒钟ANR。又因为onReceive中的代码在执行完后,BroadcastReceiver对象就无效了,生命周期结束。所以我们不能直接在里面起子线程,若应用进程被回收掉,线程的任务就可能无法完成。徒增不可控因素。解决:普遍的处理方式是在onReceive中再起一个IntentService去执行异步操作。这样就有...
原创
1453阅读
0评论
3点赞
发布博客于 3 年前

两种方法避免Android系统更改字体大小

当用户更改系统的字体大小后,App界面可能会变得面目全非,适配起来非常困难。有的时候我们可能不需要去适配,那么就需要限制部分页面或者控件受系统字体大小更改的影响。目前,大家在网上搜,一般都是下面的这个办法,这也是今天介绍的第一个方法,可以直接使当前Activity的所有字体大小固定:@Overridepublic Resources getResources() { Resourc...
原创
988阅读
1评论
1点赞
发布博客于 3 年前

使用可视化的ChkBugreport分析log文件

下载源码在GitHub上把代码down下来:https://github.com/sonyxperiadev/ChkBugReport编译jar包在源码的core/目录下有一个createjar.sh脚本,执行它!此时其实已经可以使用了,直接用命令:java -jar chkbugreport.jar bugreport_xxx.log会在同级目录下生成一个bugreport...
原创
1525阅读
0评论
1点赞
发布博客于 3 年前

在Android上画一个月食动画

貌似7月28号有月食,我个人对天文现象还是挺感兴趣的,虽然已经过了一周了,但还是想把它留下来。 之前看到一个H5的月食动画,感觉很有意思,于是拿起Android的画笔画布,自己实现了一个,很简单,但看起来还不错。 先看看效果: 其中黄色的我们就当作月亮吧,黑色的当作地球或者别的星体,白底就当作天空吧哈哈。 为了好玩一点,这个动画除了能自动播放,还能点击暂停和支持拖动地球去随意遮挡月亮。...
原创
738阅读
0评论
3点赞
发布博客于 3 年前

如何防止开发者选项关闭动画后使其失效

很多用户为了手机用起来感觉上快,在开发者选项里把系统动画给关了,即把那3个缩放比例改成了0,系统默认一般是1x。个人建议调到0.5x就很合适了,没必要关闭,否则某些动效比较多的App体验会很差。 本文的问题就是,当开发者选项中的动画缩放比例被全部调成0后,App中部分设置了duration的属性动画就会失效,表现为直接从开头跳到了结尾,没有动画过程。我们先分析下为什么会这样。 看Value...
原创
4198阅读
0评论
0点赞
发布博客于 3 年前

Ubuntu下给Wine设置微软雅黑字体(4步操作)

之前写过一个在Ubuntu下面装最新版QQ(9.0)的文,发现有人和我一样,大部分字体可以看,但是部分中文会出现方块。 这里简单地搜集了一下方法(谷歌百度都是好老的方法,而且又麻烦又杂乱),自己总结并亲测了一下。 先放个截图: 微软雅黑可是微软花重金购买的,相比以前的宋体,在QQ上表现要好很多。解决步骤: 1:先从Windows系统中把微软雅黑字体提取出来(在系统分区的Window...
原创
19480阅读
4评论
3点赞
发布博客于 3 年前

Ubuntu 18.04/16.04安装最新版QQ和微信

最近升级到了18.04,发现之前装的QQ就用不了了,于是重新搞一下。 安装包什么的都是取自这个大神的:https://phpcj.org/wineqq/我这里只是简单地阐述一下亲测步骤(16.04应该也同样适用): 1.先下载特制的QQ程序包(其实就是基于Wine容器做了一些封装,程序运行时本身的东西还是腾讯QQ的Windows版本,所以不用担心后门或者篡改之类的): 链接: https...
原创
38123阅读
14评论
9点赞
发布博客于 3 年前

在网页中用img标签实现php异步执行

最近写了个小网站,需要统计页面访问记录,于是直接把index.html改成index.php文件,然后内嵌读写数据库的php代码(php7.0)。 比较简单,如下:&lt;?php$con = new mysqli('xxx.xxx.xxx.xxx', 'root', '123456', 'db_name');$con -&gt; query('set names utf8;');...
原创
634阅读
0评论
1点赞
发布博客于 3 年前

Ubuntu设置DNS解析缓存提高上网速度

在Ubuntu上用Chrome浏览网页会发现解析域名特别慢,同样的网络环境下,比Win10慢太多了。 原因是默认没设置DNS缓存,解决步骤: ①打开终端,安装相关软件包:sudo apt-get install dnsmasq②编辑dnsmasq的配置文件:sudo gedit /etc/dnsmasq.conf按Ctrl+F搜索#resolv-file=(其中#是注释...
原创
3696阅读
0评论
1点赞
发布博客于 3 年前

Ubuntu开启IPv6协议(包括校园网相关)

国内很多高校的校园网应该都支持IPv6试验网络的,Windows下默认支持比较好,但用Ubuntu发现并不能正常使用IPv6。 在网上搜了下办法,总结一下解决步骤(基本都是终端命令操作): ①安装相关软件包:sudo apt-get install miredo②修改配置文件:sudo gedit /etc/default/ufw然后把其中的IPV6=no改成IPV6=...
原创
6462阅读
0评论
0点赞
发布博客于 3 年前

USB调试Android设备时遇到no permissions (verify udev rules)的解决办法

最近在Ubuntu上调试一些Android O系统的手机,出现adb root失败的情况,明明手机已经root了。 具体就是在执行adb devices查看连接的设备时,设备后显示no permissions (verify udev rules)字样。 根据官网的提示,去查文档:https://developer.android.com/studio/run/device.html#sett...
原创
1792阅读
0评论
0点赞
发布博客于 3 年前

解决IDEA 2017.3.1安装出现NSIS错误的问题

我的Windows 10系统从来没更新过,也没打过什么补丁。以前的IDEA升级安装都好好的,结果这次从2017.2.6升级到3.1,就出现下面的错误了,exe安装程序都打不开。 这个很烦人啊,网上一搜,有人说别用Chrome下载,用迅雷,这个我试了下明显不靠谱。谷歌上还有人说把安装程序放在C盘的,都不行。 然后还有个方法是给exe创建快捷方式然后加/NSRC参数,加了之后你发现果然不出现这个
原创
4219阅读
0评论
2点赞
发布博客于 4 年前

解决Nvidia显卡的电脑安装Ubuntu及驱动的各种坑

最近给游戏本装双系统(对没错,我就是用游戏本搞开发的那个人),由于是N卡+Intel核显的电脑(并且是1920*1080及以上的高分屏),装Ubuntu前后遇到各种坑。 下面我们慢慢道来如何爬出这些坑。我遇到的这些坑目前如下,大家可以对号入座: (1)用U盘安装Ubuntu系统,卡死在logo界面(下面那一排进度点根本不动),死活进不去; (2)好不容易把(1)解决了,发现分辨率降低成了800
原创
79938阅读
26评论
38点赞
发布博客于 4 年前

Java中nextInt()后紧跟nextLine()方法造成的一些问题

Java编程当中的一些低级错误。
原创
4086阅读
2评论
14点赞
发布博客于 4 年前

网易2018校招内推Android笔试编程题一道

题目: 输入一个数组,长度不超过2*10^5,数组元素为整数,大小不超过10^9,从第一个位置依次取元素并添加到新数组末尾,每取一次就逆序操作一次,直到取完所有元素。最后输出这个逆序操作多次后的新数组。 示例: 原数组:1 2 3 4 取1,逆序后还是1 取2后数组为1 2,逆序后是2 1 取3后数组为2 1 3,逆序后是3 1 2 取4后数组为3 1 2 4,逆序后是4 2 1 3
原创
2670阅读
0评论
1点赞
发布博客于 4 年前

在PyCharm中三步完成PyPy解释器的配置

介绍方法之前,我们先说说Python的解释器,由于Python是动态编译的语言,和C/C++、Java或者Kotlin等静态语言不同,它是在运行时一句一句代码地边编译边执行的,而Java是提前将高级语言编译成了JVM字节码,运行时直接通过JVM和机器打交道,所以进行密集计算时运行速度远高于动态编译语言。
原创
21050阅读
2评论
6点赞
发布博客于 4 年前

获取App通知权限是否开启的方法

我们有时候需要获知用户是否允许了App在通知栏显示通知,设置入口一般见于AppInfo即应用详情页面。
原创
24406阅读
0评论
2点赞
发布博客于 4 年前

滚动RecyclerView加载图片时的流畅度优化

在RecyclerView列表滚动时,如果item中需要网络加载的图片资源过多或过大,会造成掉帧卡顿的问题,用户体验不是很好,尤其是在滚动非常快的情况下。研究QQ聊天列表时发现,在滑动过程中,用户头像是不会显示的,只使用本地图片资源占位,当惯性滚动停下来时,才进行网络请求加载图片并进行绘制。这样整个过程都不会卡顿。
原创
14090阅读
3评论
1点赞
发布博客于 4 年前

解决Linux修改环境变量后导致登录循环进不去系统的问题

最近给移动硬盘装了个Ubuntu,然后在配置Java环境的时候,一不小心把/etc/profile里的环境变量输错了,还自信地source /etc/profile当时就终端java就不出东西,于是我习惯性重启了系统。 然后就悲剧了,能正常看到开机登录界面,但是输入密码后,闪屏一次又回到登录界面,这个问题估计百度谷歌一大堆解决办法,基本分为两种:在登录界面按Ctrl+Alt+F1进入终端模式……
原创
10670阅读
2评论
0点赞
发布博客于 4 年前

解决ProGuard混淆代码时出现的java.lang.NoSuchFieldException: xxx…异常

用Android Studio写小Demo的时候,由于需要混淆代码,所以把build.gradle文件里的minifyEnabled false改成了true。然后编译成release发布版本,就会发现apk包小了不少,说明混淆成功。 这对一般的小项目倒是没什么影响,混淆后程序运行仍然正常,但如果用到了Java的反射机制,就没那么轻松了。
原创
8048阅读
1评论
1点赞
发布博客于 4 年前

MySQL分页拉取和客户端数据重复问题

我们都知道,各种主流的社交应用或者阅读应用,基本都有列表类视图,并且都有滑到底部加载更多这一功能,这在后端体现出来就是分页拉取数据。 好处不言而喻,一般来说,这些数据项都是按时间倒序排列的,用户只关心最新的动态,而不关心几个月甚至几年前消息,所以后端返回给客户端的数据是不会一次性传递全部内容的(不仅耗费流量,而且还给服务器带来巨大压力)。
原创
2975阅读
2评论
2点赞
发布博客于 4 年前

解决修改httpd配置文件Options Indexes FollowSymLinks仍然无法禁止访问网站目录

由于一些特殊需求或者安全考虑,需要禁止用户访问网站目录,所以需要改httpd.conf配置文件。
原创
1892阅读
0评论
0点赞
发布博客于 5 年前

解决Discuz! Database Error (1045) notconnect论坛数据库连接失败

很久前在自己的腾讯云服务器上搭了个Discuz的论坛玩,结果今天无意间打开发现报错了! 当时有点不知所措,好好的怎么突然一下玩完了。仔细一看,是Mysql数据库出问题了,再一想,最近改过数据库的登录密码。 因此,去找Discuz的配置文件,那里的密码肯定没更新。
原创
10280阅读
1评论
0点赞
发布博客于 5 年前

彻底清除Github上某个文件的历史(针对误上传密码文件等情况)

这几天用JDBC写一个开源项目玩,测试的时候为了方便连接数据库就直接把root密码都写进代码文件了,然后Commit再Sync,成功把密码暴露到Github上。大家肯定不想自己数据库所在服务器的IP和密码暴露,所以这里提供3个办法……
原创
6916阅读
2评论
6点赞
发布博客于 5 年前

解决mysql-connector-java驱动编译时Dex cannot parse version 52 byte code...等错误

Error converting bytecode to dex: This is caused by library dependencies that have been compiled using Java 8 or above. 在Android端用mysql-connector-java驱动包直接访问服务器上的数据库。
原创
8149阅读
1评论
2点赞
发布博客于 5 年前

教你如何在Ubuntu上安装最新版QQ(而不是那个老掉牙的2012国际版)

最新强烈推荐的方法(下面是老文,都可以不看了):https://www.lulinux.com/archives/1319———————————————————————————————————————————中文乱码方块问题请见:Ubuntu下给Wine设置微软雅黑字体(4步操作) ...
原创
46209阅读
36评论
6点赞
发布博客于 5 年前

解决Python下安装unrar后仍然提示Couldn't find path to unrar library...

在写Python脚本的时候,由于做rar文件解压要用到unrar库,我们都会加上一句:from unrar import rarfile如果你是在Windows下使用PyCharm这种IDE,那么很方便,它会提示导入包,你也可以在项目设置中手动搜索第三方库并安装;如果是Linux命令环境的话,推荐使用 pip install rarfile 和 pip install unrar 命...
原创
16159阅读
14评论
18点赞
发布博客于 5 年前

解决前端开发之微信内置浏览器页面渲染和缓存问题

最近在做一个前端的项目,因为需求是最好能够分享到微信朋友圈,那免不了兼容微信内置的QQ浏览器。我不得不说,微信内置的浏览器简直就是前端开发的绊脚石,业界之毒瘤啊!w(゚Д゚)w说白了就是个手机版的IE,对H5响应式页面支持非常差,但我们必须承认微信这整个生态圈是很NB的。另外页面缓存问题也是大家很烦恼的,由于微信内置的简易浏览器没有提供刷新功能,后台更新图片资源后,根本刷新不了。那么现...
原创
27365阅读
4评论
0点赞
发布博客于 3 月前

解决Ubuntu强制获取root权限后只剩下客人会话而无法正常登录

鄙人Ubuntu版本号是16.0.4 LTS,因为每次在图形窗口里都动不了系统文件,只能通过终端sudo命令来实现root权限的操作,于是乎心血来潮想给当前用户提升一下权限(每次改个系统配置文件都要在终端里sudo多麻烦啊)。然后我就信了百度经验的方法,这些方法也不是不好,对老版本的Ubuntu可能适用,但最新版本的估计是因为某种保护机制,一旦你使用sudo gedit /etc/p...
原创
7362阅读
7评论
6点赞
发布博客于 5 年前

快速解决Ubuntu无法访问Windows分区的问题

首先有一个前提,那就是我之前都是好好的,在Ubuntu可以正常访问Windows的NTFS分区,还能操作文件。但是在我更新Windows后(常规的Win10版本更新),再回到Ubuntu,就访问不了了,出现类似这也的错误: 不能访问XXX ,Error mounting /dev/sda8 at /media/my/XXX: Command-line `mount -t “ntfs” -o
原创
4291阅读
0评论
1点赞
发布博客于 5 年前

亲测UEFI启动模式的电脑安装Win10和Ubuntu双系统

我个人不太喜欢虚拟机下安装系统,一来运行效率不行,二来原生体验不行。原本我的电脑是Windows 10专业版,为了体验和学习Linux,我给本本安装了Ubuntu 16.0.4 LTS(目前官网能下载到的最新版本),于是各种搜安装教程,感觉各种复杂。后来我发现了他们复杂的原因,我仔细看了下这些教程文章的时间,很多都是好几年前的教程,就算是时间很近的,也是抄来抄去,长篇大论无奇不有。
原创
129550阅读
92评论
55点赞
发布博客于 5 年前

解决U盘制作Ubuntu系统安装盘后无法格式化且容量无法恢复

最近想要深入学习一下Linux系统,毕竟用了这么多年Windows也腻了,于是用U盘装了个Ubuntu 16.0.4 LTS,感觉很不错,前两年买的Dell的本,驱动全部都兼容。当时没在意,直接用USBWriter把iso镜像文件烧录上去了(这里我安利一下USBWriter,制作Linux系统安装盘最方便的工具,只有几MB大小,比软碟通简单好用到不知哪去了)。
原创
19460阅读
6评论
1点赞
发布博客于 5 年前