First step 认识 Android Studio中的程序结构和资源

0 阅读4分钟

AndroidStudio的程序结构

一个应用程序可以有很多模块,就像这个世界有许许多多的国家。

其中在一个应用程序中有主要4个文件和文件夹比较常用,我叫它们为“四常”

  • app
  • build.gradle.kts
  • local.properties
  • settings.gradle.kts

一、app是程序的默认模块

image.png

如图所示

  • src/androidTest:存放构造调试的代码文件
  • src/main/java:存放程序的代码文件
  • src/main/res:存放程序的资源文件
  • app /build.gradle:构造app这个模块的自动化施工队

二、build.gradle.kts

对比app模块的,这个施工队是全局的施工队,app模块只是其中一个module。

三、local.properties

这个文件指定AndroidSDK路径,对于刚开始搭建环境非常关键,SDK和gradle这两个版本得配对才能正常运行程序。 SDK

四、settings.gradle

这个文件用于配置在程序中的子项目,英文称之为moudle

AndroidStudio中的资源

资源的配置一般有两条路,

  1. 用JAVA代码文件调用(引用一些方法之类)
  2. 用XML布局文件中调用或者设置

一、图片资源

图片资源包括扩展名为.jpg、.gif、.png等的文件,加粗的m是可变单位(h,x,xx,xxx 有点像衣服的尺码),dpi指的是图片密度

应用图标资源界面使用资源
存放在mipmap的文件夹存放在drawable的文件夹
mipmap_mdpidrawable_mdpi
(1)通过JAVA代码调用图片资源文件

在Activity中可用getResource().getDrawable()方法调用文件夹中的图片资源文件 getResource().getDrawable(R.mipmap.ic_launcher) getResource().getDrawable(R.drawable.icon)

(2)在XML布局文件中调用图片资源文件

@mipmap/ic_launcher @drawable/icon

二、主题和样式资源

主题和样式资源作用是界面元素定义显示风格,主题和样式资源就是基因,决定你长什么样的风格,黑人、白人、黄种人

主题和样式存放在红色框框中res/values/style.xml文件中

image.png

示例代码:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

在上述代码中标签用于定义主题,name指的是主题名称,parent指的是Android提供的父主题,item name指的是设置主题的样式 标签中可以包含很多个标签,同理标签也能够包含很多个标签

(1)通过XML文件中设置示例主题的代码
<application
             ......
             android:theme ="@style/AppTheme"
</application>
样式示例代码:
    <resoures>
        <style name="textViewStyle">
            <item name="android:layout_width">20dp</item>
            <item name="android:layout_height">20dp</item>
            <item name="android:background">#f54e39</item>
        </style>
    </resoures>
(2)在JAVA代码中设置示例主题的代码
 setTheme(R.style.Theme);

三、布局资源

res/layout文件夹中存放程序中所有的布局资源文件,这个布局资源文件的名称默认为activity_main.xml,当然也可以创造其他的布局资源,这取决于你。(布局也是一个重点,后续会补充文章)

(1)通过JAVA代码调用布局资源文件
setContentView(R.layout.activity_main)
(2)在XML布局文件中调用布局资源文件
<include layout="@layout/activity_main"/>

四、字符串资源

字符串资源使用频率很高,基本每一款应用都会利用上字符串,因此,为了更快更便利的利用字符串,我们会在目录res/values中的string.xml文件中定义字符串,这其实有点像字典,或者说扣帽子,绿帽子的是张三,那你在代码中调用张三,那么其实显示的是绿帽子,因为张三也只是个名称。

定义字符串示例代码:

 <resources>
     <string name="app_name">字符串</string>
</resources>
(1)通过JAVA代码调用字符串文件资源
getResources.getString(R.string.app_name);
(2)在XML布局文件中调用字符串文件资源
@string/app_name

五、颜色资源

同理也是先定义后调用,为什么需要定义这么多颜色资源呢?因为View控件中不够用,颜料板太少了。

定义颜色资源的示例代码:

<?xml version="1.0" encoding="utf-8">
<resources>
   <color name="colorPrimary">#3F51B5</color>
   <color name="colorPrimaryDark">#303F9F</color>
   <color name="colorAccent">#FF4081</color>
</resources>
(1)通过JAVA代码调用颜色文件资源
getResources.getColor(R.color.colorPrimary);
(2)在XML布局文件中调用颜色文件资源
@color/colorPrimary

六、尺寸资源

用于定义View控件的宽度、高度,大小,间距 尺寸资源一般定义在res/values/dimens.xml文件中 定义尺寸资源的示例代码如下: 16dp 16dp

(1)通过JAVA代码调用尺寸文件资源
getResources.getDimension(R.dimen.activity_horizontal_margin);
(2)在XML布局文件中调用尺寸文件资源
@dimen/activity_horizontal_margin

转眼就到结尾了,这些就是AndroidStudio的程序结构和资源,让我们来回顾一下吧。

  • 四常
  1. app,* *
  2. build.gradle,
  3. local.prop...,
  4. setting.gradle
  • 资源
  1. 图片
  2. 主题和样式
  3. 颜色
  4. 字符串
  5. 尺寸
  6. 布局

That's all.We will be the best.