【Android】Android开发笔记(一)

news2024/12/19 21:45:40

【Android】Android开发笔记(一)

  • 在Android Studio中import module和delete module
    • import module
    • delete module
  • Android Studio中App(Module)无法正常运行
  • 在实机上测试App
  • 一些基本概念
  • App的工程结构
  • 结语

在Android Studio中import module和delete module

import module

image1

delete module

选中任意一个module,选择Open Module Settings
image2
选择想要删除的module,点击Remove Module
image3

Android Studio中App(Module)无法正常运行

测试某个Module时,正常Run 'module’是绿色可点击的
Image4
点击Sync Project with Gradle Files解决
在这里插入图片描述

在实机上测试App

  1. 通过数据线连接测试机和开发电脑,连接方式选择传输文件
  2. 测试机调整至开发者模式,选择USB调试

一些基本概念

  1. SDK:全称为software development kit,即软件开发包。Android SDK可将App源码编译为可执行的App应用。注意Android SDK不等于Android的编译工具,Android SDK包含Android的编译工具。可通过Android Studio管理下载安装的Android SDK。
    6

  2. Android开发可使用JavaKotlin语言,可通过Android Studio修改Java代码的兼容版本
    7
    8

  3. JNI:全称为Java Native Interface,即Java原生接口。Android的开发可借助JNI使Java代码被允许调用C/C++编写的程序。Android的SDK开发包内部定义了许多JNI,包括图像读写在内的底层代码均由C/C++编写,再由外部通过封装好的Java方法调用。

  4. Android内置数据库SQLite,客户端和服务端之间通过HTTP接口(Java Web服务等)通信进行数据交互。(图片来自《Android Studio开发实战》)

    客户端和服务端间为多对一架构
    在这里插入图片描述

App的工程结构

App工程分为两个层次:项目(Project)和模块(Module)。一般所言的“编译运行App”,指的是运行某个模块,而非运行某个项目,即模块对应实际的App
11

  • app等:模块
    • manifests:
      • AndroidManifest.xml:App的运行配置文件
    • java:Java源码和测试用的Java代码
      • MainActivity.java:Java源码
    • res:当前模块的资源文件
      • drawable:存放图形描述文件与图片文件
      • layout:存放App页面的布局文件(activity_main.xml
      • mipmap:存放App的启动图标
      • values:存放一些常量定义文件
  • Gradle Scripts:工程的编译配置文件
    • build.gradle:分项目级和模块级两种,用于描述App工程的编译规则
    • proguard-rules.pro:描述Java代码的混淆规则
    • gradle.properties:用于配制编译工程的命令行参数
    • settings.gradle:配制了需要编译哪些模块
    • local.properties:项目的本地配置文件

在settings.gradle中修改阿里云仓库地址:
原始代码:

pluginManagement {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}

添加后代码:

pluginManagement {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
        maven { url 'https://maven.aliyun.com/repository/jcenter'}
        maven { url 'https://maven.aliyun.com/repository/google'}
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin'}
        maven { url 'https://maven.aliyun.com/repository/public'}
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url 'https://maven.aliyun.com/repository/jcenter'}
        maven { url 'https://maven.aliyun.com/repository/google'}
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin'}
        maven { url 'https://maven.aliyun.com/repository/public'}
    }
}

注意每个版本的Android Studio都有对应的Gradle版本,两者版本对应正确,App才能编译成功。可通过Android Studio修改Gradle版本:
12

结语

如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。
如果我的文章对您有帮助,转载请注明出处。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/371585.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode Solutions - Part 2

1. Two Sum 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按…

7-vue-1

谈谈你对MVVM的理解 为什么要有这些模式,目的:职责划分、分层(将Model层、View层进行分类)借鉴后端思想,对于前端而已,就是如何将数据同步到页面上 MVC模式 代表:Backbone underscore jquer…

【DIY Arduino基于RC气垫船】

在本教程中,我们将学习如何构建基于 Arduino 的 RC 气垫船。我将向您展示构建它的整个过程,从设计和3D打印气垫船部件(包括螺旋桨)开始,到连接电子元件和对Arduino进行编程。 您可以观看以下视频或阅读下面的书面教程。 视频地址:https://www.youtube.com/watch?v=2XIG…

二叉平衡树(C++)

背景: 二叉平衡树,就是根据二叉搜索树进行优化,让其速度更加的快,如果读者没有学过二叉搜索树,可以前往以下链接查看资料:http://t.csdn.cn/cCDQDhttp://t.csdn.cn/cCDQD 二叉搜索树的缺陷: 在…

【Spark分布式内存计算框架——Spark Streaming】1. Streaming 概述(上)Streaming 应用场景、Lambda 架构

前言 在很多实时数据处理的场景中,都需要用到流式处理(Stream Process)框架,Spark也包含了两个完整的流式处理框架Spark Streaming和Structured Streaming(Spark 2.0出现),先阐述流式处理框架&…

Linux--TCP编程--0216 17

观前提示:本篇博文的一些接口需要前几篇博文实现的 线程池的实现Liunx--线程池的实现--0208 09_Gosolo!的博客-CSDN博客 线程池的单例模式Linux--线程安全的单例模式--自旋锁--0211_Gosolo!的博客-CSDN博客 1.TCP编程需要用的接口 创建 sock…

