Android开发帮助技巧(适用于入门)二

Android配置配置清单,Gradle构建文件,外部化资源部分。

(一)配置清单AndroidManifest.xml

use-permission和uses-feature和application属于同等级节点。

android:allowBackup

是否允许应用参与备份和恢复基础架构。如果将此属性设为 false,则永远不会为该应用执行备份或恢复,即使是采用全系统备份方法也不例外(这种备份方法通常会通过 adb 保存所有应用数据)。此属性的默认值为 true。 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cn.basicconstruction.example">
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-feature android:name="android.hardware.nfc" android:required="false"/>
    <application
        android:allowBackup="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.Example">
        <activity android:name=".MainActivity" android:launchMode="singleTask">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Act2">
        </activity>
    </application>
</manifest>

上面是一个AndroidManifest.xml文件,主要解释几个简单点。

allowBackup在程序编写阶段最好不要设置为true.设置为false是卸载app时,会删除掉App所使用的数据库,而对于数据库随着程序的更改时,会出现数据库异常。(数据库参数改变等)导致老旧数据库不匹配。事实上,除非为了公司编写app,这个选项设置为false是有好处的,可以在一定程度上节约手机空间。

activity节点。

应用的每个Activity都需要一个activity标签,并使用android:name属性来指示Activity的类名。如果尝试启动未包含在配置清单中的Activity,则会触发运行时异常。

启动模式

android:launchMode="singleTask"

这个属性指的是此Activity只会存在一个实例,在回退栈中只会有一个实例。

有关应如何启动 Activity 的指令。共有四种模式可与 Intent 对象中的 Activity 标记(FLAG_ACTIVITY_* 常量)协同工作,以确定在调用 Activity 处理 Intent 时应执行的操作。这些模式是:

standard
singleTop
singleTask
singleInstance

默认模式是“standard”。

用例启动模式多个实例?注释
大多数 Activity 的正常启动standard默认。系统始终会在目标任务中创建新的 Activity 实例,并向其传送 Intent。
singleTop视情况而定如果目标任务的顶部已存在 Activity 实例,则系统会通过调用该实例的 onNewIntent() 方法向其传送 Intent,而非创建新的 Activity 实例。
专用启动
(不建议在一般情况下使用)
singleTask系统会在新任务的根位置创建 Activity 并向其传送 Intent。不过,如果已存在 Activity 实例,则系统会调用该实例的 onNewIntent() 方法(而非创建新的 Activity 实例),向其传送 Intent。
singleInstance与“singleTask"”相同,只是系统不会将任何其他 Activity 启动到包含实例的任务中。该 Activity 始终是其任务中的唯一 Activity。

https://developer.android.com/guide/topics/manifest/activity-element

详情在上行链接

(二)Gradle 构建:暂无

(三)外部化资源

在所有情况下,资源文件名应该只包含小写字母,数字,句点(.)和下划线(_)符号。

1.简单值

支持的简单值包括字符串,颜色,尺寸,样式,布尔值或整数值,以及字符串数组或类型化数组。所有这些简单值都存储在res/values文件夹中的xml文件中。

在example.xml文件中可以包含不同类型的简单值,但是按照惯例,为了清醒且可读,每种类型的资源通常会存储在单独的文件中,例如res/values/strings.xml文件中就只包含字符串资源。

(1).字符串

res/values/strings.xml

<resources>
    <string name="app_name">Example</string>
    <string name="button">Button</string>
    <string name="exam1">\"hello world\\</string>
    <string name="exam2"><u>hello</u></string>
</resources>

如上图所示,字符串资源由strings标签指定。

如果需要使用,单引号,双引号和反斜杠,需要在前面加上一个反斜杠(\)表示转义。

Android支持简单的文本样式,因此可以使用HTML的<b>,<i>和<u>标签分别对文本字符串的某些部分应用粗体,斜体和下划线效果。

忽略:STring.format和定义复数形式,这些可以在代码中实现,而不必依赖于xml规则。

(2)颜色

colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="purple_200">#FFBB86FC</color>
    <color name="purple_500">#FF6200EE</color>
    <color name="purple_700">#FF3700B3</color>
    <color name="teal_200">#FF03DAC5</color>
    <color name="teal_700">#FF018786</color>
    <color name="black">#FF000000</color>
    <color name="white">#FFFFFFFF</color>
    <color name="t1">#abc</color>
    <color name="t2">#aabbcc</color>
    <color name="t3">#8abc</color>
    <color name="t4">#88aabbcc</color>
</resources>

可以使用color标签定义新的颜色资源,使用#符号后跟Alpha(可选)通道指定颜色值,然后使用一个或两个十六进制数字指定红色,绿色和蓝色值。

#rgb

#rrggbb

#argb

#aarrggbb

4,尺寸

尺寸通常在样式和布局资源中引用。它们对于定义布局值非常有用。

要指定尺寸资源,请使用dimen标签,指定尺寸值,后跟描述尺寸的单位。

dp(密度无关像素)

sp(可伸缩像素)

px(屏幕像素)

in(物理英寸)

pt(物理点)

mm(物理毫米)

尽管可以使用这些度量单位来定义尺寸,但最好还是使用dp和sp。这些选择允许使用相对比例来定义尺寸,这些比例考虑了不同的屏幕分辨率和密度,以简化在不同硬件上的缩放。

可伸缩像素在定义字体大小时特别合适,因为如果用户更改系统字体大小,他们会自动缩放。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="match_parent_widget_margin">16dp</dimen>
</resources>

(4)样式和主题(省略)

(5)使用资源

<1>在代码中使用资源

在应用中,可以使用静态R类访问代码中的资源。R是一个构建生成类,在构建项目时被创建。

R中的每个子类都将关联的资源公开为变量,变量名与资源标识符相匹配。

如R.id.xx   R.string.xx  R.mipmap.xx

忽略部分,以更快的向前出发。

<2>.在资源中引用资源

事实上,我们一般只会创建一个包,甚至我们也可以使得只使用一个包。

类似于

android:text="@strings/hello"

<3>.使用系统资源

<4>引用当前主题的颜色

<5>为不同的语言和硬件创建资源

可选()右击values,选择new resource file,在下面根据什么选择变体

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫叶kx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值