安卓开发第二弹_第一个安卓项目及其讲解

1创建空活动

create a new project,选择empty activity
在这里插入图片描述
修改相关信息
在这里插入图片描述
出现问题
在这里插入图片描述
点击use…那些蓝字,自动下载
在这里插入图片描述
完成的样子
在这里插入图片描述

2启动模拟器

点击ADV manager,可以看到已经创建了一部虚拟手机
在这里插入图片描述
点击绿色运行按钮,可以安装
在这里插入图片描述
完成之后手机就出来啦
在这里插入图片描述

3运行程序

点击绿色的三角形,运行程序
在这里插入图片描述

3.1模拟器上运行

设备选择成虚拟设备,运行效果如下
在这里插入图片描述

3.2手机上运行

在实际手机上运行首先要开启通过进入开发者模式,启用usb调试
在这里插入图片描述
选择设备,运行即可
在这里插入图片描述

4代码的简单讲解

4.1 整个项目的基本介绍

将目录切换成project形式,如下
在这里插入图片描述
其中大部分都是自动生成的,我们重点关注app目录

4.2 app文件夹的介绍

app的文件树如下:
在这里插入图片描述

目录作用
build自动生成的,不用过分关心
libs使用第三方的jar库,添加到这里面,会自动添加到构建路径
androidTest测试用例,做一些自动化测试
main主要文件在里面,后面再介绍
test也是用来做一些自动化测试
build.gradle构建脚本,项目的很多配置都在里面指定

4.3 main文件夹相关介绍

main的主要内容如下
在这里插入图片描述

目录作用
java放置java代码的地方,创建的主活动在其中
res相关的资源堵在这个目录下
AndroidManifest.xml整个项目的配置文件,定义的四大组件都需要在这个文件里面注册 ,同时进行 权限声明

4.4 res文件夹讲解

res文件树如下
在这里插入图片描述

文件夹作用
drawable图片文件
layout布局文件
mipmap图标文件,有不同的分辨率,一般放在xxhdpi
values字符串,颜色,样式的配置

例如字符串,srtring.xml

<resources>
    <string name="app_name">Project1</string>
</resources>

在代码中可以通过R.string.app_name
在xml中可以通过"@string/app_name"调用.

4.5 具体代码讲解

4.5.1 AndroidManifest.xml|

其中关键代码如下:

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

intent-filter两行代码表明,MainActivity是主活动,在程序启动时进入该活动

4.5.2 主活动代码

主要代码如下

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

oncreate()是活动创建时执行的函数,必须有,而安卓开发讲究逻辑与视图分离,在布局文件中,编写布局,然后在活动文件中引入。在oncreate()方法中使用setcontentview(),引入布局文件。

4.5.3 布局文件

布局文件如下,定义了控件,有文本的内容,以及位置和大小的设置。
在这里插入图片描述

4.5.4 build.gradle文件的详解

1.外层的build.gradle
关键代码如下

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.1.2"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

主要声明了gradle插件的版本信息,一般情况下不需要修改,除非做一些全局项目配置。
2.内层的build.gradle

plugins存在两种选择,application和library,前者可以直接运行,后者只能作为代码库依托于别的应用程序模块执行。

plugins {
    id 'com.android.application'
}

android闭包

  • defaultconfig
    applicationid是包名,targetsdkversion指定的值表明你在该目标版本做过充分的测试。versioncode和versionname指定版本,生成安装文件很重要。
  • debug是对测试版本的配置,release是对正式版本的配置,先pass吧
android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"
    defaultConfig {
        applicationId "com.example.project1"
        minSdkVersion 16
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies,指定当前项目的所有依赖关系(本地依赖,库依赖,远程依赖)。

dependencies {
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'com.google.android.material:material:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

这个出现了版本更新,依赖添加以后要注意!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值