本项目主要用于个人Android开发的学习
项目在《第一行代码Android(第三版)》的指导下编写
项目中的注释及代码均为本人在学习中思考写下
项目会持续更新,直至学期结束
本项目完全开源,可任意使用
欢迎各位大佬点评,指导
写于 2022-1-14 3:57 a.m. 中国 江苏 南京
晚安, 好梦~
SDK放在了 E:/SDK 并且设置了用户环境变量 ANDROID_SDK_HOME 为 该目录 (完全路径 E:/SDK)
.gradle文件 放并设置在了E:/Android/Configuration下 (完全路径 E:/Android/Configuration/.gradle)
.android文件 放在了E:/SDK下 (完全路径 E:/SDK/.android)
本人这些配置出于C盘空间不足的原因进行配置,可以根据个人喜好决定是否搬迁文件(推荐搬了)
导入本项目后,需修改相关配置,请注意
程序主要代码的位置在app/src/main中,如果你熟悉Android开发那么这点不需要我说明
如果你在build里看到BUILD SUCCESSFUL in ...
且在Run app的时候下面有绿色的框框Launch Succeed就代表程序已经在模拟器中安装好了
另外,每次模拟结束不要关机,点×就行,关机的话,在下一次的run前
在AVD manager中对你用的AVD右击进行Cold Boot Now
每次调试不关闭AVD也是很香的,每次就re-run就行了
这个问题的出现应该是dpi的问题,不必去调整电脑的缩放比率,可以看看这篇文章
https://blog.csdn.net/qq_44539785/article/details/109277086
我碰到也是很头疼,因为我已经搬迁并设置好了.ini文件
可以先试试在AVD manager中能不能cold boot now,如果可以那就build就行了,不行的话就下面的步骤
但是我通过删除这个avd(删的时候也会报一个An error occurred..无视)
然后重新create一个avd解决了这个问题...
出现这个,打开你的杀毒软件,把提到的文件夹全部放入信任区就行
赶紧把.gradle文件从C盘给他扔了,我吐了
个人对warning其实都很难受,所以遇见一个warning就会去尝试fix
On SDK version 23 and up,
your app data will be automatically backed up and restored on app install.
Consider adding the attribute android:fullBackupContent
to specify an @xml
resource
which configures which files to backup, or just set android:fullBackupOnly=true
.
解决:说的很清楚了,我选择添加android:fullBackupContent="true"到application的属性
(另:挺方便的是你打afbc就行了)
如 Typo: In word 'activitytest'
解决:alt+Enter点击save进dictionary
(有时候不是我不想用camel命名法,而是真的没办法)
Kotlin version that is used for building with Gradle (1.5.20)
differs from the one bundled into the IDE plugin (1.6.10)
版本不一样
解决:修改为classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10"即可
然后换个页面点gradle的sync自动下载
(另:双击shift跳搜索框是什么鬼,让我切换语言特别不爽...)
Avoid using + in version numbers;
can lead to unpredictable and unrepeatable builds (junit:junit:4.+)
解决: file -> project structure 在dependency中的app找到JUnit点右边小框框选择最新版本即可
(只要离开页面gradle提示你sync最好都s(oul)一下)
Hardcoded string "XXX", should use @string
resource
在res/values/string.xml中添加string name="XXX"即可,通过@string/XXX引用
尽量不要硬编码,即在页面中写死数据,否则维护会很麻烦
Warning:(6, 9) JCenter Maven repository is no longer receiving updates:
newer library versions may be available elsewhere
这个仓库不更新了应该是
在本书作者的新的一篇blog中可以得到很多帮助(新的DLC捏)
https://blog.csdn.net/guolin_blog/article/details/113089706
概述一下: ①该extensions通过HashMap存储增加了空间和时间的开支, ②多个布局中,控件使用了相同的id,会混淆
与1同一篇blog
概述一下: 目的只有一个,为了避免编写findViewById
使用条件: ①Android Studio是3.6或更高的版本 ②项目的build.gradle中加入以下配置
android{buildFeatures{viewBinding true}}
启动ViewBinding功能后,AS会自动为每一个布局文件都生成一个对应的Binding类。(注意是布局文件)
点击Android Studio顶部导航栏的Tools -> Kotlin -> Show Kotlin Bytecode
来查看这段代码对应的Kotlin字节码,然后在弹出窗口中点击Decompile按钮将字节码反编译成Java代码。
如果你也在学习Android开发可以star一下哈哈, Thanks♪(・ω・)ノ
大家一起进步呀~