https://blog.bbskali.cn/shipin/android.mp4
有人说安卓就是 Linux,也有人说安卓是安卓、Linux 是 Linux,两者没什么关系,还有人说安卓用的是 Linux 的内核,那么它们之间到底是什么关系呢。...安卓与 Linux 的关系 安卓实际上用到的是 Linux 的内核。...在安卓的手机上,在系统信息中你可以看到 Linux 内核的版本。 ? 既然安卓用的是 Linux 的内核,那是不是可以说它就是 Linux的一个发行版本呢?...解释清楚了安卓与 Linux 内核的关系以及与 Linux 其他发行版本的区别后,我们再来看下小伙伴们经常问到的两个问题: 1) 可以在安卓上运行 Linux 的桌面应用吗?...不过有一些应用尝试让我们在安卓环境中使用 Shell,安卓终端模拟器还有busybox,感兴趣的同学可以去了解一下。 2) 可以在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、显示不显示农历 其中今天和选中的日期用圆环表示,就需要在当天和选中的日期的矩形中绘制圆环。
,然后运行,然后进入Setting,点击User's settings,然后Create new user(我新建了一个叫做ACE的用户),注意这里在豌豆荚的截图只是做教程用的,实际不需要连接豌豆荚,甚至不需要...如果你连上了WIFI,则多了两个,最前面的192.168.1.100就是局域网的访问地址,用局域网的地址访问很快。...当然如果仅仅是局域网,这个webkey就没意义了,局域网的控制软件到处都是,我们就是要真正的远程控制。...image.png 在浏览器中输入这个网址,点击Login(用刚才在手机上新建的用户登录) image.png 登录成功之后,你就可以远程遥控手机了,下面一列可以打电话,回主页等等,上面还可以显示这个手机当前的所有信息...image.png 手机远程监控手机也是可以的,在RemoteScreen里面,输入要控制的手机的用户名和密码即可(前提是被控制的手机也装了这个软件并创建了新用户) image.png 关注我,每天分享知识干货
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。
大家好,又见面了,我是你们的朋友全栈君。 概述 一个 toast 是在屏幕上弹出一条信息,它的大小总是包裹着需要显示的内容,并且当前的 Activity 依然是可见并且可互动的。...该方法需要三个参数:当前应用的 Context ,文本消息,和toast的持续时间。该方法返回一个实例化过的Toast对象。...我们的toast提示是显示在底部正中间。...之后,我们向布局中添加我们的布局,这里,我们添加一个简单的视图。 自定义布局 通常情况下,默认的布局很难满足我们的需求,在toast中也可以使用自定义布局。...android:id="@+id/textView" android:layout_gravity="center_horizontal" /> 在线程中使用 根据安卓编程规范
,然后进行相关属性的设置,又或者使用RelativeLayout时,参考组件用的也是id!...//在名字叫text1的控件的下边 android:layout_below="@id/text1" //在名字叫text1的控件的左边 android:layout_toLeftOf="@id/text1...="2" //纵向布局只能分内部控件的高度,横向布局只能分内部控件的宽度。...,不过这样设置如果图片尺寸大于设置的显示的尺寸,则图片是显示不全的,这是可以配合android:scaleType属性。...,不过这样设置如果图片尺寸大于设置的显示的尺寸,则图片是显示不全的,这是可以配合android:scaleType属性。
Activity是用户和应用的直接交互窗口,它负责管理和处理应用的UI部分。 核心功能 管理UI: Activity 负责加载和管理应用的界面布局。...处理用户交互: Activity 通过监听用户的触摸、点击等操作来响应用户的输入。...它允许一个应用程序通过 ContentProvider 的接口访问另一个应用程序的数据,比如联系人、媒体文件等。ContentProvider 提供了标准的API来查询、插入、更新和删除数据。...理解和掌握这些组件的工作原理是成为一名合格的Android开发者的关键。 在《第一行代码——Android》中,这些组件都有详细的讲解和实战示例,帮助你更好地理解和应用这些核心概念。...希望这份指南能为你的Android开发之旅提供帮助!如果你有更多问题或需要更深入的讨论,欢迎在评论区分享你的想法!
1、手机浏览器下载安装JuiceSSH(如果有些应用商店可以找到这个app,可以在应用商店下载安装) 2、打开已安装的软件后,点击连接,创建一个新的连接 image.png image.png 3、新建连接...认证需要新建认证,认证即云主机的用户名和密码/密钥。 image.png image.png image.png 4、连接创建完成后,点击刚刚创建的连接。
方法和单击事件的方法都是运行在主线程中的。...当我们的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 开源的项目 不重复发明轮子
大家好,又见面了,我是你们的朋友全栈君。 一、什么是Android? Android是由谷歌公司开发的一种基于Linux的开源的操作系统。...API版本 二、Android系统分层 应用层 JAVA API Framework Lib库及Android运行环境 HAL层 Linux内核 三、Android应用开发 需要具备哪些知识?...十、HAL层 HAL:HARDWARE ABSTRUCT LAYER,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。...有了HAL层之后,他们可以把一些核心的算法之类的东西的实现放在HAL层,而hal层位于用户空间,不属于linux内核,和android源码一样遵循的是appache协议,这个是可以开源或者不开的。...十一、Linux内核 Android驱动包含两部分,一部分是HAL层,另一部分是linux内核驱动 HAL层提供上层调用的接口,同时对接Linux内核,采用IOCTRL或者一些框架的形式来访问内核驱动
---- title: 安卓基础干货(三):安卓数据库的学习 copyright: true categories: 安卓基础干货 date: 2018-01-10 19:35:26 tags: [Android...BLOB(二进制对象)数据类型,也接受varchar(n)、char(n)、decimal(p,s) 等数据类型, SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么...但有一种情况例外:定义为INTEGER PRIMARY KEY的字段只能存储64位整数, 当向这种字段保存除整数以外的数据时,将会产生错误。...helper = new DBHelper(this, "account.db", null, 1); onCreate是在数据库创建的时候调用的,主要用来初始化数据表结构和插入数据初始化的记录...onUpGrade是在数据库版本升级的时候调用的,主要用来改变表结构 2、调用db = helper.getWritableDatabase(),得到数据对象 数据库sql语句的增删改查 创建表结构:
多种媒体的综合。图片、音乐、视频。 计算机表示图形的方式 1、bmp 以高质量保存所有类型的图片,用于计算机。...每个像素点的颜色是一个RGB,使用6个十六进制的数值来表示。 文件头信息占用的数据大小。 体积比较大。 2、jpg 以良好的质量保存图片,用于计算机、电子邮件或网络。...jpg 工业图形的压缩算法,类似rar的算法。人眼识别精度有限,把相邻空间内类似的颜色使用同一个颜色来表示。 体积减小,失真。...RGB ARGB 32 应用程序在启动时系统为它创建一个进程,系统为每个进程创建dalvik虚拟机(模拟器设置的VM Heap),当图片的大小大于虚拟机的堆内存空间时,就内存溢出(内存泄露);...解决办法:缩放图片加载到内存 步骤: 1、获得设备屏幕的分辨率; 2、得到原图的分辨率; 3、通过比较得到一个合适的比例值; 4、按照比例值缩放图片 5、把图片显示在imageview 缩放图片并加载到内存中
文章首发于奇安信攻防社区 原文链接:https://forum.butian.net/share/648 一、安卓开发工具 安卓开发工具主要是一些Java开发环境、集成开发环境和安卓开发环境等 1、JDK...在官网直接下载即可,双击安装 安装类型 确认安装 二、安卓逆向工具 这部分介绍的安卓逆向工具是一些用于安卓反编译、逆向分析的工具,可以将源程序反编译成可读代码,如Android Killer、Jadx...代码 简单使用 在smali文件中按q可以反编译回java代码 按Ctrl+b下断点 三、安卓调试工具 这部分为安卓调试工具,主要先介绍下载及安装,JEB动态调试在本文的第六节中介绍,其余的IDEA和...工具,将apk文件拖入可以查看是否加壳 3、安卓模拟器 如果没有真机做实验的情况下,可以使用安卓模拟器用于实验,大部分的模拟器都可以完成实验内容,但是注意的是安卓模拟器也是一个虚拟机,不建议在虚拟机内安装模拟器...这里介绍几款不错的安卓模拟器。
前些日子,公司安卓应用的魔窗出现问题,需要重新写过。于是,就有了此篇魔窗HelloWord。...、 企业级的深度链接(Deeplink)解决方案mLink 场景式连接/服务连接 内容分发 跨App Store/应用市场的渠道分析 可以这么理解,通过浏览器访问某一链接(可以带参数),直接在本机上打开安装的应用...填写APP信息: image.png iOS应用的填写先不管,这里讲的是安卓。...包名就是你的项目AndroidManifest.xml里面的包名: image.png URL Scheme其实填写的是你的应用的唯一标识,你可以自定义,记住后面需要加:// 下载地址是你没有安装应用时...Android URL: 第一个参数mLinkHello我是随便写的(可以自定义为其他的),我到现在都不明白配置这个有什么用。
领取专属 10元无门槛券
手把手带您无忧上云