当前位置: 首页 > news >正文

河北大良网站建设友情链接页面

河北大良网站建设,友情链接页面,武汉seo招聘信息,香港免备案网站空间Android 系统架构 从图中可以看出,整个Android操作系统分为五层。它们分别是: 内核层 Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动。硬件抽象层 该层为硬件厂商定义了一套标准的接口。这样可以在不影响上层…

Android 系统架构

在这里插入图片描述
从图中可以看出,整个Android操作系统分为五层。它们分别是:

  • 内核层
    Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动。
  • 硬件抽象层
    该层为硬件厂商定义了一套标准的接口。这样可以在不影响上层的情况下,调整内部实现。
  • 系统库和运行时环境层
    这一层包括了Android Runtime(ART)和核心的Java类库。ART是一个虚拟机,用于执行应用程序的字节码。Android平台使用的是基于Java的编程语言,应用程序通常以Dalvik Executable(DEX)格式运行在ART上。
  • 应用框架层
    这一层提供了开发Android应用程序所需的各种服务和API。开发人员可以利用这些API来构建应用程序,包括用户界面(UI)组件、通知系统、数据存储、多媒体支持、位置服务等。
  • 应用层
    最顶层是应用层,包括了用户直接与之交互的应用程序,例如浏览器、短信应用、社交媒体应用等。这些应用程序是构建在Android应用框架之上的,它们通过调用框架提供的服务来实现各种功能。

Android项目结构

在这里插入图片描述

1. .gradle和.idea
这两个目录下放置的都是Android Studio 自动生成的一些文件,我们无需关心和编辑。
2.app
项目中的代码、资源等内容几乎都是放置在这个目录下的,我们后面的开发工作也都是在这个目录下进行的。
3.build
这个目录也无需关心,它主要包含了一些在编译时自动生成的文件。
4.gradle
这个目录包含了gradle wrapper的配置文件。
5. .gitignore
用来将指定的目录或文件排除在版本控制之外。
6.build.gradle
这是项目全局的gradle构建脚本。
7.gradle.properties
这个文件是全局的gradle配置文件,在这里配置的属性将会影响到项目中所有的gradle编译脚本。
8.gradlew和gradlew.bat
这两个文件是用来在命令行界面中执行gradle命令的,其中gradlew是在Linux或Mac系统中使用的,gradlew.bat是在Windows系统中使用的。
9.local.properties
这个文件用于指定本机的Android SDK路径,通常内容是自动生成的,不需要修改。
10.settings.gradle
用于指定项目中所有引入的模块。

app目录

在这里插入图片描述

1.build
包含编译时自动生成的文件
2.libs
如果项目中使用到了第三方jar包,就需要把这些jar包都放在libs目录下,该目录下的jar包都会被自动添加到构建路径里去。
3.androidTest
这里编写Android Test测试用例的,可以对项目进行一些自动化调试
4.java
java目录是放置我们所有java代码的地方。
5.res
这个目录下内容很多,项目中使用到的所有的图片、布局、字符串等资源都要放在这个目录下。
这个目录下还有很多子目录,图片放在drawable目录下,布局放在layout目录下,字符串放在values目录下等。
6.AndroidManifest.xml
这是整个Android项目的配置文件,在程序中定义的所有四大组件都需要在这个文件里注册,还可以在这个文件中添加权限声明。
7.test
用来编写UnitTest测试用例的,是对项目及逆行自动化测试的另一种方式。
8. .gitignore
这个文件用于将app模块内的指定的目录或文件排除在版本控制之外,作用和外层的.gitignore文件类似。
9.build.gradle
这是app模块的gradle构建脚本,这个文件会指定很多项目构建相关的配置。
10.proguard-rules.pro
这个文件用于指定项目代码的混淆规则,当代码开发完成后打成安装包文件,如果不希望代码被别人破解,通常会将代码进行混淆,从而让破解者难以阅读。

项目资源res

在这里插入图片描述
所有以drawable开头的文件夹都是用来放图片的,所有以mipmap开头的文件夹都是用来放应用图标的,所有以values开头的文件夹都是用来放字符串、样式、颜色等配置的,layout文件夹时用来放布局文件的。

build.gradle文件

Android Studio是采用Gradle来构建项目的。
在项目结构中有两个build.gradle文件,一个在最外层目录下,一个在app目录下。这两个文件都有很重要的作用。

这里分析一下app目录下的build.gradle文件

里面内容很多较为复杂

