在 Windows 上系统自带了投屏功能,然而 deepin 也有 深度演示助手 ,不过我并没有在系统中找到。论坛中的反响都是在 15 版本,现在已经是 20.2 了。...寻找到了一个叫 QTScrcpy 的应用,可以连接手机并实现实时的控制,这比投屏的功能还要强大一点,更重要的是延迟很低、并且是原生的,很轻量。便到深度商店下载使用,根据说明进行连接。...最后启动服务的时候就闪了一下没了。自觉是商店的软件打包又出问题了,就来到了星火商店下载重新下载并使用,发现依然如上次一样一闪而过。 最终直接使用 Cli 应用来启动这个服务,github仓库地址 。...libsdl2-dev # server build dependencies sudo apt install openjdk-11-jdk 设置环境变量 # Linux...注意手机需要开启 USB 调试的几个选项。 开启这几项后就可以在 scrcpy 目录下执行 ./run x 启动服务。 ? ?
Android权限说明 Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制, Android系统权限相关的内容, (一)linux文件系统上的权限...root激活成功教程没有利用什么Linux内核漏洞(Linux内核不可能有这么大的漏洞存在),可以理解成root激活成功教程就是在你系统中植入“木马su”,说它是“木马”一点儿都不为过,假如恶意程序在系统中运行也可以通过...2、实现一个虚拟的设备,该设备的功能就是在内核态帮应用程序执行相应的命令。Linux内核态没有权限的问题了。肯定可以执行成功。 解决设置网卡IP地址问题时,选择是后者相对来说设计比较简单。...我把大概原理简单说说: 1, CVE-2010-EASY: linux的内核的模块化程度很高,很多功能模块是需要到时候再加载,在 android中由init进程来管理这些的。...2、superuser是如何把用户的选择告诉su程序的那? 即superuser和su程序是如何通讯的,他们俩位于不通的时空,一个在java虚拟机中,一个在linux的真实进程中。
https://blog.bbskali.cn/shipin/android.mp4
https://github.com/RikkaApps/Riru/releases
安卓与 Linux 的关系 安卓实际上用到的是 Linux 的内核。...在安卓的手机上,在系统信息中你可以看到 Linux 内核的版本。 ? 既然安卓用的是 Linux 的内核,那是不是可以说它就是 Linux的一个发行版本呢?...大家都知道 Linux 内核是用 C语言开发的,安卓在 Linux 的内核之上用 C/C++ 开发了Dalvik ,后来改叫 Android Run Time,其实本身就是安卓的 Java 虚拟机。...解释清楚了安卓与 Linux 内核的关系以及与 Linux 其他发行版本的区别后,我们再来看下小伙伴们经常问到的两个问题: 1) 可以在安卓上运行 Linux 的桌面应用吗?...总结 安卓的操作系统核心是在 Linux 内核上做了一些裁减和定制,并且在内核之上运行了一个 Dalvik / ART 虚拟机,所有的应用必须运行在这个虚拟机上,所以安卓的应用都是用 Java 来开发的
1.1 鸿蒙不是Linux,也不是安卓 很多人会混淆鸿蒙跟Linux的关系。 先举个例子,大家很熟悉的Windows里面含有内核,也含有UI系统,含有桌面程序,普通人可以直接使用Windows。...基于Linux内核制作出来的完整系统有Ubuntu、debian等等,普通人可以直接使用这些完整系统。 所以鸿蒙要对标的是Windows、安卓、IOS这类完整系统,而Linux只是鸿蒙支持的内核之一。...鸿蒙支持多种内核,有Linux,也有Liteos-a。 鸿蒙的体系很庞大,看下图,内核只是其中之一: ?...常见的内核有freeFTOS、rt-thread、UCOS,这些都属于实时操作系统(RTOS),Linux不是实时操作系统。 有了那么多操作系统,为什么还要开发Liteos-a呢?...Liteos-a为物联网而生,支持MMU,支持内核/APP空间隔离、支持各个APP空间隔离,系统更健壮;支持POSIX接口,大量开源软件可以在Liteos-a上直接使用;启动快,省电。
进程与应用程序之间的关系: linux操作系统创建一个进程,这个进程负责运行dalvik虚拟机,Android的应用程序都是运行在dalvik虚拟机上的。...Service,重写onCreate方法; 2、在清单文件中配置服务; 3、在activity中开启服务; 4、在onCreate方法中使用TelephonyManager监听电话的状态;...2、天气预报、股票行情软件; 利用服务注册广播接收者 操作频繁的广播事件,如果只是在清单配置文件配置,是不生效的。...; IPC: Inter Process Communication(进程间的通讯); aidl: Android Interface definition language 安卓接口定义语言; aidl...: 3、修改并拷贝接口文件: 4、在本地服务的工程中的activity里,绑定服务: 5、通过接口调用远程服务的方法:
为什么需要广播接受者 广播: 1、电台:发送一定频道的广播消息,50mhz; 2、收音机:调整到一定频道,接收广播消息; android应用程序里面的电台:系统内置的一个服务,会把事件(电量不足、电量充满...、开机启动完成)作为一个广播消息发送其他的接收者; android应用程序里面的收音机:自己写的一个广播接收者的一个类。...,系统会自动启动广播接收者的进程,调用onReceive方法,接收消息。...2.3的模拟器,4.0之后版本没有卸载、挂载、移除SD卡的功能。...就能接收到的广播; //发送一个广播消息(无序广播) sendBroadcast(intent); 有序广播: 当广播把消息发送出去后,消息会根据广播接收者的优先级从高到低一级一级地下发消息。
安卓文件在Mac电脑上无法传输?你需要一款安卓设备传输工具!...MacDroid Mac版是一款强大的安卓设备传输助手,使用非常简单,只需要将安卓手机使用 USB 连接到 Mac 电脑上即可将安卓设备挂载为本地磁盘,就像编辑mac磁盘上的文件一样编辑安卓设备上的文件...下载:MacDroid Mac版在Mac上将Android作为磁盘挂载Android的内部和外部存储都可以安装在Mac上编辑Android文件,而无需在计算机上复制它们您只需要MacDroid和通过USB...连接到Mac的AndroidMacDroid支持所有Android和MTP设备 转移您最近的照片您刚刚在Android上拍摄的一些精美照片甚至可以在Mac上进行传输或编辑,甚至无需传输。
paint.setAntiAlias(true); paint.setTextAlign(Paint.Align.CENTER); return paint; } 接着就是在onDraw...四个点确定一个矩形,可以在纸上画一下大致的图案,大致画个一两行矩形,应该就找到规律了,感觉有点像以前上学时做的找规律的数学题。...,不用我们在去定义一个点击操作了。...= null) { onClickMonthCalendarListener.onClickMonthCalendar(dateTime); } } 在doClickEvent...中使用的,只需在布局文件中设置MonthCalendar的layout_width和layout_height即可: <com.necer.ncalendar.calendar.MonthCalendar
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 清除应用数据 +++++++++++
ECMP(Equal Cost Multi Path),中文名叫等价多路径,是路由里的一项技术,作用是,在IP交换网络中存在到达同一目的地址的多条不同的路径,而且每条路径消耗的资源(Cost...ECMP在不同版本的Linux内核实现方式不一样,总体上可分为4个阶段。 内核版本ECMP功能< Pre kernel v2.2无ECMP。...kernel 3.5.7 图1是内核里L3(网络层)核心流程框架,展示了接收IP报文的、发送IP报文、选取IP报文转发的下一跳和转发IP报文的流程。...这个变更破坏了ECMP在历史版本的默认行为,因此遭到了社区的反对,在4.4版本中Per-flow类型的ECMP又回来了,下一节我们再分析。.... */ res->nh_sel = 0; } ``` ECMP在Linux内核的实现的关键变更历史。
//目标activity在配置文件配置的action的值 intent.setAction("android.intent.action.SECONDSHOW"); //使用目标activity在配置文件配置的...: 代码: /** * requestCode 开启activity时设置的请求吗 * resultCode 在目标activity中设置的结果码 * data 第二个界面返回的数据 */ @Override...代码: /** * requestCode 开启activity时设置的请求吗 * resultCode 在目标activity中设置的结果码 * data 第二个界面返回的数据 */ @Override...生命周期: onCreate:在activity被创建的时候调用这个方法,初始化界面。...webkit内核 c代码 singleInstance启动模式非常特殊, activity会运行在自己的任务栈里面,并且这个任务栈里面只有一个实例存在 如果你要保证一个activity在整个手机操作系统里面只有一个实例存在
1,安卓10使用logcat不会默认保存内核日志,需要配置属性ro.logd.kernel=true 2,在init.rc中创建启动抓取日志的服务,如下: #add for get aplogs on...kernel -n 20 -r5000 -v threadtime -f /data/aplogs/aplog disabled seclabel u:r:shell:s0 解释:-b(需抓取的日志类型...) -n(循环保存20个日志) -r(每个日志大小为5M) -v(记录时间) -f(日志存放位置) 3,设置中增加保存日志的开关,通过设置persist.service.aplogfs.enable属性控制
背景 有时候在邮件,钉钉,微信上收到一份文件,急需打开看一下,但有些文件用普通编辑器打开体验实在不佳,例如 patch,log 甚至 bin 文件。...由于日常在电脑上使用的是 vim ,一个朴素的想法就是,手机上是不是也可以装个vim玩玩。...Vim Touch 最开始是找到了一个叫 Vim Touch 的app,当时在我的手机上确实可以运行,用了一段时间。可惜后来换手机后,就发现新手机安装不上了。...更细的 feature 就不列了,把PlayStore的几张图贴过来感受一下。...没想到作者响应很快,也很 nice,在我把手机的一些详细信息发给他参考之后,很快就推出了修复版本。修复后还告诉我这个本质不是 app 的问题,是华为手机的问题,哈哈。
1、手机浏览器下载安装JuiceSSH(如果有些应用商店可以找到这个app,可以在应用商店下载安装) 2、打开已安装的软件后,点击连接,创建一个新的连接 image.png image.png 3、新建连接...认证需要新建认证,认证即云主机的用户名和密码/密钥。 image.png image.png image.png 4、连接创建完成后,点击刚刚创建的连接。
,解析成一个图片 (3)把图片显示在TextView上 示例代码: package com.itheima.htmlview; import java.io.InputStream; import...方法和单击事件的方法都是运行在主线程中的。...): 前提知识: 所有使用UI界面的操作系统,后台都运行着一个死循环,在不停的监听和接收用户发出的指令,一旦接收指令就立即执行。...: 网络在主线程上的异常: android.os.NetworkOnMainThreadException...public SmartImageView(Context context) { super(context); } //1、在主线程中创建一个handler
,性能高等优势,谷歌在Android5.0引进了SVG,并转化为Vector,在Android中指的是Vector Drawable,也就是Android中的矢量图,可以说Vector就是Android...中的SVG实现(并不是支持全部的SVG语法,现已支持的完全足够用了) Vector图像刚发布的时候,是只支持Android 5.0+的,自从AppCompat 23.2之后,Vector可以使用于Android...4.不用写很多代码就可以实现非常复杂的动画 成熟、稳定,前端已经非常广泛的进行使用了。...接下来是我们程序员需要注意的地方,在工程中使用Vector Drawable兼容5.0以下的版本方法 1、使用Android Studio 2.2以上的版本,gradle版本在2.0以上 1.1、在gradle...中添加 defaultConfig { vectorDrawables.useSupportLibrary = true } 1.2、在gradle中添加 compile
多种媒体的综合。图片、音乐、视频。 计算机表示图形的方式 1、bmp 以高质量保存所有类型的图片,用于计算机。...RGB ARGB 32 应用程序在启动时系统为它创建一个进程,系统为每个进程创建dalvik虚拟机(模拟器设置的VM Heap),当图片的大小大于虚拟机的堆内存空间时,就内存溢出(内存泄露);...解决办法:缩放图片加载到内存 步骤: 1、获得设备屏幕的分辨率; 2、得到原图的分辨率; 3、通过比较得到一个合适的比例值; 4、按照比例值缩放图片 5、把图片显示在imageview 缩放图片并加载到内存中...解决办法: 缩放图片加载到内存 步骤: 1、获得设备屏幕的分辨率; 2、得到原图的分辨率; 3、通过比较得到一个合适的比例值; 4、按照比例值缩放图片 5、把图片显示在imageview...//5、在画板上画画; Matrix matrix = new Matrix(); canvas.drawBitmap(srcPic, matrix
---- title: 安卓基础干货(三):安卓数据库的学习 copyright: true categories: 安卓基础干货 date: 2018-01-10 19:35:26 tags: [Android...例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。...listview显示数据列表的步骤: 1、在布局文件中添加一个listview控件 2、在代码中找到这个listview控件 3、创建一个数据适配器为listview填充数据 ArrayAdapter...使用ArrayAdapter为listview填充数据的步骤: 1、在布局文件中添加ListView 2、在代码中初始化这个listview控件 3、调用listview.setAdapter()填充数据...:context 上下文,resourceId 条目布局文件的资源ID,String[] 要显示的列名,int[] 指定列显示在item布局文件的哪个控件上 lv.setAdapter(new SimpleAdapter
领取专属 10元无门槛券
手把手带您无忧上云