今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI很少,刚开始做Android应用的时候,没有对dp,px,sp等概念有一个深入的了解,只知道他们之间的转化,还有写个转换工具类等。做Android已经有一年多了,现在再次开始App开发,决定没遇到一个概念,必须得弄透彻。好吧,下面进入主题吧:首先来看一下他们的基本概念:px :是屏幕的像素点dp :一
转载
2023-08-17 13:41:19
86阅读
〇:简介本页介绍WebView控件,和两个Android网络请求库(OkHttp和Retrofit)WebView是展示web页面的Android控件。原生的HttpURLConnection,Square公司的OkHttp和Retrofit。一.WebView1.WebView基础WebView是Android提供的用于显示、渲染Web页面的强大控件。WebView可以单独使用;也可以配合其三个
转载
2023-12-10 21:16:40
140阅读
# Android sp实现流程
## 概述
在Android中,sp(scale-independent pixels)是一种用于表示文字大小的单位。与dp(density-independent pixels)类似,sp也可以根据设备的屏幕密度自动进行缩放,以适应不同的屏幕尺寸。
本文将介绍如何在Android应用中实现sp的使用。
## 实现步骤
下面是实现"android sp"的
原创
2023-10-10 12:29:00
111阅读
dp = dip : device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,
转载
2023-07-24 21:32:59
105阅读
Android中定义了两种智能指针类型,一种是强指针sp(strong pointer),另外一种是弱指针(weak pointer)。其实称之为强引用和弱引用更合适一些。强指针与一般意义的智能指针概念相同,通过引用计数来记录有多少使用者在使用一个对象,如果所有使用者都放弃了对该对象的引用,则该对象将被自动销毁。弱指针也指向一个对象,但是弱指针仅仅记录该对象的地址,不能通过弱指针来访问该对象,也就
转载
2024-08-11 08:11:30
64阅读
这个命令会列出应用目前的内存分配情况,单位是KB当分析这些信息时,你应该熟悉下面几种类型的分配:Private (Clean and Dirty) RAM这些内存是只被你的进程使用的。这是当你的应用被销毁后系统可以回收的内存量。通常,最重要的列是“private dirty”,它的消耗是非常昂贵的,因为只能被你的进程使用,并且它的内容只能存在于内存并且不能被交换到外部存储中(因为Android没有
转载
2023-11-15 20:54:11
101阅读
在阅读Android的Framework处的代码可以发现,无处不在SP给予了我视觉上的冲击,这个是什么?初级的我,看这个当初就基本当成指针来用,熟不知其的内在美,于是在这里和大家一起学习总结SP类的魅力所在。1 SP这货是个模板类,让我们看下他的结构。template <typename T>
class sp
{
public:
inline sp() : m_ptr(0)
转载
2024-08-19 20:25:48
172阅读
1. ARM的栈帧 先来看看ARM的栈帧布局图: 上图描述的是ARM的栈帧布局方式,main stack frame为调用函数的栈帧,func1 stack frame为当前函数(被调用者)的栈帧,栈底在高地址,栈向下增长。图中FP就是栈基址,它指向函数的栈帧起始
转载
2023-12-27 15:23:17
83阅读
看到有很多网友不太理解dp、sp和px的区别:现在这里介绍一下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度
转载
2023-06-26 09:12:14
91阅读
1.Android支持的数据存储方式:
•SharedPrefrence存储 •手机内部文件存储 •手机外部文件存储 •Sqlite数据库存储 •远程服务器存储 2.SharedPrefrencd存储 2.1特点
•SP存储专门用来存储一些单一的小数据
•存储数据的类型: boolean,float, int,long, String
转载
2024-02-06 15:02:52
85阅读
一、Android数据存储方式1、Android支持的数据存储方式:(1)SharedPrefrence存储(2)手机内部文件存储(3)手机外部文件存储(4)Sqlite数据库存储(5)远程服务器存储 二、SharedPreferences存储1、 说明(1)SP存储专门用来存储一些单一的小数据(2)存储数据的类型: boolean, float, int, long, St
转载
2023-06-20 09:17:42
1058阅读
## Android代替findViewById的实现
作为一名经验丰富的开发者,我将向你介绍如何在Android开发中代替findViewById方法,以提高代码的可读性和效率。在本文中,我将通过以下步骤逐步指导你完成这个任务。
### 步骤概述
在介绍具体步骤之前,让我们先来看一下整个流程的概述。下表展示了我们将要实现的步骤及其相应的代码。
| 步骤 | 描述 | 代码示例 |
|--
原创
2023-11-06 12:24:58
30阅读
# Android 代替 SharedPreferences 的解决方案
在 Android 开发中,`SharedPreferences` 是一个常用的存储选项,它可以用来保存一些简单的键值对。然而,随着应用的不断发展,我们可能会发现 `SharedPreferences` 有其局限性。在这篇文章中,我们将探讨那些可以替代 `SharedPreferences` 的存储方案,并给出代码示例和应
# Android开发:用Android View Binding代替ButterKnife
在Android开发的生态中,ButterKnife作为一种流行的视图注入工具,曾经极大地方便了开发者的工作。由于其简洁的语法,可以快速将布局中的视图绑定到代码中,ButterKnife曾一度成为热门选择。然而,随着Android官方的发展,View Binding应运而生,提供了一种更现代、更安全的视
原创
2024-09-09 08:08:14
184阅读
写在前面世界是复杂的,每一种思想都是为了解决某些现实问题而简化成的模型,想解决就得先面对,面对就需要选择角度,角度决定了模型的质量, 喜欢此UP主汤质看本质的哲学科普,其中简洁又不失细节的介绍了人类解决问题的思路,以及由概念搭建的思维模型对人类解决问题的重要性与限制.也认识到学习的本质就是: 认识获取(了解概念) -> 知识学习(建立模型) -> 技能训练(实践)阅读也好, 学习也好,
使用HashMap时我们需要注意一下几点问题: 1.HashMap是常用的Java集合之一,是基于哈希表的Map接口的实现。与HashTable主要区别为不支持同步和允许null作为key和value。 2.HashMap非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。 3.如果需要满足线程安全,可以用 Colle
在华为开发者大会上,华为消费业务CEO 余承东,正式发布鸿蒙OS2.0,并宣布华为鸿蒙OS将全面启用全场景生态,并将于2020年12月发布手机版。余承东还表示,明年,华为的智能手机将全面升级,以支持鸿蒙操作系统2.0。从9月10日起,EMUI11正式开通BETA,Magic UI4.0将于9月中旬开启内部测试招聘活动。荣耀30系列和荣耀V30系列将首当其冲。Magic UI 4.0也将支持升级到鸿
转载
2024-07-20 10:53:19
13阅读
启动android2.3后,进入cd sys/power目录,然后输入echo mem >state,按理应该打印相关睡眠信息,然后进入睡眠。 但是现在是遇到的一系列问题: 1、输入echo mem >state,并无反应,输入echo on >state 会显示wakeup相关信息, 检查代码,即kernel/kernel/power/main.c中state_store()函
# Android 代替Handler
在Android开发中,Handler是一个常用的工具,用于在不同线程之间进行通信,处理消息和任务。然而,有时候我们可能会遇到一些使用Handler不方便的情况,比如在处理复杂逻辑时,Handler的使用可能会导致代码变得混乱。在这种情况下,我们可以考虑使用一些其他的方式来代替Handler,以提高代码的可读性和可维护性。
## 为什么需要代替Handl
原创
2024-03-29 03:58:42
47阅读
之前看到一位网友的吐槽:当我把手机连接到电脑上时,在SD卡根目录看到了成百上千个各种应用程序创建的文件夹,拜托了各位开发者,你真的认为我的手机上只安装你一个app吗?你认为你的app是世界上最重要的app吗?你应该将你的应用数据写到这个路径下!/Android/data/< package name >/files/…作为一个开发者,我们的确不应该将我们应用的数据直接存到SD卡的根目录