https://blog.bbskali.cn/shipin/android.mp4
Fragment(碎片)是必须嵌入在 Activity(活动) 中使用的。...Fragment的生命周期随着Activity的生命周期的变化而变化 一、首先让我们看下Activity和Fragment的生命周期对比 ?...Auto-generated method stub 35 super.onResume(); 36 System.out.println("现在执行Activity的...Auto-generated method stub 42 super.onRestart(); 43 System.out.println("现在执行Activity的...关闭activity 结束之前的生命 ?
有人说安卓就是 Linux,也有人说安卓是安卓、Linux 是 Linux,两者没什么关系,还有人说安卓用的是 Linux 的内核,那么它们之间到底是什么关系呢。...、RedHat等等 那么安卓和 Linux 内核或者 Linux 发行版本有什么关系吗?...安卓与 Linux 的关系 安卓实际上用到的是 Linux 的内核。...在安卓的手机上,在系统信息中你可以看到 Linux 内核的版本。 ? 既然安卓用的是 Linux 的内核,那是不是可以说它就是 Linux的一个发行版本呢?...解释清楚了安卓与 Linux 内核的关系以及与 Linux 其他发行版本的区别后,我们再来看下小伙伴们经常问到的两个问题: 1) 可以在安卓上运行 Linux 的桌面应用吗?
论坛中的反响都是在 15 版本,现在已经是 20.2 了。...寻找到了一个叫 QTScrcpy 的应用,可以连接手机并实现实时的控制,这比投屏的功能还要强大一点,更重要的是延迟很低、并且是原生的,很轻量。便到深度商店下载使用,根据说明进行连接。...最后启动服务的时候就闪了一下没了。自觉是商店的软件打包又出问题了,就来到了星火商店下载重新下载并使用,发现依然如上次一样一闪而过。 最终直接使用 Cli 应用来启动这个服务,github仓库地址 。...libsdl2-dev # server build dependencies sudo apt install openjdk-11-jdk 设置环境变量 # Linux...编译服务,如果编译失败可以下载编译好的预编译服务,推荐使用这种方式。
1.1 鸿蒙不是Linux,也不是安卓 很多人会混淆鸿蒙跟Linux的关系。 先举个例子,大家很熟悉的Windows里面含有内核,也含有UI系统,含有桌面程序,普通人可以直接使用Windows。...基于Linux内核制作出来的完整系统有Ubuntu、debian等等,普通人可以直接使用这些完整系统。 所以鸿蒙要对标的是Windows、安卓、IOS这类完整系统,而Linux只是鸿蒙支持的内核之一。...鸿蒙支持多种内核,有Linux,也有Liteos-a。 鸿蒙的体系很庞大,看下图,内核只是其中之一: ?...常见的内核有freeFTOS、rt-thread、UCOS,这些都属于实时操作系统(RTOS),Linux不是实时操作系统。 有了那么多操作系统,为什么还要开发Liteos-a呢?...Linux的强大在于它支持的硬件非常多,但是它过于庞大,启动慢、耗电,这些缺点导致它不适合用在物联网领域。
windows下的服务:没有界面、长期运行在后台的应用程序; android下的服务:应用程序的一个组件,没有界面activity,长期运行在后台; 进程:是应用程序运行的载体。...进程与应用程序之间的关系: linux操作系统创建一个进程,这个进程负责运行dalvik虚拟机,Android的应用程序都是运行在dalvik虚拟机上的。...,它会按照进程的优先级,从低到高一级一级的杀死进程,直到内存空间被清理的差不多。...(重点) 本地服务:写在自己的应用程序的工程里的服务 ,使用自己应用程序的进程运行这个服务; 远程服务:写在别的应用程序的工程里的服务,使用别的应用程序的进程运行这个服务(安装在同一个手机上的应用程序)...; IPC: Inter Process Communication(进程间的通讯); aidl: Android Interface definition language 安卓接口定义语言; aidl
为什么需要广播接受者 广播: 1、电台:发送一定频道的广播消息,50mhz; 2、收音机:调整到一定频道,接收广播消息; android应用程序里面的电台:系统内置的一个服务,会把事件(电量不足、电量充满...、开机启动完成)作为一个广播消息发送其他的接收者; android应用程序里面的收音机:自己写的一个广播接收者的一个类。...,系统会自动启动广播接收者的进程,调用onReceive方法,接收消息。...2.3的模拟器,4.0之后版本没有卸载、挂载、移除SD卡的功能。...就能接收到的广播; //发送一个广播消息(无序广播) sendBroadcast(intent); 有序广播: 当广播把消息发送出去后,消息会根据广播接收者的优先级从高到低一级一级地下发消息。
本篇文章主要说一下月日历数据、月视图绘制以及点击日期的实现。 数据 数据部分,网上能找到比较完整的工具类,主要是根据本月和上月的天数以及本月第一天是周几来计算。...首先计算上月日期: 由本月的第一天是周几和上个月的天数,得出上月的日期的显示 int temp = lastMonthDays - firstDayOfWeek + 1;//上个月的天数减去本月第一天周几再加上...1 再计算本月日期:本月内的数据根据该月的天数跑循环。...四个点确定一个矩形,可以在纸上画一下大致的图案,大致画个一两行矩形,应该就找到规律了,感觉有点像以前上学时做的找规律的数学题。...: 1、是不是本月的数据(用颜色区分本月和其他月的数据) 2、是不是今天 3、有没有选中的日期 4、显示不显示农历 其中今天和选中的日期用圆环表示,就需要在当天和选中的日期的矩形中绘制圆环。
本篇文章,聊一聊尝试让安卓手机原生运行 Ubuntu,尤其是运行官方未发布过的 ARM 架构的 Ubuntu 24.04 桌面版本。...在回复中,我提到了会在折腾恢复 Android 裁剪前的、适合 Docker 运行的内核环境,构建系统来验证为什么《Docker 加持的 安卓手机:随身携带的知识库(一)[1]》这篇内容里,容器执行效率非常慢的问题...但是,作为一个懒人,总归在想,有没有什么更简单的、更可持续的维护方案: •毕竟,每当安卓版本升级(包括 Linux 内核升级),如果我们想使用最新的系统,总归要重新构建和验证。.../mnt/esp 和 /mnt/boot 分区中的内容,都掌管着设备的启动,尤其是 /mnt/boot 中的文件,看起来有 apple-arm 设备绑定关系,或许需要详细排查。...--EOF 引用链接 [1] Docker 加持的 安卓手机:随身携带的知识库(一): https://soulteary.com/2024/05/03/docker-powered-android-phone-knowledge-base-you-can-carry-with-you
adb devices 查询电脑已连接的设备 adb shell pm list packages 列出目标设备中已安装的应用程序包 adb shell pm list packages...-f 列出目标设备中已安装的应用程序包的具体位置 adb uninstall xxx 卸载或删除的应用包xxx adb pull /data/app/com.tencent.tbs-1/...base.apk 将手机已安装程序的apk下载到你所在的文件夹 /* 安装卸载apk */ adb install xx.apk (一定要切换到含有apk的文件夹) 也可以:pm install...、支持模糊匹配 例如adb shell dumpsys activity services com.linux.example +++++++++++++++++++++++++ 查看正在运行的 activity...例如adb shell dumpsys activity com.linux.example +++++++++++++++++++++++++ clear 清除应用数据 +++++++++++
标签的值就它的界面的标题 4、activity的label标签的值就它的桌面快捷图标的名称 5、application中的label标签和activity中的label标签不是一个概念,application...中的label表示应用程序的名称,activity中的label标签表示的是它的界面的名称。...uri = intent.getData(); 意图设计的目的 意图设计的目的:解耦,实现应用程序的高内聚、低耦合。...onStart:当界面可见的时候调用 onResume 按钮可以被点击的时候 onPause 按钮失去焦点的时候: onStop 界面不可见的时候调用: onDestroy 销毁activity...android:launchMode="singleTop" 如果任务栈的栈顶存在这个要开启的activity,不会重新的创建activity,而是复用已经存在的activity。
Activity是用户和应用的直接交互窗口,它负责管理和处理应用的UI部分。 核心功能 管理UI: Activity 负责加载和管理应用的界面布局。...处理用户交互: Activity 通过监听用户的触摸、点击等操作来响应用户的输入。...它允许一个应用程序通过 ContentProvider 的接口访问另一个应用程序的数据,比如联系人、媒体文件等。ContentProvider 提供了标准的API来查询、插入、更新和删除数据。...理解和掌握这些组件的工作原理是成为一名合格的Android开发者的关键。 在《第一行代码——Android》中,这些组件都有详细的讲解和实战示例,帮助你更好地理解和应用这些核心概念。...希望这份指南能为你的Android开发之旅提供帮助!如果你有更多问题或需要更深入的讨论,欢迎在评论区分享你的想法!
方法和单击事件的方法都是运行在主线程中的。...当我们的Android应用程序的进程一创建的时候,系统就给这个进程提供了一个Looper,Looper是一个死循环,它内部维护这个一个消息队列,Loop不停地从消息队列中取消息(Message),取到消息就发送给了...网图片查看器(重点) 1、发送请求:GET 2、接收服务器端返回的响应数据 使用代码实现的步骤: 1、创建URL,打开一个HTTP的连接; 2、设置请求头信息:GET(GET、POST) 3、接收服务器端返回的响应数据...从Androi4.0开始,google更加UI界面运行的流畅性,强制要求访问网络的操作不能在主线程中进行,只能在子线程中进行。.../src/com文件夹拷到自己的代码的src目录中 2、调用image.setImageUrl(item.getImage())方法加载图片 imageLoader 开源的项目 不重复发明轮子
1、手机浏览器下载安装JuiceSSH(如果有些应用商店可以找到这个app,可以在应用商店下载安装) 2、打开已安装的软件后,点击连接,创建一个新的连接 image.png image.png 3、新建连接...认证需要新建认证,认证即云主机的用户名和密码/密钥。 image.png image.png image.png 4、连接创建完成后,点击刚刚创建的连接。
引言:这还是一篇比较枯燥的和ARM打交道的文章。不过这也是为了后续能更好进行做so逆向而做铺垫。 Arm C/C++基本结构逆向结构图 ?...掌握ARM汇编中基本结构前需要回顾和并熟记以下的条件指令 ?...在熟悉下另外一个重要的ARM汇编指令:CMP CMP指令:在汇编中就是将两个寄存器中的值做一个相减,再判断值是否大于0(它会设置对应状态寄存器),它的主要跳转方式与下一条指令相关联的。...while结构 (注意地址往上跳的情况) C/C++基本结构 while(xxxx) { xxxxx xxxxx } while对应arm汇编结构提炼 在arm汇编中for和while结构是一样的,两种没有差别...IDA中while的结构流程图 ? 绿色箭头指向表示 : 跳转条件满足时候的走向。 红色箭头指向表示:跳转条件不满足时候的走向。 ARM的汇编代码及解释 ?
/opt/ivot/aarch64-ca53-linux-gnueabihf-8.4/bin/aarch64-ca53-linux-gnu-gcc ) set( CMAKE_CXX_COMPILER.../opt/ivot/aarch64-ca53-linux-gnueabihf-8.4/bin/aarch64-ca53-linux-gnu-g++ ) #save & exit 6..../opt/ivot/aarch64-ca53-linux-gnueabihf-8.4/bin/aarch64-ca53-linux-gnu-gcc ) set( CMAKE_CXX_COMPILER.../project-config.jam using gcc ; ~change to using gcc : arm64 : aarch64-ca53-linux-gnu-g++ ; using...AR = aarch64-ca53-linux-gnu-a OPT = -O3 prefix = /opt/torch_dependency/arm64 #save make
多种媒体的综合。图片、音乐、视频。 计算机表示图形的方式 1、bmp 以高质量保存所有类型的图片,用于计算机。...每个像素点的颜色是一个RGB,使用6个十六进制的数值来表示。 文件头信息占用的数据大小。 体积比较大。 2、jpg 以良好的质量保存图片,用于计算机、电子邮件或网络。...jpg 工业图形的压缩算法,类似rar的算法。人眼识别精度有限,把相邻空间内类似的颜色使用同一个颜色来表示。 体积减小,失真。...RGB ARGB 32 应用程序在启动时系统为它创建一个进程,系统为每个进程创建dalvik虚拟机(模拟器设置的VM Heap),当图片的大小大于虚拟机的堆内存空间时,就内存溢出(内存泄露);...解决办法:缩放图片加载到内存 步骤: 1、获得设备屏幕的分辨率; 2、得到原图的分辨率; 3、通过比较得到一个合适的比例值; 4、按照比例值缩放图片 5、把图片显示在imageview 缩放图片并加载到内存中
---- title: 安卓基础干货(三):安卓数据库的学习 copyright: true categories: 安卓基础干货 date: 2018-01-10 19:35:26 tags: [Android...] android下数据库的创建(重点) 在Android平台上,集成了一个嵌入式关系型数据库—SQLite,SQLite3支持 NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和...BLOB(二进制对象)数据类型,也接受varchar(n)、char(n)、decimal(p,s) 等数据类型, SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么...helper = new DBHelper(this, "account.db", null, 1); onCreate是在数据库创建的时候调用的,主要用来初始化数据表结构和插入数据初始化的记录...listview控件 lv = (ListView) findViewById(R.id.lv); 3、自定义数据适配器,继承了BaseAdapter,重写4个方法,其中getCount、getView是我们关系的
在安卓中使用HTTP协议的最佳实践 在开发安卓应用时,网络通信是一个不可或缺的方面。HTTP协议是许多应用程序数据交换的基础,因此了解如何正确地使用它对于确保应用的性能和安全性至关重要。...选择合适的HTTP客户端 安卓提供了多种HTTP客户端,包括HttpURLConnection、OkHttp和Retrofit等。每个客户端都有其优势和特点。...安全网络通信 在进行网络通信时,保护数据和信息的安全性是非常重要的。以下是一些网络通信安全性的最佳实践: 减少敏感数据传输:尽量减少传输敏感或个人用户数据。...这样可以更容易地管理不同部分应用程序中的网络请求。 结论 在安卓应用开发中,正确使用HTTP协议对于提供良好的用户体验和保护用户数据至关重要。...希望这篇文章能够帮助您理解在安卓中使用HTTP协议的重要性以及如何实现最佳实践。
也就是说x86设备只能执行x86程序,而不能执行ARM程序 那为什么x86的安卓设备却可以执行armabi的so库呢?...解答 我们知道从最一开始基于ARM的程序占据了几乎所有的Android生态环境。Inter为了顺利打入移动市场,一个至关重要的问题就是需要兼容ARM应用程序。...Houdini可以把ARM指令集转化为X86指令集从而在Android X86设备上运行 同时由于市面上mips架构的安卓设备非常少,这也就是为什么只需一个armabi就可以通吃几乎所有设备,不过x86...设备运行ARM程序虽然没什么问题,但是执行效率的损伤是必然的 附加 在adb shell模式下, 可以通过一下命令查看当前安卓设备支持的指令架构: getprop 如果是x86的cpu,既可以运行x86...的可执行文件,也可执行ARM架构的程序,具体的参考prop中对应的abi
领取专属 10元无门槛券
手把手带您无忧上云