策划类网站,怎么网站推广,Wordpress 修改 mysql 插件,北京电子商务网站制作通过电脑操作手机#xff0c;支持单击#xff0c;拖抓事件#xff0c;延时有1-2秒。
具体步骤#xff1a;
1、从手机截图到sdcard
2、将图片导出到PC
3、从PC加载展示图片
4、开启定时器
5、设置点击、滚动事件 1、 private static void takeScreenshot(String path)…通过电脑操作手机支持单击拖抓事件延时有1-2秒。
具体步骤
1、从手机截图到sdcard
2、将图片导出到PC
3、从PC加载展示图片
4、开启定时器
5、设置点击、滚动事件 1、 private static void takeScreenshot(String path) {long t1 System.currentTimeMillis();String command adb devices; // 替换为你需要执行的shell命令String command1 adb shell screencap -p /sdcard/screencap.png; // 替换为你需要执行的shell命令String command2 adb pull /sdcard/screencap.png path; // 替换为你需要执行的shell命令String command3 adb shell rm /sdcard/screencap.png; // 替换为你需要执行的shell命令String command4 rm -rf path; // 替换为你需要执行的shell命令try {
// Process process Runtime.getRuntime().exec(command);Process process1 Runtime.getRuntime().exec(command1);Process process2 Runtime.getRuntime().exec(command2);Process process3 Runtime.getRuntime().exec(command3);
// Process process4 Runtime.getRuntime().exec(command4);// {
// BufferedReader reader new BufferedReader(new InputStreamReader(process.getInputStream()));
// String line;
// while ((line reader.readLine()) ! null) {
// System.out.println(line);
// }
// }{BufferedReader reader new BufferedReader(new InputStreamReader(process1.getInputStream()));String line;while ((line reader.readLine()) ! null) {System.out.println(line);}}
// {
// BufferedReader reader new BufferedReader(new InputStreamReader(process2.getInputStream()));
// String line;
// while ((line reader.readLine()) ! null) {
// System.out.println(line);
// }
// }
// {
// BufferedReader reader new BufferedReader(new InputStreamReader(process3.getInputStream()));
// String line;
// while ((line reader.readLine()) ! null) {
// System.out.println(line);
// }
// }
// {
// BufferedReader reader new BufferedReader(new InputStreamReader(process4.getInputStream()));
// String line;
// while ((line reader.readLine()) ! null) {
// System.out.println(line);
// }
// }long t2 System.currentTimeMillis();System.out.println(takeScreenshot Exited with code: 时间 (t2 - t1));} catch (Exception e) {e.printStackTrace();}}
2、
static BufferedImage getImage(String folderPath) {long t1 System.currentTimeMillis();File folder new File(folderPath);File[] listOfFiles folder.listFiles();BufferedImage bufferedImage null;for (File file : listOfFiles) {if (file.isFile() file.getName().toLowerCase().endsWith(.png) || file.getName().toLowerCase().endsWith(.jpg) || file.getName().toLowerCase().endsWith(.jpeg)) {try {bufferedImage ImageIO.read(file);// 1080*2340screenW bufferedImage.getWidth();screenH bufferedImage.getHeight();System.out.println(getImage bufferedImage.getWidth() bufferedImage.getHeight());} catch (IOException e) {e.printStackTrace();} finally {long t2 System.currentTimeMillis();System.out.println(getImage : 时间 (t2 - t1));return bufferedImage;}}}return null;
}
3、 static JFrame jFrame;static JLabel jLabel;static int screenW;static int screenH;static int scale 3;static void showFrame(BufferedImage screenFullImage) {// 1080*2340jFrame new JFrame(Screen Capture);jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jLabel new JLabel();//设置标签大小这种可以设计成自己想要大小int windW screenW / 3;int windH screenH / 3;scale 3;jLabel.setBounds(0, 0, windW, windH);////86 212//28 63//将图片进行转换添加到标签当中 这个是工具类具体参考下面给出代码setImgSize(screenFullImage, jLabel);jFrame.add(jLabel);jFrame.pack();
// frame.setSize(300,600); // 设置JFrame的尺寸jFrame.setVisible(true);addMouseListener(jLabel);}
4、
private static final int DELAY 400; // 帧间隔单位毫秒public static void main(String[] args) {String path /Users/Desktop/command/png2;takeScreenshot(path);BufferedImage image getImage(path);showFrame(image);Timer timer new Timer(DELAY, new ActionListener() {Overridepublic void actionPerformed(ActionEvent e) {System.out.println(actionPerformed);takeScreenshot(path);BufferedImage screenFullImage getImage(path);setImgSize(screenFullImage, jLabel);}});timer.start();
}
5、 /*** 添加单击事件** param jLabel*/private static void addMouseListener(JLabel jLabel) {jLabel.addMouseListener(new MouseAdapter() {Overridepublic void mouseClicked(MouseEvent e) {super.mouseClicked(e);onMouseClicked(e);}Overridepublic void mousePressed(MouseEvent e) {super.mousePressed(e);System.out.println(mousePressed);xPress e.getX();yPress e.getY();}Overridepublic void mouseReleased(MouseEvent e) {super.mouseReleased(e);isMouseDragged false;
// System.out.println(mouseReleased isMouseDragged isMouseDragged);}Overridepublic void mouseEntered(MouseEvent e) {super.mouseEntered(e);
// System.out.println(mouseEntered);}Overridepublic void mouseExited(MouseEvent e) {super.mouseExited(e);
// System.out.println(mouseExited);}});jLabel.addMouseMotionListener(new MouseMotionListener() {Overridepublic void mouseDragged(MouseEvent e) {System.out.println(mouseDragged addMouseMotionListener e.getY());isMouseDragged true;xEndPress e.getX();yEndPress e.getY();onMouseDragged(e);}Overridepublic void mouseMoved(MouseEvent e) {
// System.out.println(mouseMoved addMouseMotionListener);}});jLabel.addMouseWheelListener(new MouseWheelListener() {Overridepublic void mouseWheelMoved(MouseWheelEvent e) {
// System.out.println(mouseWheelMoved addMouseWheelListener e.getY());}});}static int xPress;static int yPress;static int xEndPress;static int yEndPress;static boolean isMouseDragged false;private static void onMouseDragged(MouseEvent mouseEvent) {System.out.println(onMouseDragged mouseEvent.getX() mouseEvent.getY());if (Math.abs(yEndPress - yPress) 20 * scale) {return;}//adb shell input touchscreen draganddrop x1 y1 x2 y2//adb shell input swipe 250 250 300 300String command adb shell input swipe xPress * scale yPress * scale xEndPress * scale yEndPress * scale;System.out.println(commond command);Process process;try {process Runtime.getRuntime().exec(command);BufferedReader reader new BufferedReader(new InputStreamReader(process.getInputStream()));String line;while ((line reader.readLine()) ! null) {System.out.println(line);}} catch (IOException e) {e.printStackTrace();}}private static void onMouseClicked(MouseEvent mouseEvent) {if (isMouseDragged) {return;}System.out.println(onMouseClicked mouseEvent.getX() mouseEvent.getY());float TARGET_X mouseEvent.getX() * scale;float TARGET_Y mouseEvent.getY() * scale;System.out.println(onMouseClicked TARGET_X TARGET_Y);//adb shell input tap 250 250String command adb shell input tap TARGET_X TARGET_Y;// 使用adb shell输入命令模拟点击// adb shell input tap $TARGET_X $TARGET_YProcess process;try {process Runtime.getRuntime().exec(command);BufferedReader reader new BufferedReader(new InputStreamReader(process.getInputStream()));String line;while ((line reader.readLine()) ! null) {System.out.println(line);}} catch (IOException e) {e.printStackTrace();}} 6、