平台:
windows11
Android Studio 4.2.2
Build #AI-202.7660.26.42.7486908, built on June 24, 2021
Runtime version: 11.0.8+10-b944.6842174 amd64
VM: OpenJDK 64-Bit Server VM by N/A
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 16
Registry: external.system.auto.import.disabled=true
Non-Bundled Plugins: com.intellij.ideolog, com.genymotion.idea, com.kite.intellij, org.jetbrains.kotlin
1.配置gradle,gradle的版本是越高越好。所以首先需要去获取gradle的最新版本,然后将他解压后放在一个比较好用的地方。
然后在Android studio中的
file----settings----Build Execution-Deployment----build tools ----Gradle
中设置,
上面的第一个框选择放入gradle的目录。
下面的适用于特定项目,对于任何一个项目,创建完毕即把 use gradle from 改为specific location 并选择gradle的目录是一个好习惯。可以减少下载错误,下载浪费,提高效率。
下载官方地址:Gradle | Installation
也可以问小伙伴要一份。
2.使用国内代理,用于下载依赖
在项目的build.gradle中添加,
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public'}
(超越图片权限)推荐把这个放在respositories的第一行,这样或许会优先使用阿里云的国内镜像源进行下载依赖。事实上,这样会极大的提高依赖下载速度,尤其是网络不稳定时。
3.创建可靠的调试环境。(参考)
事实上,调试的速度很大程度上也决定了你的开发速度。当具备可靠的调试环境时,开发速度也会提升不少。
(1)一个经过测试较为稳固的虚拟机创建方案是
按如图方式以此选择,紧接着按照默认创建一个虚拟机。注意不要频繁操作。
(2)使用Genymotion.创建虚拟机。
这个相对来说比较稳定,但是对于Api较高的android系统的支持不是很好,而且也会有不稳定的情况发生。
事实上,如果方法(1)的虚拟机足够稳定,那么就选用第一个就好了,使用感受比第二种的虚拟机好。
如果出现虚拟机连接失败等错误,建议重启电脑。一般可以连接成功。
如果是出现 wait all 。。。to come online,这句话,可以适当等个30s如果还不行就删掉虚拟机,重启然后再新建一个虚拟机。
4.查看异常
在运行了一个app时,可以打开下方菜单栏的run来查看app运行的log和异常代码位置。(这点在处理程序异常退出,或者异常卡住等时查看报错信息,同时程序代码中的log函数的输出也在这里。)
event log则是用来查看android studio的log。
5.简述Android的Activity和Fragment与UI
(1)Activity与UI
给Activity分配UI
MainActivity.java
package cn.basicconstruction.example;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setText("hello");
setContentView(textView);
Log.d("", "MMMMMMMMMM: "+textView);
setContentView(R.layout.activity_main);
}
}
run,可以看到程序正常运行,这也意味着,在运行时我们也可以通过函数调用来更改Activity的布局代码。事实上,我进行了尝试,成功了。这意味着setContentView这个函数,并不是在onCreate中能且仅能运行一次。而是可以运行多次。甚至可以取代多个Activity之间的跳转。但是这样也会带来空引用等问题。只能说是可以这么用,但是不推荐这么用。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
textView.setText("hello");
setContentV