【数据挖掘】EDA——以2022雪浪算力开发者大赛数据为例

作者简介:重庆大学22级研一,研究方向:时空数据挖掘、图神经网络。目前正在学习大数据、数据挖掘等相关知识,希望毕业后能找到数据相关岗位。 前言 之前写了一个比赛复盘(【竞赛复盘】2022雪浪算力开发者大赛——阀体异…

Python脚本之准备测试环境的用户数据

本文为博主原创,未经授权,严禁转载及使用。 本文链接:https://blog.csdn.net/zyooooxie/article/details/127645678 这期是讲述下 我准备测试环境用户数据的经历。 【实际这篇博客推迟发布N个月】 个人博客:https://blog.csdn.…

【读书笔记】《深入浅出数据分析》第三章 寻找最大值

目录 一,Excel却是最基础、最高频、最有机会展示的一款数据分析工具二,作为数据工作者,实际工作中,不管用不用的上,至少到达会的水准1,常用函数2,透视表3,可视化4,数据分…

【RabbitMQ笔记04】消息队列RabbitMQ七种模式之发布订阅模式(Publish/Subscribe)

这篇文章,主要介绍消息队列RabbitMQ七种模式之发布订阅模式(Publish/Subscribe)。 目录 一、发布订阅模式 1.1、Exchange交换机 (1)什么是Exchange交换机呢??? (2&am…

数据结构与算法----问答2023

1、什么是哈希表?如何解决碰撞? 哈希表(Hash Table),也称为散列表,是一种用于实现字典(键值对)数据结构的数据结构。它将键映射到哈希表中的一个索引(桶)来保…

从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口)

一、iftop是什么iftop是类似于top的实时流量监控工具。作用&#xff1a;监控网卡的实时流量&#xff08;可以指定网段&#xff09;、反向解析IP、显示端口信息等官网&#xff1a;http://www.ex-parrot.com/~pdw/iftop/二、界面说明>代表发送数据&#xff0c;< 代表接收数…

DHCP服务器的使用以及可能出现的问题(图文详细版)

DHCP服务的使用 开始&#xff0d;管理工具&#xff0d;DHCP,打开DHCP服务器选项窗口 新建作用域 在此处输入名称和描述,单击下一步 随机确定一组IP地址的范围,并指定其子网掩码 , 单击下一步 若想要排除某一个/组特定的IP地址,我们可以在此界面输入该IP地址,若没有,则可…

CTFHub | 前端验证

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习&#xff0c;实训平台。提供优质的赛事及学习服务&#xff0c;拥有完善的题目环境及配套 writeup &#xff0c;降低 CTF 学习入门门槛&#xff0c;快速帮助选手成长&#xff0c;跟随主流比赛潮流。 0x01 题目描述…

django项目部署(腾讯云服务器centos)

基本步骤&#xff1a; 购买腾讯云服务器并配配置好 >> 本地项目依赖收集准备 >> 上传项目等文件到服务器 >> 服务器安装部署软件和python环境 >> 开始部署&#xff08;全局来看就这5个步骤&#xff09; 目录 目录 1. 购买腾讯云服务器并配配置好 …

【算法设计技巧】分治算法

分治算法 用于设计算法的另一种常用技巧为分治算法(divide and conquer)。分治算法由两部分组成&#xff1a; 分(divide)&#xff1a;递归解决较小的问题(当然&#xff0c;基准情况除外)治(conquer)&#xff1a;然后&#xff0c;从子问题的解构建原问题的解。 传统上&#x…

升级日记本-课后程序(JAVA基础案例教程-黑马程序员编著-第七章-课后作业)

【实验7-4】 升级版日记本 【任务介绍】 1.任务描述 本案例要求编写一个模拟日记本的程序&#xff0c;通过在控制台输入指令&#xff0c;实现在本地新建日记本、打开日记本和修改日记本等功能。 用户输入指令1代表“新建日记本”&#xff0c;可以从控制台获取用户输入的日记…

物联网MQTT协议简单介绍

物联网曾被认为是继计算机、互联网之后&#xff0c;信息技术行业的第三次浪潮。随着基础通讯设施的不断完善&#xff0c;尤其是 5G 的出现&#xff0c;进一步降低了万物互联的门槛和成本。物联网本身也是 AI 和区块链应用很好的落地场景之一&#xff0c;各大云服务商也在纷纷上…

mysql8.0-日志

目录 错误日志 错误日志主要记录如下几种日志&#xff1a; 查询日志 测试 慢查询日志 二进制日志 日志格式 日志查看 修改日志格式 二进制日志的删除 二进制日志的还原 错误日志 错误日志是MySQL中最重要的日志之一&#xff0c;它记录了当mysql启动和停止时&#xff0c;…

【Python基础】类

面向对象编程 面向对象编程是最有效的软件编写方法之一。面向对象是一种对现实世界理解和抽象的方法&#xff0c;是计算机编程技术发展到一定阶段后的产物。 面向对象和面向过程的区别 比如我想吃西红柿炒蛋&#xff0c;怎么运用面向过程的方法来解决这个问题呢&#xff1f;…