自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Android面试送分题:关于-Application,你了解多少呢?

面试官提了一个问题,我们来看看 A、B 和 C三位同学的表现如何吧。

2024-09-22 16:39:20 937

原创 C++入门基础(万字总结)(建议收藏!!!

/在c语言中这样写肯定是不行的,但是在c++中有了缺省参数,如果你什么都不传,只要你前面有缺省参数的存在,就能过。//这儿的0就相当于缺省参数,如果实参什么都没传过来,缺省参数就赋值给a,相当于备胎的意思。//相当于给a起了一个别名为b,int是b的类型。//自动推导出b的类型为int*

2024-09-22 16:09:32 641

原创 Android防火墙+流量统计代码

/获取当前月份的日期号码。//读取on.txt记录到onstr里。

2024-09-22 15:56:45 781

原创 C++中构造函数和析构函数

4.当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,此默认构造函数是不带参数的;而一般的方法是在程序执行到它的时候被调用的;4.每个类有应该有一个析构函数,如果没有显式定义,那么系统会自动生成一个默认的析构函数(默认的析构函数什么也不做);另外,一个类可以有多个构造函数 ,我们可以根据其参数个数的不同或参数类型的不同来区分它们(这就是构造函数的重载)5.构造函数有回滚的效果,构造函数抛出异常时,构造的是一个不完整对象,会回滚,将此不完整对象的成员释放;

2024-09-22 15:34:29 585

原创 Android进阶(七)数据存储_"file file = new file(getexternalfilesdir(null),

API8以上,使用getExternalCacheDir() 打开存储目录保存文件,如卸载应用程序,缓存文件将自动删除,在应用程序运行期间你可以管理这些缓存文件,如不在使用可以删除以释放空间。默认情况下,任何应用创建的文件,数据库,sharedpreferences都应该是私有的(位于/data/data/your_project/files/),其余程序无法访问。如果想将文件保存为不为应用程序私有,在应用程序卸载时不被删除,需要将文件保存到外部存储的公共目录上,这些目录在存储设备根目录下;

2024-09-22 15:10:21 666

原创 C++STL中list, vector, map, set用法与区别_c++ stl list map 比较

第一种:用count函数来判定关键字是否出现,其缺点是无法定位数据出现位置,由于map的特性,一对一的映射关系,就决定了count函数的返回值只有两个,要么是0,要么是1,出现的情况,当然是返回1了。第二种:用find函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map中没有要查找的数据,它返回的迭代器等于end函数返回的迭代器,程序说明。//2、numbersEnd没有指定,是默认的,默认构造了一个end_of_stream的迭代器,它等价于调用end()

2024-09-22 14:59:34 854

原创 C++(18)——设计模式:工厂模式和观察者模式_c++观察者工厂

设计模式———抽象工厂模式1、简单工厂模式2、工厂方法模式3、抽象工厂模式友元关系:1、单向性2、

2024-09-22 14:16:27 265

原创 Android自定义控件(状态提示图表)

mAreaChartsView.initTitleXY(“投入量(H)”, “产出量(H)”);//绘制区间叠加图谱方块,从远到0坐标,因为小的图会覆盖大的图。//计算传入的x值与真实屏幕坐标的像素值的百分比差值转换。//计算传入的y值与真实屏幕坐标的像素值的百分比差值转换。//绘制Y轴坐标区间点,不包含0点坐标,X轴已经画过了。//绘制X轴的那些坐标区间点,包含0点坐标。//初始化X轴的坐标区间点值,可以不均等分。//初始化Y轴的坐标区间点值,可以不均等分。//初始化坐标图的xy交点原点坐标。

2024-09-22 14:14:15 1006

原创 c++ qt通过QWebChannel与JS html网页端交互通信_qwebchannel js

video。

2024-09-22 13:11:18 286

原创 AMS和ActivityThread之间的Binder通信_ams activitythread

调用startActivityAsUser()调用startActivity()

2024-09-22 10:57:41 678

原创 Android强行进阶,自定义控件—LayoutManager

添加 通过addView方法把子View添加进ViewGroup或直接在xml中直接添加;测量 重写onMeasure方法并在这里决定自身尺寸以及每一个子View大小;布局 重写onLayout方法,在里面调用子View的layout方法来确定它的位置和尺寸;进行布局之前,我们需要调用detachAndScrapAttachedViews方法把屏幕中的Items都分离出来,内部调整好位置和数据后,再把它添加回去(如果需要的话);

2024-09-22 09:56:12 993

原创 Android屏幕锁定实例源码详解教程二

下面是可允许输入密码的类型,此处的类型必须与string.xml文件中定义的arrays.xml中的相匹配。* 设置屏幕方法实现,详细的可以自己看下,我也是边参照官方文档,边学习的。/**记录当前屏幕ID,并预先存入本地SP配置文件中*/// 在关闭此页时,将配置信息写入本地SP文件中./**如果获取到的ID为空,则跳转到设置页*//**获取本地SP文件中屏幕锁的配置信息*//**下面三个是往SP中存储时的Key*//**保存屏幕锁相关参数的SP文件名*//**有未知屏幕ID时返回此标识*/

2024-09-22 07:17:35 952

原创 Android中的多线程及AsyncTask的引入

1.我最开始想到的是Handler,在里面写好UI执行逻辑,通过sendMessage()等方法通知UI更新。2.后来无意中了解到还有个方法叫Activity.runOnUiThread(Runnable),把更新UI的逻辑代码写到Runnable里面,再把对象传进来就可以了。三、AsyncTask的介绍及使用虽然上述的两个方法都能实现我的需求,但是逻辑代码的编写都让我感觉到很吃力。于是我又发现了另外一个方法,使用AsyncTask类来完成需求。(1)AsyncTask的优势。

2024-09-22 04:43:18 1015

原创 Android-Binder机制及AIDL使用,原理+实战+视频+源码_aidl suspend

为了从界面控制器Activity/Fragment逻辑中分离出视图View数据所有权,架构组件为界面控制器提供了 ViewModel 辅助程序类,该类负责为界面准备数据。在配置更改期间会自动保留 ViewModel 对象,以便它们存储的数据立即可供下一个 Activity 或 Fragment 实例使用。2、LiveData。

2024-09-22 02:04:47 881

原创 Android 性能监控系列一(原理篇)

Android APM 的原理其实非常简单,用一句话总结就是:依据打包原理,在 class 转换为 dex 的过程中,调用 gradle transform api 遍历 class 文件,借助 Javassist、ASM 等框架修改字节码,插入我们自己的代码实现性能数据的统计。以上所有过程都是在编译期完成的。其实 Android 上的无痕埋点也是同样的原理,区别只不过是我们 hook 的点不同,采集的数据不同,因此掌握了 APM 的实现原理同样可以实现无痕埋点系统。

2024-09-21 23:32:20 1139

原创 Android 低功耗蓝牙开发 (扫描过滤、自定义服务与特性)Kotlin版

这里当拖动Seekbar时,改变TextView显示的内容,当拖动结束时保存进度值到缓存中,然后处理弹窗这个窗时的页面显示状态,我这里通过getInt(RSSI,100)去获取本地的缓存,如果没有就设置为100,在扩展函数中我设置的缺省值是0,你也可以设置为100,则使用的地方就不需要增加这个默认参数了。上图中有两处地方用到了这个常量值NULL_NAME,一个是存一个是取,这里还只是针对于弹窗中的设置和显示效果的不同,还没有对实际的扫描结果进行处理的,这个代码应该是很好理解的。下面是RSSI的值的存取。

2024-09-21 20:55:24 1068

原创 Android LayoutInflater

当child的布局参数LayoutParams为null时,会通过generateDefaultLayoutParams()方法为其创建LayoutParams,不同布局,其generateDefaultLayoutParams()的实现不一样。// 参数三为true,将temp添加到root中,其布局参数为params。// root为null,不为其设置params,其params为null。方法1内部调用2,2内部调用4;//参数三为false,为temp设置params。

2024-09-21 18:20:41 400

原创 android NFC开发实例

/注册NDEF回调消息。//实例化NFC设备。

2024-09-21 14:48:39 552

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除