- Qt QTableWidget 触摸屏上滑动效果
hss2799
Qt
要实现QTableWidget在触摸屏上,滑动记录,记录会跟着滑动,只需要加QScroller*pScroller=QScroller::scroller(tablewidget);pScroller->grabGesture(tablewidget,QScroller::LeftMouseButtonGesture);tablewidget->setVerticalScrollMode(QLis
- ios7 手势滑动切换ViewController 问题总结
wxcswd
ios
在handleGesture函数中注意ViewController的dismiss应该放在caseUIGestureRecognizerStateBegan滑动切换dismiss掉之后,必须在present出该ViewController的响应函数中添加判断if(!self.presentedViewController)//presentedViewController在其头文件中说明为read
- 2.12 UITapGestureRecognizer手势之双击 [iOS开发-Xcode教程]
互动教程网
1.在欢迎窗口右侧的历史项目列表中,双击打开之前创建的单视图项目模板。image2.本节课将为您演示,如何给视图对象添加手势,使视图对象能够检测到手指的双击操作。首先在一个空白项目中,打开视图控制器的代码文件。image3.接着开始编写代码,实现这项功能。image4.首先初始化一个原点在(32,80),宽度和高度都是256的矩形常量,作为视图的显示区域。image5.然后创建一个相应尺寸的图像视
- 基于mediapipe+opencv+autopy的人机交互系统python源码+文档说明+运行截图
奋斗奋斗再奋斗的ajie
毕业设计人机交互
文章目录源码下载地址项目介绍项目功能界面预览项目备注源码下载地址源码下载地址点击这里下载代码项目介绍手势识别的人机交互系统基于mediapipe+opencv+autopy的人机交互系统功能通过手势实现对电脑的操作,如鼠标左右键,键盘的上下键(可对PPT进行翻页)运行gesture_control_Win.py即可所需环境python==3.8mediapipeopencv-pythonnumpy
- POP返回手势和右滑手势冲突
有点意思_
最近项目里有个需求,页面中有个展示View点击放大到全屏时,右滑手势需要让这个展示View缩小,只有在这个展示View缩小状态时滑动的POP才好使。经过百度:先写self.navigationController.interactivePopGestureRecognizer.delegate=(id)self;然后通过self.navigationController.interactivePo
- 封装了一个iOS评论弹窗
刘小哈哈哈
ioscocoamacos
封装了一个iOS类似抖音效果的评论弹窗,可以跟手滑动的效果主要有下面两需要注意的点双手势响应因为我们的弹窗既要支持拖动整体上下滑动,还要支持内容列表的滑动,所以,我们需要在内容视图中添加一个滑动的手势,以此来滑动弹窗并且要支持同时响应,同时要注意,支持同时响应并不是同时滑动,而是支持手指在列表中的时候,可以响应弹窗的手势-(BOOL)gestureRecognizer:(UIGestureReco
- 【Harmony OS 4.0】交互事件(手势事件)
卿卿qing
HarmonyOS4.0
1.绑定手势方法1.1gesture(常规手势绑定方法)1.2priorityGesture(带优先级的手势绑定方法)1.3parallelGesture(并行手势绑定方法)可以在父子组件上绑定。可以同时响应的相同手势。当父组件绑定了并行手势parallelGesture时,父子组件相同的手势事件都可以触发,实现类似冒泡效果。2.单一手势2.1TapGesture-点击手势支持单次点击和多次点击,
- Android 手写viewpager
哈龙_99
android
以下是一个简化的ViewPager实现示例:importandroid.content.Contextimportandroid.util.AttributeSetimportandroid.view.GestureDetectorimportandroid.view.MotionEventimportandroid.view.Viewimportandroid.view.ViewGroupimp
- #say something#
onetwo3go
image.pngafewpeoplestandingaroundtolookatawhitecar,infrontofwhich,amanwearingacostumeintheStarWarswithhislefthandholdingagan,whilehisrighthandmakingagesturetotellthedriverinthewhitecartostoprightthere
- WKWebView逐级返回
杏子_2fd0
最近需要对WKWebView加载的页面添加逐级返回功能,考虑了两种实现方案。第一种方案:直接打开WKWebView的滑动切换功能_webView.allowsBackForwardNavigationGestures=true:至此,当存在多级页面是,就可以左右滑动,实现逐级切换了第二中方案:禁用WKWebView的滑动切换功能_webView.allowsBackForwardNavigatio
- Flutter滑动冲突处理——GestureDetector嵌套ListView
哈喽,我是老刘几年前分享了一篇GestureDetector嵌套ListView的文章Flutter多控件滑动事件联动(滑动冲突处理)由于文章中只给出了关键部位的代码,另外使用的技术也偏底层所以很多同学私信我要完整的源码这里把原先的方案整理一下,另外也给出完整的代码供大家参考我们先一点一点来看这个问题滑动关闭组件首先大家一定在各种App中见过这个滑动关闭组件就是手指向下滑动,组件跟随手指移动手指抬
- Blazor入门100天 : 自做一个手势滑动组件
Densen2014
BlazorBlazorhybird/MAUIBlazorBlazor组件数据库服务器运维
####0.我想在blazor模仿app实现触摸返回,下拉刷新…现在用blazor做app(blazorhybird)和支持手机浏览页面越来越多,net8也推出了一个webappauto模式,可谓是极大的利好,2024让auto流行起来,配套源码demohttps://blazor.app1.es/b20Gesture####1.新建net8blazor工程b20Gesture至于用什么模式大家各
- Android矩阵Matrix动画缩放Bitmap移动手指触点到ImageView中心位置,Kotlin
zhangphil
kotlinAndroidandroidkotlin
Android矩阵Matrix动画缩放Bitmap移动手指触点到ImageView中心位置,Kotlin借鉴Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心,Kotlin(2)-CSDN博客在此基础上实现手指在屏幕上点击后,动画放大图片,在放大过程中,移动手指触点位置到ImageView的中心。importandroid.co
- 【SwiftUI】手势(Gestures)的使用
SmartisanBool
这篇文章主要了解在SwiftUI中如何使用手势,以及对@GestureState的学习,最后通过组合手势完成写一个拖拽卡片的小Demo。GesturemodifierSwiftUI提供了一系列的手势支持,比如TapGesture,DragGesture,RotationGesture,MagnificationGesture,LongPressGesture等。我们可以通过对View添加modif
- Swift的手势点击事件和tableView点击事件冲突
symBoy
解决方法:给手势添加代理方法:UIGestureRecognizerDelegateextensionUIViewController:UIGestureRecognizerDelegate{funcgestureRecognizer(_gestureRecognizer:UIGestureRecognizer,shouldReceivetouch:UITouch)->Bool{ifNSStrin
- Swift-子视图 不触发 添加到父视图的Tap手势
时光燕
为父View添加tap手势lettap=UITapGestureRecognizer.init(target:self,action:#selector(self.dismissView))tap.delegate=self//设置tap手势代理self.view.addGestureRecognizer(tap)//添加tap手势实现tap手势的代理方法extensionIESpeechView
- 鸿蒙开发系列教程(十五)--gesture 手势事件
huazi99
鸿蒙harmonyos华为
gesture手势事件手势操作是指在移动设备上使用手指或手势进行与应用程序交互的方式。手势操作可以包括点击、滑动、双击、捏合等动作,用于实现不同的功能和操作。gesture常规手势参考代码:@Entry@ComponentstructTest03{build(){Column(){Text('常规手势').fontSize(28).gesture(//加载单击手势TapGesture().onAc
- ReactNative实现的横向滑动条
xvzhengyang
ReactNative前端reactnativesliderHorizntalSlider
OK,我们先看下效果图注意使用到了两个库1.react-native-linear-gradient2.react-native-gesture-handlerok,我们看下面的代码import{Image,TouchableWithoutFeedback,StyleSheet,View}from'react-native';importLinearGradientfrom'react-nativ
- Android ANR问题基本分析方法
汤圆拓海
androidjava
对于ANR问题的介绍,首先可以参考google的官方文档ANR一、ANR的种类ANR的问题表现为以下4种:输入调度超时:如果您的应用在5秒内未响应输入事件(例如按键或屏幕触摸)。日志的标志性打印为://输入事件未响应的日志打印Reason:Inputdispatchingtimedout([GestureMonitor]edge-swipe(server)isnotresponding.Waite
- Flutter 自定义缩放控件
StoneHui
最近在学习Flutter,俗话说的好,纸上得来终觉浅,所以动手撸了一个gank.io的APP,有兴趣的可以到GitHub看看源码。本文将与大家分享项目中自定义的缩放控件GestureZoomBox。功能双击缩放。双指缩放。以双击位置/双指位置作为缩放中心。限制缩放/拖动范围,超过范围自动回弹。作为父级Widget直接嵌套,无侵入。demo_big_image.gif核心原理手势识别GestureD
- 【Unity】Unity 常用插件
是嘟嘟啊
UnityUnity基础功能Unity项目管理unity游戏开发游戏引擎
NGUI,算是最常用的UI插件了,下载地址:https://download.csdn.net/download/xiaoyaoACi/21028754FingerGestures,顾名思义,这个是支持移动设备所有触摸事件的插件,包括点击,滑动,还有自定义手势等等,云盘:http://pan.baidu.com/s/1mgDp5GkEasyTouch,也是用于移动平台上的RPG类的游戏,这里有篇文
- 双语美文|我从未曾去过的地方
读出英文之美
SomewhereIhavenevertraveled我从未曾去过的地方byE.E.CummingsSomewhereIhavenevertraveled,gladlybeyondanyexperience,那是我从未曾去过的地方,愉悦的超越了所有的体会,youreyeshavetheirsilence:你的眼睛是那样的静默:inyourmostfrailgesturearethingswhich
- iOS之WKWebView 的Cookie读取与注入 解决登录同步
羽裳有涯
开发个新项目,全部用web端,就原生的几个tabbar,于是选择了WKWebView,把遇到的问题总结下。WKWebView手势返回/*!@abstractABooleanvalueindicatingwhetherhorizontalswipegestureswilltriggerback-forwardlistnavigations.@discussionThedefaultvalueisNO
- ScaleGestureDetector 在两指距离较短时,不能缩放
Mars-xq
前端
来源ScaleGestureDetector在两指距离较短时,不能缩放一、问题分析调试了发现,当手指距离很短的时候detector.getScaleFactor()等于1,基本不动,那肯定不会缩放了。没办法只能去到ScaleGestureDetector的源码,发现如果要回调onScale(ScaleGestureDetectordetector),则它的条件如下:if(action==Motio
- 推荐10款笔者一直在使用的Chrome提效插件
JavaNice哥
javachrome前端
推荐10款笔者一直在使用的Chrome提效插件本文推荐的10款插件笔者一直在用,部分插件可能有点冷门,但绝壁是提升效率的好帮手,在我眼里是必备插件。笔者已创建GitHub仓库,欢迎分享、讨论。一起打造最强Chrome插件集。1.CrxMouseChrome™Gestures作用:高度可自定义的鼠标手势、超级拖拽、鼠标滚轮手势、遥感手势,提升工作效率。官方网站:https://crxmouse.co
- FlingGestureHandler - react-native-gesture-handler
JamesSawyer
文档来源:FlingGestureHandler分离类型handler,当动作足够长并且快时激活。当handler被激活,手指释放是,state将变为END。如果handler在激活之前,手指就松开了,handler将识别失败,iOS中使用UISwipeGestureRecognizer实现,而Android中是自定义实现。属性(properties)属性除了公用属性外,下面是FlingGestu
- iOS 使用touchBegan隐藏键盘后,UIButton和UITableView上的点击事件不响应
wangxiao001
隐藏键盘操作,是开发中常见操作。一般,我们可以通过下面的方式,来隐藏键盘。隐藏键盘的处理逻辑如下:-(void)viewDidLoad{-(void)touchesBegan{[superviewDidLoad];。。。。。。。。。。UITapGestureRecognizer*tap=[[UITapGestureRecognizeralloc]initWithTarget:selfaction:
- flutter 五点一点三:简简单单小画板
魑魅魍魉都是鬼
flutter
classCextendsStatefulWidget{@overrideStatecreateState()=>CState();}classCStateextendsState{Listpoints=[];@overrideWidgetbuild(BuildContextcontext){returnScaffold(body:MouseRegion(child:GestureDetector
- Flutter中深入了解MaterialApp,常用属性解析
可可鸭~
Flutter移动开发flutteriosandroid
一、Flutter中结构图FlutterFrameworkFoundation、Animation、Painting、Gestures合成了DartUI层,对应的是Flutter中dart:ui包,对应的含义是动画、手势、绘制能力。Rendering层是一个抽象布局层,依赖于DartUI层,Rendering层会构建一个UI树、当UI树有变化时,会计算出有变化的部分,然后更新UI树,最终绘制在屏幕
- Flutter 点击空白的地方让软键盘消失
A HandSome Man
flutter前端
在Flutter中,你可以通过在Scaffold的body上添加一个GestureDetector来实现点击空白处隐藏键盘的操作。下面是一个示例代码:import'package:flutter/material.dart';classMyAppextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){returnMateri
- Maven
Array_06
eclipsejdkmaven
Maven
Maven是基于项目对象模型(POM), 信息来管理项目的构建,报告和文档的软件项目管理工具。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司
- ibatis的queyrForList和queryForMap区别
bijian1013
javaibatis
一.说明
iBatis的返回值参数类型也有种:resultMap与resultClass,这两种类型的选择可以用两句话说明之:
1.当结果集列名和类的属性名完全相对应的时候,则可直接用resultClass直接指定查询结果类
- LeetCode[位运算] - #191 计算汉明权重
Cwind
java位运算LeetCodeAlgorithm题解
原题链接:#191 Number of 1 Bits
要求:
写一个函数,以一个无符号整数为参数,返回其汉明权重。例如,‘11’的二进制表示为'00000000000000000000000000001011', 故函数应当返回3。
汉明权重:指一个字符串中非零字符的个数;对于二进制串,即其中‘1’的个数。
难度:简单
分析:
将十进制参数转换为二进制,然后计算其中1的个数即可。
“
- 浅谈java类与对象
15700786134
java
java是一门面向对象的编程语言,类与对象是其最基本的概念。所谓对象,就是一个个具体的物体,一个人,一台电脑,都是对象。而类,就是对象的一种抽象,是多个对象具有的共性的一种集合,其中包含了属性与方法,就是属于该类的对象所具有的共性。当一个类创建了对象,这个对象就拥有了该类全部的属性,方法。相比于结构化的编程思路,面向对象更适用于人的思维
- linux下双网卡同一个IP
被触发
linux
转自:
http://q2482696735.blog.163.com/blog/static/250606077201569029441/
由于需要一台机器有两个网卡,开始时设置在同一个网段的IP,发现数据总是从一个网卡发出,而另一个网卡上没有数据流动。网上找了下,发现相同的问题不少:
一、
关于双网卡设置同一网段IP然后连接交换机的时候出现的奇怪现象。当时没有怎么思考、以为是生成树
- 安卓按主页键隐藏程序之后无法再次打开
肆无忌惮_
安卓
遇到一个奇怪的问题,当SplashActivity跳转到MainActivity之后,按主页键,再去打开程序,程序没法再打开(闪一下),结束任务再开也是这样,只能卸载了再重装。而且每次在Log里都打印了这句话"进入主程序"。后来发现是必须跳转之后再finish掉SplashActivity
本来代码:
// 销毁这个Activity
fin
- 通过cookie保存并读取用户登录信息实例
知了ing
JavaScripthtml
通过cookie的getCookies()方法可获取所有cookie对象的集合;通过getName()方法可以获取指定的名称的cookie;通过getValue()方法获取到cookie对象的值。另外,将一个cookie对象发送到客户端,使用response对象的addCookie()方法。
下面通过cookie保存并读取用户登录信息的例子加深一下理解。
(1)创建index.jsp文件。在改
- JAVA 对象池
矮蛋蛋
javaObjectPool
原文地址:
http://www.blogjava.net/baoyaer/articles/218460.html
Jakarta对象池
☆为什么使用对象池
恰当地使用对象池化技术,可以有效地减少对象生成和初始化时的消耗,提高系统的运行效率。Jakarta Commons Pool组件提供了一整套用于实现对象池化
- ArrayList根据条件+for循环批量删除的方法
alleni123
java
场景如下:
ArrayList<Obj> list
Obj-> createTime, sid.
现在要根据obj的createTime来进行定期清理。(释放内存)
-------------------------
首先想到的方法就是
for(Obj o:list){
if(o.createTime-currentT>xxx){
- 阿里巴巴“耕地宝”大战各种宝
百合不是茶
平台战略
“耕地保”平台是阿里巴巴和安徽农民共同推出的一个 “首个互联网定制私人农场”,“耕地宝”由阿里巴巴投入一亿 ,主要是用来进行农业方面,将农民手中的散地集中起来 不仅加大农民集体在土地上面的话语权,还增加了土地的流通与 利用率,提高了土地的产量,有利于大规模的产业化的高科技农业的 发展,阿里在农业上的探索将会引起新一轮的产业调整,但是集体化之后农民的个体的话语权 将更少,国家应出台相应的法律法规保护
- Spring注入有继承关系的类(1)
bijian1013
javaspring
一个类一个类的注入
1.AClass类
package com.bijian.spring.test2;
public class AClass {
String a;
String b;
public String getA() {
return a;
}
public void setA(Strin
- 30岁转型期你能否成为成功人士
bijian1013
成功
很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人
- [Velocity三]基于Servlet+Velocity的web应用
bit1129
velocity
什么是VelocityViewServlet
使用org.apache.velocity.tools.view.VelocityViewServlet可以将Velocity集成到基于Servlet的web应用中,以Servlet+Velocity的方式实现web应用
Servlet + Velocity的一般步骤
1.自定义Servlet,实现VelocityViewServl
- 【Kafka十二】关于Kafka是一个Commit Log Service
bit1129
service
Kafka is a distributed, partitioned, replicated commit log service.这里的commit log如何理解?
A message is considered "committed" when all in sync replicas for that partition have applied i
- NGINX + LUA实现复杂的控制
ronin47
lua nginx 控制
安装lua_nginx_module 模块
lua_nginx_module 可以一步步的安装,也可以直接用淘宝的OpenResty
Centos和debian的安装就简单了。。
这里说下freebsd的安装:
fetch http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar zxvf lua-5.1.4.tar.gz
cd lua-5.1.4
ma
- java-14.输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字
bylijinnan
java
public class TwoElementEqualSum {
/**
* 第 14 题:
题目:输入一个已经按升序排序过的数组和一个数字,
在数组中查找两个数,使得它们的和正好是输入的那个数字。
要求时间复杂度是 O(n) 。如果有多对数字的和等于输入的数字,输出任意一对即可。
例如输入数组 1 、 2 、 4 、 7 、 11 、 15 和数字 15 。由于
- Netty源码学习-HttpChunkAggregator-HttpRequestEncoder-HttpResponseDecoder
bylijinnan
javanetty
今天看Netty如何实现一个Http Server
org.jboss.netty.example.http.file.HttpStaticFileServerPipelineFactory:
pipeline.addLast("decoder", new HttpRequestDecoder());
pipeline.addLast(&quo
- java敏感词过虑-基于多叉树原理
cngolon
违禁词过虑替换违禁词敏感词过虑多叉树
基于多叉树的敏感词、关键词过滤的工具包,用于java中的敏感词过滤
1、工具包自带敏感词词库,第一次调用时读入词库,故第一次调用时间可能较长,在类加载后普通pc机上html过滤5000字在80毫秒左右,纯文本35毫秒左右。
2、如需自定义词库,将jar包考入WEB-INF工程的lib目录,在WEB-INF/classes目录下建一个
utf-8的words.dict文本文件,
- 多线程知识
cuishikuan
多线程
T1,T2,T3三个线程工作顺序,按照T1,T2,T3依次进行
public class T1 implements Runnable{
@Override
 
- spring整合activemq
dalan_123
java spring jms
整合spring和activemq需要搞清楚如下的东东1、ConnectionFactory分: a、spring管理连接到activemq服务器的管理ConnectionFactory也即是所谓产生到jms服务器的链接 b、真正产生到JMS服务器链接的ConnectionFactory还得
- MySQL时间字段究竟使用INT还是DateTime?
dcj3sjt126com
mysql
环境:Windows XPPHP Version 5.2.9MySQL Server 5.1
第一步、创建一个表date_test(非定长、int时间)
CREATE TABLE `test`.`date_test` (`id` INT NOT NULL AUTO_INCREMENT ,`start_time` INT NOT NULL ,`some_content`
- Parcel: unable to marshal value
dcj3sjt126com
marshal
在两个activity直接传递List<xxInfo>时,出现Parcel: unable to marshal value异常。 在MainActivity页面(MainActivity页面向NextActivity页面传递一个List<xxInfo>): Intent intent = new Intent(this, Next
- linux进程的查看上(ps)
eksliang
linux pslinux ps -llinux ps aux
ps:将某个时间点的进程运行情况选取下来
转载请出自出处:http://eksliang.iteye.com/admin/blogs/2119469
http://eksliang.iteye.com
ps 这个命令的man page 不是很好查阅,因为很多不同的Unix都使用这儿ps来查阅进程的状态,为了要符合不同版本的需求,所以这个
- 为什么第三方应用能早于System的app启动
gqdy365
System
Android应用的启动顺序网上有一大堆资料可以查阅了,这里就不细述了,这里不阐述ROM启动还有bootloader,软件启动的大致流程应该是启动kernel -> 运行servicemanager 把一些native的服务用命令启动起来(包括wifi, power, rild, surfaceflinger, mediaserver等等)-> 启动Dalivk中的第一个进程Zygot
- App Framework发送JSONP请求(3)
hw1287789687
jsonp跨域请求发送jsonpajax请求越狱请求
App Framework 中如何发送JSONP请求呢?
使用jsonp,详情请参考:http://json-p.org/
如何发送Ajax请求呢?
(1)登录
/***
* 会员登录
* @param username
* @param password
*/
var user_login=function(username,password){
// aler
- 发福利,整理了一份关于“资源汇总”的汇总
justjavac
资源
觉得有用的话,可以去github关注:https://github.com/justjavac/awesome-awesomeness-zh_CN 通用
free-programming-books-zh_CN 免费的计算机编程类中文书籍
精彩博客集合 hacke2/hacke2.github.io#2
ResumeSample 程序员简历
- 用 Java 技术创建 RESTful Web 服务
macroli
java编程WebREST
转载:http://www.ibm.com/developerworks/cn/web/wa-jaxrs/
JAX-RS (JSR-311) 【 Java API for RESTful Web Services 】是一种 Java™ API,可使 Java Restful 服务的开发变得迅速而轻松。这个 API 提供了一种基于注释的模型来描述分布式资源。注释被用来提供资源的位
- CentOS6.5-x86_64位下oracle11g的安装详细步骤及注意事项
超声波
oraclelinux
前言:
这两天项目要上线了,由我负责往服务器部署整个项目,因此首先要往服务器安装oracle,服务器本身是CentOS6.5的64位系统,安装的数据库版本是11g,在整个的安装过程中碰到很多的坑,不过最后还是通过各种途径解决并成功装上了。转别写篇博客来记录完整的安装过程以及在整个过程中的注意事项。希望对以后那些刚刚接触的菜鸟们能起到一定的帮助作用。
安装过程中可能遇到的问题(注
- HttpClient 4.3 设置keeplive 和 timeout 的方法
supben
httpclient
ConnectionKeepAliveStrategy kaStrategy = new DefaultConnectionKeepAliveStrategy() {
@Override
public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
long keepAlive
- Spring 4.2新特性-@Import注解的升级
wiselyman
spring 4
3.1 @Import
@Import注解在4.2之前只支持导入配置类
在4.2,@Import注解支持导入普通的java类,并将其声明成一个bean
3.2 示例
演示java类
package com.wisely.spring4_2.imp;
public class DemoService {
public void doSomethin