Android 将后台应用自动切换到前台
需求分析
项目中有一个需求,需要调用打开本地安装好的第三方 APP,然后在某个时刻需要将自己的 APP 仍然从后台切换到前端(置顶)。
效果如下:点击 “开始”之后,打开安装好的 “Google Map” APP,休眠5秒后,再重新将自己的应用 “mousecontroller” 置顶到最前端。
编译环境
12345678Android Studio 3.4.1Build #AI-183.6156.11.34.5522156, built on May 2, 2019JRE: 1.8.0_152-release-1343-b16-5323222 amd64JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.oLinux 4.15.0-58-genericminSdkVersion: 14targetSdkVersion: 29
代码实现
布局文件 activity_main.xml 内容如下:
12345678910111213141516171819202122232425<?xml version=" ...
size_t为什么重要-Why size_t matters
翻译自Dan Saks(7/3/2007 12:27 PM)《Why size_t matters》
写在翻译前的话
为unsigned int不是唯一的无符号整数类型。 size_t可以是unsigned char,unsigned short,unsigned int,unsigned long或unsigned long long中的任何一个,具体取决于实现。
if it is use to represent non negative value so why we not using unsigned int instead of size_t .
前言
适当地使用size_t可以改善你代码的可移植性、高效性或者可读性。或许同时提高三者。
标准C库中的许多函数接受参数或返回以字节表示对象大小的值。例如,malloc(n)中的惟一参数指定要分配的对象的大小,memcpy(s1, s2, n)中的最后一个参数指定要复制的对象的大小。strlen(s)的返回值生成以null结尾的字符数组s的长度(其中的字符数),不包括null字符,它的大小并不完全等于s,但大致相同。
...
浏览器touchmove及mousemove延迟测试demo:单元素连续随手滑动
话不多说,直接上代码:
效果展示
代码实现
注意:本代码仅在chrome上测试(版本 76.0.3809.100(正式版本)snap (64 位))。
<!DOCTYPE html>
<html>
<head>
<style>
#div1 {
width: 100px;
height: 100px;
background: red;
position: absolute;
border-radius: 50px;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SingleItem</title>
<sc ...
C++中字符串的查找find()及erase()系列
编译环境
系统环境:
patten@patten-hp:~$ sudo lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
patten@patten-hp:~$
IDE环境:Visual Studio Code,Version: 1.36.1
find族成员及其一般用法
string成员函数中的find族是用来在给定字符串中定位某个或某组字符的,如下表所示:
字符串查找成员函数
函数功能及实现
find()
在一个字符串中查找指定的单个字符或字符组。如果找到,就返回首次匹配的开始位置;如果没有查找到匹配的内容,则返回npos
find_first_of()
在一个字符串中查找,返回值是第一个与指定字符组中任何字符匹配的字符位置;如果没有查找到匹配的内容,则返回npos
find_last_of()
在一个字符串中查找,返回值最后一个与指定字符组中任 ...
C++对string字符串进行操作常用函数
编译环境
系统环境:
patten@patten-hp:~$ sudo lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
patten@patten-hp:~$
IDE环境:Visual Studio Code,Version: 1.36.1
string常用函数汇总
append()
常用函数原型:
basic_string &append( const basic_string &str ); //在字符串的末尾添加str
basic_string &append( const char *str ); //在字符串的末尾添加str
basic_string &append( const basic_string &str, size_type index, size_type len ); / ...
python在ubuntu下爬取金庸作品集
准备爬取金庸作品集后做一个语录搜索引擎,找到了某位大神的源码,稍微修改就成了,以备后续使用。
目标网站:金庸作品集
代码实现(文件所在路径/home/patten/workspace/others/python/jyyl.python):
#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @Time:2019/08/07 20:00
# @Author: PattenKuo
# @File: jyyl.python
import requests
from bs4 import BeautifulSoup
import time
#获取每本书的章节内容
def get_chapter(url):
# 获取网页的源代码
try:
html=requests.get(url,timeout=100)
html.encoding = html.apparent_encoding
content=html.content
# 将网页源代码解析成HTML格式
...
C/C++中的_access函数判断文件是否存在
引言:
access函数主要用于文件读取方面——判断文件是否存在,并判断文件是否可写。Linux下,该函数为access,位于头文件<unistd.h>中,而在标准C++中,该函数为_access,位于头文件<io.h>中,两者的使用方法基本相同,只是在一些参数方面可能会有一些不同的宏定义。
windows环境
windows下函数原型:
头文件:<io.h>
函数原型:int _access(const char *pathname, int mode);
参数:pathname 为文件路径或目录路径 mode 为访问权限(在不同系统中可能用不能的宏定义重新定义)
返回值:如果文件具有指定的访问权限,则函数返回0;如果文件不存在或者不能访问指定的权限,则返回-1.
备注:当pathname为文件时,_access函数判断文件是否存在,并判断文件是否可以用mode值指定的模式进行访问。当pathname为目录时,_access只判断指定目录是否存在,在Windows NT和Windows 2000中,所有的目录都只有读写权限。
mode的值和含 ...
C++11/14中的新特性:其他杂项
尊重原创,转载自实验楼,如需线上实操,请直接访问原教程网址:点击这里。
本博文仅作为备份,侵删。
“C++11/14中的新特性”系列汇总:
C++11/14中的新特性:语言可用性的强化
C++11/14中的新特性:语言运行期的强化
C++11/14中的新特性:对标准库的扩充 - 智能指针和引用计数
C++11/14中的新特性:对标准库的扩充 - 正则表达式
C++11/14中的新特性:对标准库的扩充 - 新增容器
C++11/14中的新特性:对标准库的扩充 - 语言级线程支持
C++11/14中的新特性:其他杂项
一、新类型
long long int
long long int 并不是 C11 最先引入的,其实早在 C99,long long int 就已经被纳入 C 标准中,所以大部分的编译器早已支持。C11 的工作则是正式把它纳入标准库,规定了一个 long long int 类型至少具备 64 位的比特数。
二、noexcept 的修饰和操作
C++ 相比于 C 的一大优势就在于 C++ 本身就定义了一套完整的异常处理机制。然而在 C11 之前,几乎没有人去使用在函数 ...
C++11/14中的新特性:对标准库的扩充 - 语言级线程支持
尊重原创,转载自实验楼,如需线上实操,请直接访问原教程网址:点击这里。
本博文仅作为备份,侵删。
“C++11/14中的新特性”系列汇总:
C++11/14中的新特性:语言可用性的强化
C++11/14中的新特性:语言运行期的强化
C++11/14中的新特性:对标准库的扩充 - 智能指针和引用计数
C++11/14中的新特性:对标准库的扩充 - 正则表达式
C++11/14中的新特性:对标准库的扩充 - 新增容器
C++11/14中的新特性:对标准库的扩充 - 语言级线程支持
C++11/14中的新特性:其他杂项
提示:本节代码编译需要使用 -pthread 选项,例如:
g++ main.cpp -std=c++14 -pthread
一、std::thread
std::thread 用于创建一个执行的线程实例,所以它是一切并发编程的基础,使用时需要包含头文件,它提供了很多基本的线程操作,例如get_id()来获取所创建线程的线程 ID,例如使用 join() 来加入一个线程等等,例如:
#include <iostream>
#include <th ...
C++11/14中的新特性:对标准库的扩充 - 新增容器
尊重原创,转载自实验楼,如需线上实操,请直接访问原教程网址:点击这里。
本博文仅作为备份,侵删。
“C++11/14中的新特性”系列汇总:
C++11/14中的新特性:语言可用性的强化
C++11/14中的新特性:语言运行期的强化
C++11/14中的新特性:对标准库的扩充 - 智能指针和引用计数
C++11/14中的新特性:对标准库的扩充 - 正则表达式
C++11/14中的新特性:对标准库的扩充 - 新增容器
C++11/14中的新特性:对标准库的扩充 - 语言级线程支持
C++11/14中的新特性:其他杂项
一、std::array 和 std::forward_list
std::array
看到这个容器的时候肯定会出现这样的问题:
为什么要引入 std::array 而不是直接使用 std::vector?
已经有了传统数组,为什么要用 std::array?
先回答第一个问题,std::vecotr 太强大了,以至于我们没有必要为了去敲碎一个鸡蛋而用一个钉锤。使用 std::array 保存在栈内存中,相比堆内存中的 std::vector,我们就能够灵活的访问 ...