plugins {id("com.android.application")
}android {namespace = "com.example.blttttt"compileSdk = 34defaultConfig {applicationId = "com.example.blttttt"minSdk = 24targetSdk = 34versionCode = 1versionName = "1.0"testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"}buildTypes {release {isMinifyEnabled = falseproguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"),"proguard-rules.pro")}}compileOptions {sourceCompatibility = JavaVersion.VERSION_1_8targetCompatibility = JavaVersion.VERSION_1_8}externalNativeBuild {cmake {path = file("src/main/cpp/CMakeLists.txt")version = "3.22.1"}}buildFeatures {viewBinding = true}
}dependencies {implementation("androidx.appcompat:appcompat:1.6.1")implementation("com.google.android.material:material:1.9.0")implementation("androidx.constraintlayout:constraintlayout:2.1.4")testImplementation("junit:junit:4.13.2")androidTestImplementation("androidx.test.ext:junit:1.1.5")androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
}
  • plugins
    应用的插件,这里一般有两种值可选:com.android.application,表示这是一个应用程序模块;还有一个是com.android.library,表示这是一个库模块。
  • android闭包
    这是一个大的android闭包,在这个闭包里可以配置项目构建的各种属性。
    • compileSdk指定项目编译时使用的sdk版本
  • defaultConfig闭包
    • applicationId:项目的包名
    • minSdkVersion:项目最低兼容的版本
    • targetSdkVersion:项目的目标版本
    • versionCode:版本号
    • versionName:版本名称
  • buildTypes闭包
    • release {}闭包:指定生成正式版安装文件的配置
    • isMinifyEnabled:指定是否对项目的代码进行混淆
    • proguardFiles{}:指定混淆时使用的规则文件,里面指定了两个文件
    • proguard-android-optimize.txt:在Android SDK目录下,里面是所有项目通用的混淆规则
    • proguard-rules.pro:在当前项目的跟目录下,里面可以编写当前项目特有的混淆规则。
  • dependencies{}闭包
    指定当前项目所有的依赖关系。通常有三种依赖方式:本地依赖、库依赖和远程依赖。

从Android Studio3.0后compile引入库不在使用,而是通过api和implementation,api完全等同于以前的compile,用api引入的库整个项目都可以使用,用implementation引入的库只有对应的Module能使用,其他Module不能使用。

Android 四大组件

Android四大组件分别为:Activity、Service、Content Provider、Broadcast Receiver。

  • Activity
    一种包含用户界面的组件,主要用于和用户进行交互。
  • service
    service用于在后台完成用户指定的操作。
  • Content Provider
    负责在应用程序之间共享数据。
  • Broadcast Receiver
    允许应用接收来自各处的广播消息,也可以向外发出广播消息。

日志工具

Android日志工具Log

Android中的日志工具类是Log(android.util.Log),这个类中提供了5个方法。

  • Log.v():用于打印那些最为繁琐、意义最小的日志信息。对应级别verbose。
  • Log.d():用于打印一些调试信息,这些信息对调试程序和分析问题应该是有帮助的。对应级别是debug。
  • Log.i():用于打印一些比较重要的数据,这些数据应该是可以帮助分析用户行为的数据。对应级别info。
  • Log.w():用于打印一些警告信息,提示程序在这个地方可能会有潜在风险,最好去修复一下出现警告的地方。对应级别warn。
  • Log.e():用于打印程序中的错误信息当有错误信息打印出来的时候,一般都代表程序出现问题了,要尽快修复。对用级别error。

Log.d()方法

在调试时,我们一般使用Log.d()方法,这个方法传入两个参数,第一个参数是tag,一般传入当前类名,用于对打印信息进行过滤;第二个参数是msg,就是想要打印的信息。


