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

安卓基础001

前言

也是好久没有更新博客了,最近实习也是需要学习一些知识哈哈哈哈哈哈为了更好的发展嘛,咱们从客户端开始,过程可能有点像写前端,不喜勿喷,希望在学习的过程中也可以给大家带来一些简单得帮助吧.......

tips:这里跳过安卓studio安装,大家可自行寻找教程

写的不详细,只是为了记录学习,不喜勿喷

1.日志

咱们先简单介绍一下自带的日志功能吧,我们在Activity文件中只需要使用Log.就可以使用对应的日志功能,日志一般有五种,是用的logcat工具进行打印

我们也可以使用tag来进行过滤,但是在新的安卓studio中过滤会比较麻烦,有以下几个参数,类似这样

我们可以通过这样的方式过滤日志

我们可以在不同的动作或者方法中添加日志来更好的调试

同样的这里的日志和之前一样是有等级的

筛选等级低的会显示更多的日志信息

我们可以看到比他更高级的日志也会显示出来

2.安卓项目结构

同样的,我们在了解一个项目之前,我们得知道所有的文件都是做什么的,先粗略的了解一下,有助于我们以后更好的学习技术.

首先我们将视图转换成project,这样可以看到全部的文件

tips:每次打包的是module而不是整个project,这里我们先介绍project的参数

一眼看上去可能会有点乱,一个项目主要分为app和gradle的文件

gradle就类似于maven,是一个管理依赖,自动打包编译上传的工具

我们先画个图,这样更好理解

先介绍app也就是安卓的文件

主要分为manifests,java和res文件夹

manifests主要是一些清单文件

下面只有一个xml文件,即为AndroidManifests.xml,这里主要是运行的配置文件

java文件夹下主要是写业务逻辑的,下面有三个子目录,主要是存放当前模块的源代码

res目录

这里主要是当前模块的资源文件

drawable目录下存放的是图形描述文件和图片文件

layout主要是一些布局文件

mipmap下主要是存放一些app的启动图标,比如微信,安卓图标等...

注:这里的图是矢量图,任意改变大小也不会失真

values文件主要存放一些常量,比如字符串常量,颜色常量等等xml文件

下面我们来说gradle的配置

1.build.gradle   用来配置需要的依赖文件,项目有一个,模块也有一个,项目设置是全局的,module设置是局部的配置文件

2.proguard-rules.pro 用于描述java代码的混淆规则,避免拿到代码反编译出来就可以直接进行一些破解操作

3.gradle.properties  这个文件配置了编译工程的命令行参数,一般我们不需要修改

4.setting.gradle  配置了需要编译哪些模块,一般如果我们新加一个模块就得在里面新增引入编译,删除也得删除避免编译这个模块

5.local.properties    本地配置文件,一般写了SDK NDK等的路径

3.第一个页面

介绍完文件用来做什么的,下面我们就可以来写第一个hello world 页面了

一个页面需要发布运行我们需要改变几个位置的代码

1.首先我们需要一个布局的xml文件,我们选择一个最简单的布局

这里面我只放了一个view字段,字段我希望在activity中书写

下面我们写activity里面的代码

这里你可能有很多不明白,我们后面慢慢说,其实参数的设置无论在xml文件中写或是在java文件中写都可以

3.注意在这之前我们还需要修改清单文件的代码,加上这个布局

这样一个简单得布局就可以被发布运行了

4.页面之前的跳转

这里我们写两个页面之间的相互跳转

首先我们需要做三步

1.xml

2.activity

3.注册manifest

两者之间的跳转我们只需要在activity中获取按钮,写一个监听点击事件的意图即可

5.设置字体大小

设置字体大小主要可以通过两种方式来实现

第一种是使用activity中代码的方式实现

第二种事通过xml中直接设置

主要单位如下

6.设置颜色

同样有两种方式

需要注意的是,在xml中默认透明度是不透明,在代码中默认是透明的

常用颜色如下

7.设置视图宽高

 我们也有两种方式设置比如一个textview的宽高

基本上设置的选项有以下几种

举例如下

这里还有设置了一个上部分的外边距

代码的方式可以这样操作,虽然不常用


http://www.mrgr.cn/news/59337.html

相关文章:

  • 【SpringCloud】06-Sentinel
  • 【HTML】之form表单元素详解
  • Promise、async、await 、异步生成器的错误处理方案
  • 【MySQL】提高篇—视图与存储过程:使用触发器(Triggers)进行自动化操作
  • 数据结构(8.4_1)——简单选择排序
  • 低空经济产业链、政策、延伸品调研笔记
  • HarmonyOS NEXT初级案例:网络数据请求
  • uni-app应用级生命周期和页面级生命周期
  • 动态IP是什么?
  • Qt Creator中的项目栏
  • 说说SQL调优
  • 软考系统分析师知识点二四:错题集11-20
  • 【FreeRL】TD3和SAC的实现
  • libharu 中文问题
  • 君正 T31 型号芯片架构模块介绍
  • 在平面模型上提取凹多边形的点云处理
  • 【Canvas与桌面】文山甲密铺桌面壁纸 1920*1080
  • 编写一个简单的Iinput_dev框架
  • 量子变分算法 (python qiskit)
  • 《Contrastive Language-Image Pre-Training with Knowledge Graphs》中文校对版
  • 基于JAVA+SpringBoot+Vue的华府便利店信息管理系统
  • 最新PHP网盘搜索引擎系统源码 附教程
  • 个体化神经调控 Neurolnavigation介绍
  • 基于SSM“多鱼”旧物交易平台的设计与实现
  • shodan2:绕过shodan高级会员限制+metasploit批量验证漏洞
  • Python浪漫之画一个圆月亮