- 博客(20)
- 收藏
- 关注
原创 QT-Demo1.2信号槽
返回到配置连接,这时候在右边的窗口中已经看到了新添加的函数,选择clicked()信号要绑定的槽函数,最后点击确定。在上一篇文章中完成了布局,接下来学习添加信号槽的几种方式。右键点击OK按键->选择转到槽..(Go to slot)第三种方式:代码编程建立连接, 在后边的学习中在探索。在弹窗中选中clicked()->点击确定。单击编辑信号和槽按钮->拖拽按键。这时候就看到槽函数主动生成,在配置连接弹窗中选择编辑。
2023-07-24 15:39:22
174
原创 QT配置NPACP
Npcap-SDK下载链接选择Download点击下载Npacp1.75installer和 Npacp SDK Npacp1.75installer下载完成后,直接按照默认选项安装即可。点击左上角文件->New Project->Application(QT)->QT Widgets Application。在Location窗口选择创建路径: 点击下一步,在构建系统窗口选择qmake, 继续点击下一步到项目创建完成。创建完成后找到该创建路径的文件夹并打开,将下载的npcap-sdk-1.13文件解压后放
2023-07-20 15:03:21
635
原创 简单的答题游戏
ViewModel与某种特殊用户屏相关联,非常适合存管那些处理屏显数据的逻辑。ViewModel持有模型对象,能够“加工美化”模型层对象。使用ViewModel,可以把所有要显示在用户界面上的数据汇集在一处, 统一格式化加工处理供其他对象获取。用ViewModel写一个简单的答题游戏,增加对ViewMode的理解。
2023-07-07 10:24:33
233
1
原创 Client not ready yet..
安装apk状态停留在 Client not ready yet..修改方案:点击Edit Configurations。将红色框中的选项选中,Apply。
2023-07-06 14:29:27
112
1
原创 Error: Program type already present
运行时报错:Error: Program type already present: androidx.versionedparcelable.ParcelImpl。
2023-07-06 14:14:23
361
1
原创 异常Manifest merger failed with multiple errors, see logs
错误信息很容易就找到了:tools:replace specified at line:5 for attribute android:appComponentFactory, but no new value specified.提取关键信息就是Manifest merger failed with multiple errors, see logs,但是无法定位具体原因。android:appComponentFactory = "angthing" //可以时任意值。
2023-07-05 16:27:00
745
1
原创 Android开发模式之观察者模式
定义对象一种一对多的依赖关系,使得当一个对象改变状态的时候,所有依赖它的对象都会得到通知并自动更新。观察者模式是一种使用频率非常高的设计模式,最常用的地方就是订阅-发布系统。
2022-10-25 18:30:52
2648
原创 Android开发之RecyclerView的使用一
1.写一个继承于RecyclerView.ViewHolder的类。它可以接收一个 itemView 作为参数。在构造方法中,创建一个变量来引用 TextView,然后将它指向表项布局里对应的视图。然后自定义 bindDateToView() 函数,将数据和UI关联起来。
2022-10-24 14:14:11
1489
原创 AIDL的使用简介
编写Service类,在MyService内部声明一个IBinder对象,它是一个匿名实现的IMyAidlInterface.Stub的实例,同时在IMyAidlInterface.Stub实例中实现在aidl中声明的供客户端调用的方法。客户端通过AIDL接口的静态方法asInterface 将Binder对象转化成AIDL接口的代理对象,通过这个代理对象就可以发起远程调用请求了。在客户端跟服务器一样,新建aidl目录,将服务器端的aidl拷贝到客户端,注意的是。
2022-10-11 14:30:18
967
1
原创 Android开发模式之单例模式
目录一、单例模式的作用和使用场景二、五种单例模式2.1 饿汉模式2.2 懒汉模式2.3 双重检查加锁方式2.4 静态内部类方式2.5 枚举单例模式总结单例模式是设计模式中最常见的的一种设计模式,保证了一个类只有一个实例存在并且能够全局访问到。常见的使用场景有:应用中某个实例对象需要被频繁的访问;应用每次启动都只会存在一个实例,如账号系统、数据库对象(SQLiteOpenHelper)等。 构造函数使用private修饰,外部无法访问 在声明对象时初始化 static关键字修饰静态变量,使内存中只
2022-06-07 15:39:51
5488
1
原创 Android开发之自定义View
在自定义View的时候,需要两个构造函数。否则在编译的时候会报异常:Binary XML file line Error inflating class. 原因是:Android在根据xml文件夹创建View对象的时候会调用View的双参构造方法,即public SquareView(Context context, AttributeSetattrs),所以如果没有写全的话就会报错。...
2022-06-06 17:25:16
12713
原创 Android:shareUserId知多少
通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中。所以默认就是可以互相访问任意数据。也可以配置成运行成不同的进程,同时可以访问其他APK的数据目录下的数据库和文件,就像访问本程序的数据一样。
2022-05-31 17:11:13
1410
原创 MVP模式理解与使用
1.为什么使用MVP模式在Android开发中,Activity的首要职责是加载应用的布局和初始化用户界面,接受和处理来自用户的操作请求。但是随着界面和逻辑的复杂度不断的提升,Activity类的职责不断增强而变得庞大臃肿。那么我们就需要通过MVP模式解决混乱、冗余、耦合重的问题。1.1实例说明下面是一个用户登录的Demo2.什么是MVP模式3.如何使用MVP模式4.MVP模式的优缺点...
2022-05-19 15:58:20
743
原创 AS模拟器在i7上无法运行的解决方案
模拟器在i7 上运行模拟器直接报错:VCPU shutdown request/ Shutting down gRPC endpoint 。报错原因是HAXM版本问题。解决方案:1.下载HAXM 链接https://github.com/intel/haxm/releases2.解压Hmax_6.0.5,将文件夹里面的所有文件剪切到SDK\extras\intel\Hardware_Accelerated_Execution_Manager文件夹下3.点击其中的intel...
2022-05-13 15:50:56
494
1
原创 Android中View的创建流程解析
在AppCompatActivity的onCreate方法中我们都知道setContentView这个方法是加载布局文件。这个方法使用很简单直接把layout布局文件放进去就可以了。那么具体内部是怎么将它显示到桌面的呢,今天就从setContentView()来解析一下Android中View的创建过程。打开androidx/appcompat/app/AppCompatActivity.java,这里setContentView就一行代码,获取到AppCompatDelegate,同时调用它的setC
2022-05-06 17:57:22
5020
原创 App启动之Application创建流程分析
在冷启动优化的时候少不了对Application的优化,所以这一篇文章是对Application的创建流程的学习。Zygote创建应用程序进程后实例化ActivityThread,ActivityThread的main方法创建Application的流程。打开frameworks/base/core/java/android/app/ActivityThread.java我们从ActivityThread.java的main方法开始分析:public static void main(S.
2022-04-29 17:50:37
1397
原创 搭建Android开发环境
搭建android开发环境,分为两大步骤:一、下载并安装JDK1.下载后解压后双击安装包(jdk-8u261-windows-x64)一直点next,直到最后finish。JDK链接:https://pan.baidu.com/s/1VU1mBuwaftk92YAsIeQY1A提取码:8990查看安装成功后目录:2.打开控制面板->系统->高级系统设置(Advanced System Setting)3.选择系统变量(Environment Variables).
2022-04-29 11:04:32
479
原创 Android面试题
整理八个常见的Android面试题。1.handler如何进行线程间通信?负责跨线程通信,这是因为在主线程不能做耗时操作,而子线程不能更新UI,所以当子线程中进行耗时操作后需要更新UI时,通过Handler将有关UI的操作切换到主线程中执行。具体分为四大要素:Message(消息):需要被传递的消息,消息分为硬件产生的消息(如按钮、触摸)和软件生成的消息。MessageQueue(消息队列):负责消息的存储与管理,负责管理由 Handler发送过来的Message。...
2022-04-22 15:21:16
2564
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人