安卓的基础文件
2020-09-17 # 安卓

最近要为我的网站,做一个简单的Webview的安卓App,所以开始研究安卓开发。按照我的习惯,先要搞清楚其中所有文件的布局和作用。 题外话,发现这个视频也讲的不错,用AS开发简单App

首先新建一个空白的app,然后得到如下文件结构。把文件结构选在Android视图,结构会更加清晰。

新项目的视图

Androidmanifest 文件

是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)

我个人的理解就是整个安卓项目的配置,其中还定义了整个项目的入口类。安卓开发好像是叫activities,后来查了下资料才知道,activity大概就是指一个界面。所谓主activity就是,app一打开就现实的那个activity。

1
2
3
4
5
6
7
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

这段代码表示对MainActivity这个活动进行注册。没有在AndroidManifest里注册的活动是不能使用的。其中action的两段代码表示MainActivity是这个项目的主活动,在手机上点击app图标,首先加载这个活动。

还可以在其中加入,以下代码允许app能够访问网络。

1
<uses-permission android:name="android.permission.INTERNET" />

JAVA 文件夹

放置java代码的目录。一共有3个文件夹,除了项目java代码目录,还有一个test 和 android test文件夹。

res 文件夹

项目中的图片,布局,字符串等资源存放在这个目录下。此目录下子目录 drawable存放图片,layout存放布局,values存放字符串。Mipmaps早在Android2.2+就可以用了,但是直到4.3 google才强烈建议使用。把图片放到mipmaps可以提高系统渲染图片的速度,提高图片质量,减少GPU压力。
不知道还有没其他区别。

generatedJava 文件夹

系统自动生成的一个文件夹,不需要花特定的注意。

项目中的module概念

感觉就像是CI中的一个独立的application, gradle也会依照这个module来独立配置医疗关系。在Android Studio中一个Project代表一个项目空间,相当于Eclipse中的workspace,一个Module相当于Eclipse的project即一个Android应用。一个Project可以有好几个Module,也就是有好几个application。

所以build.gradle有2个。build.gradle(模块):定义模块特定的构建配置。build.gradle(项目):定义适用于所有模块的构建配置。此文件已集成到项目中,因此您应当在所有其他源代码的修订控制中保留这个文件。

先就这样吧,以后在补充。