本文的地址:https://gitee.com/littlecurl/universal-p1/blob/master/README.md
涉及到一些大学老师不教的内容,既然没有人教,那我来说说吧。
情况一:可以进入Github
情况二:连Github都进不去
关于Github打不开的问题 ==> DNS的问题 ==> 当你输入url到地址栏,按下回车键,会发生什么事情?【参考资料】
hosts文件位置:C:\Windows\System32\drivers\etc
注意:
DNS不会映射端口号,只能将 IP 地址与 域名主机 进行映射,具体用 HTTP还是 HTTPS,或者说默认80、443端口,这些都是浏览器管理的,DNS不负责。
151.101.129.69 stackoverflow.com
185.45.7.97 github.global.ssl.fastly.net
13.250.177.223 github.com
2409:8c28:a2c0:3:2::3fa www.taobao.com
199.232.96.133 avatars0.githubusercontent.com
199.232.96.133 avatars1.githubusercontent.com
199.232.96.133 avatars2.githubusercontent.com
199.232.96.133 avatars3.githubusercontent.com
199.232.96.133 avatars4.githubusercontent.com
199.232.96.133 avatars5.githubusercontent.com
199.232.96.133 avatars6.githubusercontent.com
199.232.96.133 avatars7.githubusercontent.com
199.232.96.133 avatars8.githubusercontent.com
199.232.96.133 raw.githubusercontent.com
199.232.96.133 camo.githubusercontent.com
2409:8c54:1000:0:3::3fa www.tmall.com
140.205.94.193 tmall.com
183.232.253.122 g.alicdn.com
这里改的是 "com.android.tools.build:gradle" 的版本,这个版本号其实就是AS本身的版本号。可以从Help-->About查看当前自己使用的AS版本号。当你想要知道别人用的哪个版本的AS开发的代码的时候,就是看这个版本号的,但是由于AS的向后兼容性,所以这里的版本号不一定准 : ) 比如我现在使用的是 AS 4.2 预览版,但是我这里的版本号是 4.1.0
同时还需要修改下载仓库地址,下载依赖时会按照以下排序规则进行查询,所以我们把国内阿里云镜像地址排在最前面:
maven {url 'http://maven.aliyun.com/nexus/content/groups/public/'}
maven {url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
google()
jcenter()
maven { url "https://jitpack.io" }
mavenCentral()
jcenter { url "http://jcenter.bintray.com/" }
这里改的是 gradle 自身的版本号。当你运行一个项目出现下面的错误时:
Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-6.7-bin.zip'.
这其实就是没有下载下来gradle,你可以尝试复制上面的链接,之后打开迅雷,迅雷会自动从剪贴板里读取需要下载的内容。下载好之后,放到.gradle(通常在C:/Users/你自己的用户名/.gradle)对应的版本号里面一串长长的目录下,不需要解压。然后重新打开AS即可。
修改 app目录下的 build.gradle
这一步骤很少使用。不过为了将依赖迁移到 AndroidX,这里的 compileSdkVersion 需要修改为 >= 28
在打开集成开发环境之前,可以调优内存参数
为何:计算机是一个机器,本职工作就是计算。但是:
是马也,虽有千里之能,食不饱,力不足,才美不外见,且欲与常马等不可得,安求其能千里也?
如何:AS 和 IDEA 一样,都是在 Help ===> Edit Custom VM Options...
AS:
# custom Android Studio VM options, see https://developer.android.com/studio/intro/studio-config.html
-Xmx4096m
-XX:ReservedCodeCacheSize=1024m
IDEA:
-Xms2g
-Xmx4g
-XX:ReservedCodeCacheSize=1024m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
改完之后重启IDE即可。
类似的修改还有 Navicat 修改心跳间隔时间等。
先来写一个Bug,然后我们通过Debug去解决掉这个Bug。
通过控制台定位问题现场,思考来龙去脉,主要思考“来龙”即可。
有两种种问题,Debug解决不了,而且也很难复现。
第一:缓存问题;
第二:版本不行。
有两个情况:
知道关键词:
举个例子:MaterialDesign 中的输入框
不知道关键词:
举个例子:Android如何实现输入框提示语在输入框的上面
内容壁垒:以前一个百度打天下
现在,各大平台都把内容给封闭起来了,不允许搜索引擎索引。所以我们要去对应的网站搜一搜。
CSDN、博客园、知乎、简书、掘金、微信公众号、WanAndroid、StackOverFlow、Github issue 等
这些知识基本上大学老师是不会讲的,至少我所经历的大学老师没有人讲。但这些东西都切切实实的是一个新人入门时极有可能遇到的坎。有些坎,如果有人指点一下,很轻松就过去了。但如果没有这么一个人,靠自己去悟,可能会走很多弯路。
比如说:一、源码下载方式。如果真就下载不下来源码,有可能这个同学就放弃这门课了。
再比如:二、源码打开方式介绍。我发现,除了我,基本没有人跟你讲,打开之前修改 build.gradle 和 gradle-wrapper.properties 版本号会打开的快一些,如果中国每个程序员都提高一点点效率,那么将是整个民族编程水平的提升。
再比如:三、空指针处理与 Debug 介绍。空指针这个有可能会有大学老师教授,但是,我所经历的大学课堂,基本没有教Debug的,因为他们的程序都是已经备课备好的,没有一个说,来,这堂课,咱们学一下如何写一个Bug,并用Debug的方式解决掉这个Bug。基本没有人讲,但这个技能真的很重要。其实是有人讲的,浙大的翁恺教授C语言那门课,国家精品课。或许是我的学校不好,我上的是普通的大学,我知道我所接受的教育,是普通人,(有可能)是大多数人接受的教育。
最后:四、搜索引擎的使用方式。当今一个普通人遇到的任何问题,网上基本上都有答案,只不过她比较安静,有点腼腆,不会去主动找你。你自己要脸皮厚点,要有一种纵隔千山万水,我翻山越岭也要和你相遇。也就是变换各种不同的说法、多个角度的关键词去搜索。
Android:
后端:
全栈:
国外的我也不认识几个,就介绍几个关键词吧。
在B站搜索:斯坦福大学课程
找一些计算机相关的课上一上,比如,Android相关的CS193A 还有就是 iOS 相关的 CS193P
体验一下世界顶级学校的课堂氛围。其实本质没啥区别,但是有一点,人家课堂上,有学生会主动打断老师来提问。这一点非常棒。不像中国学生,遇到问题,记下来,有时候课下问,有时候就忘了。
持续更新......
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。