新建第一个Android项目以及项目下各包的作用
新建第一个Android项目
首先,打开我们的Android Studio,看到左上角有一个File,然后点击New
New Project
然后给我们的项目起个名字,我们姑且先给个ActivityLifeCycle,
然后是我们的公司名称Company Domain我们给了默认的名称administrator.example.com
往下是我们的包名
再往下就是我们的项目Location
好了,接下来就是我们的目标Android 设备和最低的SDK的选择,这里我们选择第一个Phone and Tablet,然后最低SDK,我们按照自己的需求来选择,如果我们希望我们的程序能在Android的项目跑得起来,可以选择更低的SDK.然后继续Next
再往下就是选择一种Activity加入到我们的APP中,在这里我们选择Blank Activity,如果我们可以还想知道其他Activity有什么不同,我们可以试着添加,这里就不一一讲解了。
选择给我们添加的Activity起一个名字,按照默认的MainActivity就好了
恭喜,恭喜,我们成功创建了第一个APP
点击以下按钮,并选择我们的设备,程序就会开始在我们手机创建了,在此过程可能会遇到我们的adb被占用,可能是可恶的酷狗的kadb.exe,也有可能是可恶的360的手机助手占用了,这里就不讲解决方法先了,大家可以用搜索引擎找找看,方法多如牛毛
跑起来,然后我们可以看到我们的手机里面多了一个我们亲手创建的APP,虽然这里面只有一个简单的Hello World的输出,可是这代表我们进入了Android的世界,我们种下了一个小树苗,慢慢会长出一个高大茂盛的大树
—————————–华丽的分割线—————————-
项目下各包的作用
创建了项目之后我们会发现我们的项目包含了这些文件夹,到底这些文件夹是用来干嘛的呢?我们一起来看看
1. src:存放所有的*.java源程序。
gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID。
assets:可以存放项目一些较大的资源文件,例如:图片、音乐、字体等。
res:可以存放项目中所有的资源文件,例如:图片(.png、.jpg)、文本等。
res\drawable-hdpi:保存高分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。
res\drawable-ldpi:保存低分辩率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。
res\drawable-mdpi:保存中等分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。
ldpi:240x320
mdpi:320x480
hdpi:480x800、480x854
xhdpi:至少960X720
xxhdpi:1280×720res\layout:存放所有的布局文件,主要是用于排列不同的显示组件,在Android程序中要读取此配置。
res\values: 存放一些资源文件的信息,用于读取文本资源,在本文件夹之中有一些约定的文件名称:
· arrays.xml:定义数组数据;
· colors.xml:定义表示颜色的数据;
· dimens.xml:定义尺度,可以使用Resources.getDimension()获得这些资源;
· strings.xml:定义字符串,可以使用Resources.getString()或Resources.getText()方法获得这些资源;
· styles.xml:定义显示的样式文件;
10.res\raw:自定义的一些原生文件所在目录,像音乐、视频等文件格式,Resources.getRawResource()方法可以获得这些资源。
res\xml:用户自定义的XML文件,所有的文件在程序运行时编译到应用程序之中,在程序运行时可以使用Resources.getXML()方法获取。
res\anim:用于定义动画对象;
bin:生成apk的文件夹。
说明:
drawable与layout立方的资源,项目会自动识别这些资源,然后会在R文件中对应每个资源文件生成一个id,你可以在代码中直接通过R.drawable.ID或者是R.layout.ID来调用这些资源。
2. asserts中的资源系统不会自动识别,需要你通过IO来自己读取,这里一般放置音频文件或者加密文件等系统无法识别的文件,当然你也可以把图片等放在这里,但是系统无法自动识别这些资源。 3. R类与资源文件关系说明 1). 静态类drawable类对应res文件夹中的drawable-hdpi、drawable-ldpi、drawable-mdpi三个文件夹,drawable类中每个整型的静态常量名与这三个文件夹中的图片资源文件相同(不含扩展名),这三个文件夹中相同文件名的资源对应同一个整型变量,Android系统会根据不同类型的屏幕分辨率,自动选取合适的图片资源。 2). 静态类layout类对应res文件夹中的layout文件夹,layout文件夹中的每个布局文件在layout类中都会有一个与文件名相同的整型静态变量。 3). 静态类string对应res/values文件夹中每个XML文件中的字符串资源,如上图中的strings.xml文件定义如下: