当前位置: 首页 > 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的宽高

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

举例如下

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

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

相关文章:

安卓基础001

前言 也是好久没有更新博客了,最近实习也是需要学习一些知识哈哈哈哈哈哈为了更好的发展嘛,咱们从客户端开始,过程可能有点像写前端,不喜勿喷,希望在学习的过程中也可以给大家带来一些简单得帮助吧....... tips:这里跳过安卓studio安装,大家可自行寻找教程 写的不详细,只是为了…...

shodan2:绕过shodan高级会员限制+metasploit批量验证漏洞

shodan2 shodanmetasploit批量验证漏洞 shodan的这个指令语法是特别多的,那么我不可能说一个个全部讲完,因为有的参数可能你一辈子都用不上,主要就是把一些红队最常用的参数给你讲完,今天我们看看怎么去查一个cve-2019-0708的一…...

【JAVA毕业设计】基于Vue和SpringBoot的母婴商城系统

本文项目编号 T 030 ,文末自助获取源码 \color{red}{T030,文末自助获取源码} T030,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…...

探索Python安全字符串处理的奥秘:MarkupSafe库揭秘

文章目录 探索Python安全字符串处理的奥秘:MarkupSafe库揭秘第一部分:背景介绍第二部分:MarkupSafe是什么?第三部分:如何安装MarkupSafe?第四部分:MarkupSafe的简单使用方法1. 使用escape函数2.…...

Xcode真机运行正常,打包报错

1.问题: 老项目Xcode真机运行没问题,但但打包的时候却报了以下错误: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/4ff29661-3588-11ef-9513-e2437461156c/Library/Caches/com.apple.xbs/Sources/r…...

Android Audio基础——音频混音线程介绍(十)

MixerThread 是 Android 音频输出的核心部分,主要负责将多个音频流混合成一个输出流,通常用于处理多个音频源(如音乐播放器、语音通话、系统提示音等)的混音操作,混音后的音频数据会被发送到音频硬件(如扬声器或耳机)进行最终输出。大多数 Android 的音频都需要经过 Mix…...

【Excel】函数各类公式总结

在 Excel 中,有许多常用的公式和函数用于各种类型的计算,包括基本的数学运算、统计运算、逻辑判断、查找与引用、文本处理,以及复数计算。下面列出了一些常用的 Excel 函数: 1、数学与三角函数 SUM求和函数,计算一组…...

【入门篇】2.9 系统滴答定时器 SysTick

目录 一,SysTick 系统滴答定时器 二,SysTick寄存器 2.1 SysTick 控制和状态寄存器(CTRL) 2.2 SysTick 重装载数值寄存器(LOAD) 2.3. SysTick 当前值寄存器(VAL) 2.4 SysTick 校准值寄存器(CALIB) 三,使用SysTick定时器 四,用法示例 一,SysTick 系统滴答定时…...

BiRefNet:颠覆图像分割,AI黑科技再升级

BiRefNet:颠覆图像分割,AI黑科技再升级 BiRefNet 是一款超强的图像分割 AI 模型,精准度惊人✨,适用于医疗、农业、工业等多个领域🌍,让图像处理变得简单高效!快来体验这款黑科技吧!…...

编写一个简单的Iinput_dev框架

往期内容 本专栏往期内容: input子系统的框架和重要数据结构详解-CSDN博客input device和input handler的注册以及匹配过程解析-CSDN博客input device和input handler的注册以及匹配过程解析-CSDN博客 I2C子系统专栏: 专栏地址:IIC子系统_憧憬…...

ctfshow的sql注入解题思路171-211

ctfshow-SQL注入 web171:爆库名->爆表名->爆字段名->爆字段值 -1 union select 1,database() ,3 -- //返回数据库名 -1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema库名 -- //获取数据库里的表名 -…...

深入理解C语言中的静态库与动态库 —— 原理与实践

引言 在 C 语言编程中,库是预编译的代码集合,用于实现特定功能,以供其他程序使用。库可以分为静态库和动态库两种主要类型。静态库在编译阶段被链接到目标程序中,而动态库则是在运行时被加载。本文旨在深入探讨这两种库的工作原理…...

本地缓存库分析(一):golang-lru

文章目录 本地缓存概览golang-lru标准lrulru的操作PutGet 2q:冷热分离lruPutGet expirable_lru:支持过期时间的lruPutGet过期 总结 本地缓存概览 在业务中,一般会将极高频访问的数据缓存到本地。以减少网络IO的开销,下游服务的压…...

qt配置https请求

qt应用版本 windows 32位 先说下心理路程,你能遇到的我都遇到了,你能想到的我都想到了,怎么解决看这一篇就够了,从上午12点到晚上12点几乎没离开电脑(除了吃饭),对于openssl这种用的时候无感&am…...

C语言进阶——文件操作

一、文件的基本知识 1.1什么是文件 在程序设计中,一般谈的文件有两种:程序文件、数据文件。 程序文件:包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执…...

MYSQL-查看用户权限语法(二十一)

13.7.5.21 SHOW GRANTS 语句 SHOW GRANTS [FOR user]此语句以GRANT语句的形式显示分配给MySQL用户帐户的权限,必须执行GRANT语句才能复制权限分配。 注意 要显示MySQL帐户的非特权信息,请使用SHOW CREATE USER语句。 参见第 13.7.5.12 节“ SHOW CREA…...

在MySQL中存储IP地址的最佳实践

文章目录 一、IP地址的格式二、存储IP地址的数据类型选择1. VARCHAR优点缺点 2. INT 或 BIGINT优点缺点示例 3. VARBINARY优点缺点示例 三、最佳实践建议1. 选择合适的数据类型2. 索引优化3. 数据验证4. 安全性考虑 四、Java支持五、结论 在现代网络应用中,IP地址是…...

Vite打包配置

Vite打包配置 1.项目启动自动打开网页 {"scripts": {"dev": "vite --open"} }2.base配置打包公共路径 配置base选项的作用主要是指定项目在开发或生产环境中的公共基础路径。这个配置项对于确保资源能够正确加载尤为关键,尤其是在…...

node集成redis (教学)

文章目录 前言一、安装redis二、可视化界面测试连接1.vscode安装插件 三、node代码编写1.先安装两个库(redis和ioredis)2.测试连接 (前提是你的redis服务器要启动起来) 总结 前言 在Node.js中集成ioredis是一个常见的做法&#x…...

江协科技STM32学习- P22 实验-ADC单通道/ADC多通道

🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​…...

RL学习笔记-马尔可夫过程

参考资料:蘑菇书、周博磊老师课程 在强化学习中,智能体与环境交互是通过马尔可夫决策过程来表示的,因此马尔可夫决策过程是强化学习的基本框架。 马尔可夫性质 指一个随机过程在给定现在状态及所有过去状态情况下,其未来状态的条件…...

LeetCode Hot 100:动态规划

LeetCode Hot 100&#xff1a;动态规划 70. 爬楼梯 class Solution { public:int climbStairs(int n) {if (n 0)return 0;vector<int> dp(n 1);// 初始化dp[0] 1;// 状态转移for (int i 1; i < n; i) {dp[i] dp[i - 1];if (i > 2)dp[i] dp[i - 2];}return …...

使用Python制作雪景图片教程

如果你想用Python写一个程序来输出有关“深夜雪”的诗意文本或描述&#xff0c;可以通过简单的字符串输出来实现。以下是一个示例代码&#xff0c;展示如何用Python来描绘深夜雪的场景。 # 定义深夜雪的描述 description """ 夜幕降临&#xff0c;天空洒下银色…...

S-Function

目录 S-Function介绍 生成S-Function的三种常用手段 使用手写S-函数合并定制代码 使用S-Function Builder块合并定制代码 使用代码继承工具合并定制代码 S-Function介绍 我们可以使用S-Function扩展Simulink对仿真和代码生成的支持。例如&#xff0c;可以使用它们&#xf…...

如何具备阅读JAVA JDK虚拟机源码能力

源码位置https://github.com/openjdk/jdk 核心实现源码[部分截图] /* * Copyright (c) 1995, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistr…...

Python | Leetcode Python题解之第514题自由之路

题目&#xff1a; 题解&#xff1a; Test "godding" target "d"i 0left i lc 0 right i rc 0while Test[left] ! target:left - 1lc 1if left -1:left len(Test) - 1while Test[right] ! target:right 1rc 1if right len(Test):right 0prin…...

Docker 镜像下载问题及解决办法

Docker 镜像下载问题及解决办法 我在杂乱的、破旧的村庄寂寞地走过漫长的雨季&#xff0c;将我年少的眼光从晦暗的日子里打捞出来的是一棵棵开花的树&#xff0c;它们以一串串卓然不俗的花擦明了我的眼睛&#xff0c;也洗净了我的灵魂。 引言 在使用 Docker 时&#xff0c;用户…...

2分钟搞定 HarmonyOs Next创建模拟器

官方文档参考链接&#xff1a; 创建模拟器-管理模拟器-使用模拟器运行应用/服务-应用/服务运行-DevEco Studio - 华为HarmonyOS开发者https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-emulator-create-V5 1. 首先打开Device Manager 2. 进入这个界面后…...

方形件排样优化与订单组批问题探析

方形件排样优化与订单组批问题是计算复杂度很高的组合优化问题&#xff0c;在工业工程中有很广泛的应用背景。为实现个性化定制生产模式&#xff0c;企业会选择订单组批的方式&#xff0c;继而通过排样优化实现批量切割&#xff0c;加工完成后再按照不同客户需求进行分拣&#…...

vue3组件通信--自定义事件

自定义事件是典型的子传父的方法。 为什么叫自定义事件呢&#xff1f;是因为我们用sendToy"getToy"这种格式写&#xff0c;很显然&#xff0c;在DOM中&#xff0c;没有叫sendToy的事件。 父组件FatherComponent.vue: <script setup> import ChildComponent fr…...

用自己的身份做网站备案/培训网络营销的机构

Silverlight 4 七转载于:https://www.cnblogs.com/doubleyan/archive/2010/06/30/2164727.html...

wordpress 多站点 合集/推广网站的方法有哪些

模板介绍 精美PPT模板设计&#xff0c;深红色组织结构图表合集PPT模板。一套可视图表幻灯片模板&#xff0c;内含红色多种配色&#xff0c;精美风格设计&#xff0c;动态播放效果&#xff0c;精美实用。 一份设计精美的PPT模板&#xff0c;可以让你在汇报演讲时脱颖而出。 希…...

河北品牌网站建设/长沙网站优化排名推广

***********************************************声明********************************************** 原创作品&#xff0c;出自 “深蓝的blog” 博客&#xff0c;欢迎转载&#xff0c;转载时请务必注明出处&#xff0c;否则追究版权法律责任。 表述有错误之处&#xff0c;…...

用wordpress仿一个网站模板下载/站长工具亚洲

在上篇博客中说到有两种方式启动进程&#xff0c;其中一种就是点击Launcher界面&#xff0c;在点击Launcher最后也会调用Activity的startActivity方法&#xff0c;但是在Launcher中会调用如下代码&#xff1a; [cpp] view plaincopyintent.setFlags(Intent.FLAG_ACTIVITY_NEW_T…...

wordpress做产品页教程/网络推广网站电话

注&#xff1a;如果没有 root 权限也是可以试试&#xff0c;一般情况下&#xff0c;都需要 root 权限&#xff0c;才能连接成功。1.需要确保你的开发 PC 和 Android 手机都连上了 wifi 并处于同一网段下&#xff1b;2.开启 usb 调试&#xff0c;且用 usb 将 Android 设备连接到…...

找谁做网站比较好/汕头网站建设优化

Php 3.x与4.x中关于对象编程的不兼容问题之一 构造器说 (转)[more]3.x与4.x中关于的不兼容问题“面向对象”听起来是个很流行的词汇&#xff0c;似乎到了如果你还没有&#xff0c;那不如回家种白菜的地步。Php从版本3.x开始支持对象编程&#xff0c;虽然它的Class从一开始就饱受…...