外出旅行者,归来仍是少年。
导包
好的,猜到你没打开过几次编译器了,先直接找个较简单的适合你能拉出来的项目,要不就是半天憋不出一块了。最好看一下项目有没有开发文档,然后拿一些新一点的,直接点下载拿到包。接着在android studio打开,找到你存放的项目位置,注意别用中文路径。
打开后,android studio下方会有一处进度条,这时就是一个gradle依赖配置的一个过程。当然,考虑到版本问题,在你没有问到原作者合适的版本时,大概是导包出错的,这时就会出现标红。那如何处理好让项目运行起来,看本文就够了,安排。
首先,先自行新建一个项目用虚拟机跑起来,这一步要是你做过作业是比较简单的,要是没有,可进行专栏查看,从第一篇看起。做好这个,可以更好利用你安装的JDK版本跟gradle版本,也会减少报错,方便项目运行。去到你新建的测试项目,我们要用到的是其中的配置文件。
打开你测试项目的文件夹,把这些配置文件按ctrl多选,进行ctrlcv替换到你找的新项目去,然后这个settings.gradle是可选项,替换这个可能下不到你找的项目要下的包,这是找远程url下载包的,然后有些作者写的地址可能是过时不能用的,所以这里要结合看一下。
pluginManagement {
repositories {
gradlePluginPortal()
maven {
url "https://maven.aliyun.com/nexus/content/groups/public/"
}
google()
//mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven {
url "https://maven.aliyun.com/nexus/content/groups/public/"
}
google()
//mavenCentral()
}
}
替换好配置文件后,重新打开你的项目,看看有没有构建成功。可以先点击clean project,再进行rebuild,先让项目构建成功。
其中,最好把原项目的.gradlew与.idea文件删了,这个是自动生成的,且进行清除缓存,这样可以减少一些依赖冲突。
接着这样重新打开后应该是可以看到构建成功了。
构建不了,先慢慢检查以上步骤有没有做好,然后很有可能是setting没设置好url导致下载出错的问题,注意如果gradle构建过程过长(如等到熄屏了还没构建好)其实也是这里没找好。
接下来打开一个非常重要的配置文件,注意一下以上的文件配置是对整个项目进行操作的,项目构建完成后,进入到app里展开,找到app的build.gradle文件,进行修改。
首先是sdk的版本不要太高,让你的虚拟机能够正常运行。
然后就是依赖项,注意这里的导入依赖的版本很重要,如果你构建成功了却还打不开,很有可能就是这里的导包出现的版本问题(找了几天才找到😤),记得改好版本适应项目同时也要跟你的编译器版本适配。
要是不知道用什么版本,可以点击项目的Project Structure,找到dependencies查看,点击requested version会有提示,但一般提示的都是较新的版本,所以建议拿到项目后先把这里的重要包如androidx.xxx,这种包在之前的作业也有用到,可以看一下那些作业用的是什么版本(可以跑起来的版本),然后改一下。此外,Project Structure的project跟sdk location用来配置gradle与sdk,在你配置写好的情况下应该是跟你之前的作业项目是一致的。然后jdk的配置在setting找到,打开到buildtools即可。
当这些配置文件都处理好且你拿到的文件没有问题的情况下,应该是可以成功在你的虚拟机上launch了。要是运行缓慢或运行报错很有可能依赖配置没有弄好,再多检查一下项目的setting.gradle文件与app的build.gradle文件,记住每次修改都要进行同步gradle配置。
再如上述的,可以适当清一下缓存及重构,加油吧😇
重要的文件
在android项目最主要的就是其中的xml与java文件或kotlin文件了。对着app展开到src的main可以看到,点开java文件与res的layout布局文件即可。注意res的其它文件用于放其它资源如图片字符串等,最好都打开看一下。
大致会问的,枚举一下。
xml部分主要就是布局跟控件。
控件如button、textview、有用到recycleview就必须好好看这个,每个recycleview一般都会有个额外的item布局。
布局常用的有LinearLayout、RelativeLayout、FrameLayout等,每个布局的特点记一下。
java部分,最重要的就是activity。
一般每个activity都会绑定一个xml界面,用setcontentview加载。当然这是最简单的,当要用到里面的控件时就要用到viewholder或视图绑定viewbinding,然后再用getLayoutInflater获取到对应的视图调用,记好几个常用的方法如oncreate等。然后fragement便于复用,一些方法跟activity相似。
有用到recycleview的就会有个adapter适配器类,看怎样绑定到视图及视图组件的。
接着是数据存储方面,看准你的项目用的是键值对存储还是sqlite数据库存储,一般数据库存储都会有个db类,里面会有实体类跟数据库的增删改查数据。
然后,怎样传数据一定要知道,不同存储方式的方法不一样,大多是get跟set,包括activity中的intent意图的传递。
还有一些工具类有余力的可以多看一下。