Android App开发之开发环境和开发基础

最近的一个认识:绝大多数程序员都不过是Api调用攻城狮。下面开始正文。

开发环境

本文安装环境是Mac,处理器是intel的。

下载开发工具

本文使用的开发工具是Android Studio Dolphin,可以在Android Studio官网的历史文档中找到下载地址和对应的下载包。

不成想安装后遇到意外退出的问题,查了好半天原因,也找chatgpt求助,仍然无果。最后还是在百度搜索下找到了解决办法:

  1. 删掉/Users/你的用户名/Library/LaunchAgents/jetbrains.vmoptions.plist
  2. 重启电脑
  3. 重新打开ok

原因简单来说就是因为我之前安装的版本和和现在要安装的版本有关配置不兼容。

下载Android的SDK

SDK全程是Software Development kit,即软件开发工具包,它将App的源码编译为可执行的App应用。

随着Android版本升级的更新换代,SDK也需要时常在线升级。SDK下载可以通过Android Studio的Tools->SDK Manager进入,并选择下载。

不知道window怎么样,Mac在安装过程中没有提示下载Android的SDK,或许是初始化创建完项目时下载的。

下载JDK

JDK全称Java Development kit,是java开发工具包。虽然Android开发需要java环境,但没要求计算机上必须事先安装JDK。而且Android Studio已经自带了JRE。

如果想切换JRE版本,可以选择打开FIle->Project Structure。通过图中切换java版本。

创建简单工程

创建项目在FIle->new位置。实际上大部分PC客户端软件都有相似之处,创建新项目或者新文件基本都在File菜单下。

创建过程按照要求填写即可。最后点Finish。

创建内置模拟器

这里我没有使用模拟器,而是直接连接用的自己华为手机。

创建内置模拟器可以在Tools->Device Manager开启。

开发基础

App的开发语言

基于安卓系统的App开发主要有两大技术路线,分别是原生开发和混合开发。

原生开发是指在移动平台利用官方的编程语言、开发工具包、开发环境进行App开发。

混合开发是结合原生与H5技术开发混合应用,也就是将部分App页面改为内嵌的网页。

单就原生开发而言,涉及多种编程语言,包括Java、Kotlin、C/C++、XML等。Java是Android开发的主要编程语言,Kotlin是目前官方推荐语言。C/C++用于复杂应用场景的开发。XML用来实现应用的布局,类似Web开发的html。

App连接的数据库

Android有专门的内置数据库SQLite,无需安装。

App的工程结构

其上app代表模块,默认就是app。其中有三个目录:build、libs和src。

当前只要知道src是源码就行了,哈哈哈。

还可以以app模块方式查看

manifests下的AndroidManifest.xml是App的运行配置文件。

java目录下面的第一个是源码,剩下的是测试代码。显然第一个重要。

res是存放当前模块的资源文件,分别是

  1. drawable存放图形描述文件与图文文件。
  2. layout存放App页面的布局文件。
  3. mipmap存放App的启动图标。
  4. values目录存放一些常量定义文件,例如字符串常量strings.xml、像素常量dimens.xml、颜色常量colors.xml、样式风格定义styles.xml等。

还有一个重要文件:编译配置文件build.gradle。

启动页面设置

想要设置为启动页面的Activity标签内,添加一个intent-filter标签。

intent-filter标签内,添加一个action标签,并设置其android:name属性为android.intent.action.MAIN

在同一个intent-filter标签内,添加一个category标签,并设置其android:name属性为android.intent.category.LAUNCHER

以下是一个例子

xml 复制代码
<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

跳转到新页面

启动页面java代码

java 复制代码
package com.example.helloa2;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    Button button; //xml文件定义的id

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

        button = findViewById(R.id.button);
        Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, MainActivity2.class);
                startActivity(intent);
            }
        });
    }
}

启动页面布局文件

xml 复制代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Go to Second Activity" />

</RelativeLayout>

跳转页面java

java 复制代码
package com.example.helloa2;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity2 extends AppCompatActivity {

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

跳转页面布局文件

xml 复制代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity2">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is Second Activity"
        android:layout_centerInParent="true"/>

</RelativeLayout>

总结

整体上本文主要是进行Android app开发的基础性工作,包括以下几点

  1. Android Studio的安装,以及SDK和JDK相关使用
  2. Android app相关开发语言有哪些:java、Kotlin、C/C++和xml
  3. Android app启动页面设置
  4. Android app页面之间跳转实现

(本文完)

相关推荐
li_liuliu8 分钟前
Android4.4 在系统中添加自己的System Service
android
C4rpeDime2 小时前
自建MD5解密平台-续
android
鲤籽鲲4 小时前
C# Random 随机数 全面解析
android·java·c#
m0_548514778 小时前
2024.12.10——攻防世界Web_php_include
android·前端·php
凤邪摩羯8 小时前
Android-性能优化-03-启动优化-启动耗时
android
凤邪摩羯8 小时前
Android-性能优化-02-内存优化-LeakCanary原理解析
android
喀什酱豆腐9 小时前
Handle
android
m0_7482329210 小时前
Android Https和WebView
android·网络协议·https
m0_7482517210 小时前
Android webview 打开本地H5项目(Cocos游戏以及Unity游戏)
android·游戏·unity
m0_7482546612 小时前
go官方日志库带色彩格式化
android·开发语言·golang