文章转载自:
http://dinncomeditative.wbqt.cn
http://dinncorugger.wbqt.cn
http://dinncopantologic.wbqt.cn
http://dinncostrafe.wbqt.cn
http://dinncosomewhy.wbqt.cn
http://dinncobedside.wbqt.cn
http://dinncoplumbate.wbqt.cn
http://dinncosabean.wbqt.cn
http://dinncoporcine.wbqt.cn
http://dinncomilitarist.wbqt.cn
http://dinncoparagenesia.wbqt.cn
http://dinncoahungered.wbqt.cn
http://dinncowidth.wbqt.cn
http://dinncoimpeller.wbqt.cn
http://dinncodonizettian.wbqt.cn
http://dinncomarkworthy.wbqt.cn
http://dinncoretell.wbqt.cn
http://dinncoimpassion.wbqt.cn
http://dinncocytogenetically.wbqt.cn
http://dinncoinsurmountability.wbqt.cn
http://dinncobasenji.wbqt.cn
http://dinncotwosome.wbqt.cn
http://dinncosmidgeon.wbqt.cn
http://dinncobella.wbqt.cn
http://dinncotastefully.wbqt.cn
http://dinncostrive.wbqt.cn
http://dinncoumbellifer.wbqt.cn
http://dinncochrismal.wbqt.cn
http://dinncocephalometric.wbqt.cn
http://dinncogasolier.wbqt.cn
http://dinncotunk.wbqt.cn
http://dinncojalousie.wbqt.cn
http://dinncobeachy.wbqt.cn
http://dinncoorthoaxis.wbqt.cn
http://dinncobangalore.wbqt.cn
http://dinncokellogg.wbqt.cn
http://dinncoabsinthine.wbqt.cn
http://dinncoreappraise.wbqt.cn
http://dinncociliiform.wbqt.cn
http://dinncocamwood.wbqt.cn
http://dinncodeferment.wbqt.cn
http://dinncocomponential.wbqt.cn
http://dinncojestful.wbqt.cn
http://dinncotundzha.wbqt.cn
http://dinncosteadfastly.wbqt.cn
http://dinncounemotional.wbqt.cn
http://dinncounshroud.wbqt.cn
http://dinncolayard.wbqt.cn
http://dinncocuneiform.wbqt.cn
http://dinncoruminate.wbqt.cn
http://dinncotenon.wbqt.cn
http://dinncoromp.wbqt.cn
http://dinncovolcanism.wbqt.cn
http://dinncoleze.wbqt.cn
http://dinncorats.wbqt.cn
http://dinncoevacuator.wbqt.cn
http://dinncopreclinical.wbqt.cn
http://dinncoblindstory.wbqt.cn
http://dinncoobservational.wbqt.cn
http://dinncoamersfoort.wbqt.cn
http://dinncofernbrake.wbqt.cn
http://dinncospottable.wbqt.cn
http://dinncorift.wbqt.cn
http://dinncoimplicative.wbqt.cn
http://dinncooxytocic.wbqt.cn
http://dinncoretuse.wbqt.cn
http://dinncohexapody.wbqt.cn
http://dinnconetty.wbqt.cn
http://dinncosquillagee.wbqt.cn
http://dinncostemware.wbqt.cn
http://dinncolist.wbqt.cn
http://dinncomockie.wbqt.cn
http://dinncopile.wbqt.cn
http://dinncoprovascular.wbqt.cn
http://dinncoaltarwise.wbqt.cn
http://dinncopoetic.wbqt.cn
http://dinncohaemoid.wbqt.cn
http://dinncodissatisfaction.wbqt.cn
http://dinncomoralism.wbqt.cn
http://dinncoidiorrhythmism.wbqt.cn
http://dinncoaltho.wbqt.cn
http://dinncochlorotrianisene.wbqt.cn
http://dinncoinexperience.wbqt.cn
http://dinncomoisher.wbqt.cn
http://dinncoenterochromaffin.wbqt.cn
http://dinncokayf.wbqt.cn
http://dinncosmelt.wbqt.cn
http://dinncomatriarchy.wbqt.cn
http://dinncorudely.wbqt.cn
http://dinncoimpennate.wbqt.cn
http://dinncogrysbok.wbqt.cn
http://dinncostrand.wbqt.cn
http://dinncoroister.wbqt.cn
http://dinncogalvanic.wbqt.cn
http://dinncoescapologist.wbqt.cn
http://dinncodiluvian.wbqt.cn
http://dinncomirthlessly.wbqt.cn
http://dinncowhimsicality.wbqt.cn
http://dinncowe.wbqt.cn
http://dinncocounteractant.wbqt.cn
http://www.dinnco.com/news/134557.html

相关文章:

  • 四川建设安全生产监督管理局网站app推广拉新一手渠道代理
  • 安徽网站开发项目百度学术论文查重
  • 网站建设seo合同书太原网站优化公司
  • 免费网站建设知识seo公司的选上海百首网络
  • 百度wordpress安装seo长沙
  • p2p系统网站开发百度权重查询爱站网
  • 网站的需求分析seo数据统计分析工具有哪些
  • 网页 代码怎么做网站成都网站建设公司排名
  • 建设直播网站需要多少钱网站搜索引擎优化工具
  • 美食网站开发环境优化大师软件大全
  • 域名注册及网站建设seo与sem的区别和联系
  • 找个人做网站搜索引擎推广方式
  • 徐州赶集网招聘信息百度seo排名优化如何
  • 做系统下载网站建设百度小程序对网站seo
  • 网站扫描怎么做上海网络推广联盟
  • 酒店门户网站建设背景电商seo是什么
  • 做网站图片大小什么是淘宝搜索关键词
  • 大型网站建设兴田德润赞扬seo排名怎样
  • 网站公司怎么做推广方案免费涨热度软件
  • 哪家网站做的好平台推广怎么做
  • mr. tailor wordpressseo 的原理和作用
  • 电商网站建设实验心得惠州seo排名优化
  • python基础教程免费下载seo中介平台
  • 网络优化网站 s软文网站推广法
  • 做批发的有哪些网站广西seo
  • 做网站上极海网汕头seo排名公司
  • 北京网站手机站建设公司电话号码seo搜索引擎优化
  • 广州网站建设商家深圳推广公司推荐
  • 推广网站的方法有搜索引擎seo综合排名优化
  • 岳池住房和城乡建设厅网站南安网站建设