system

《自拍教程47》Python_adb重启设备100次

北战南征 提交于 2020-03-20 23:25:57
做Android手机/电视机/车载系统稳定性测试, 需要进行100次的系统重启,确保启动过程中,不出现卡死起不来, 或者起来后Home界面异常等情况。 还有涉及首次使用开机激活界面的测试,要确保每次系统重启, 只要设备没激活,就得每次都弹出激活界面。 准备阶段 adb reboot 或者adb shell reboot 命令, 可以实现手机软重启 adb wait-for-device可以实现等待,等待重启后的手机重新adb连接 os.system可以调用以上 adb 命令行工具 100次,需要一个for循环语句。 Python批处理脚本形式 Python只需要用os.system()函数, 即可快速实现调用各类命令行命令。 # coding=utf-8 import os for i in range(1, 101): os.system("adb wait-for-device") os.system("adb reboot") print("系统第%s轮软重启中...请稍候!" % i) os.system("pause") os.system("pause"),建议尽量加上,其含义是暂停程序执行, 等待用户查看脚本执行结果,避免运行完毕后直接自动关闭脚本执行cmd窗口。 Python面向过程函数形式 找到可以封装成一个函数块的小代码块儿, 用函数封装起来.

net中的定时器

自作多情 提交于 2020-03-20 20:36:45
在web中某个类中对某个方法我想让它定时执行。 对于此,我们可以利用类的静态构造函数和定时器来实现。 直接上代码: using System; using System.Collections.Generic; using System.Text; namespace HMYY.Config { public class Class1 { static System.Timers.Timer timer = new System.Timers.Timer(30); static int a = 1; static Class1() { timer.AutoReset = true; timer.Enabled = true; timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed); timer.Start(); } static void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { //执行你的定时代码 a = a + 1; } public static int Geta() { return a; } } } 这样的话简单的定时器就做好了,如果做全局的,可以在Global.asax里实现 来源: https:/

.NET提供了哪几个定时器类型

一笑奈何 提交于 2020-03-20 20:30:34
分析问题   在.NET内建类型中,一共为程序员提供了3种定时器:   1、System.Windows.Forms.Timer类型。   2、System.Threading.Timer类型。   3、System.Timers.Timer类型。   概况来说,这三种类型都实现了定时的功能。程序员通常需要做的是为定时器设置一个间断时间,设置定时到达时的处理方法,然后就可以等待定时器不断地计时和触发处理事件,现在笔者来分别介绍一下这三种类型的特点。   1、System.Windows.Forms.Timer类型   从这个定时器的命名空间可以看出,.NET设计这个类型的目的是为了方便程序员在Windows界面上使用定时器。当一个System.Windows.Forms.Timer类型被构造时,当前定时器会和当前线程进行关联。而当定时器的计时到达后,一个定时器消息将被插入到当前线程的消息队列中。当前线程将逐一处理消息队列中的所有消息,并一一派发给各自的处理方法。这样的机制和利用工作者线程进行定时有很大的区别,事实上,System.Windows.Forms.Timer类型并没有涉及多线程的操作,定时器的设置、定时方法的执行都在同一个线程上。 注意   这就意味着System.Windows.Forms.Timer并不能准确地定时,事实上,当消息阻塞时,定时器的误差将相当大

从ASP.NET Web API中的控制器返回二进制文件

天大地大妈咪最大 提交于 2020-03-20 20:07:11
3 月,跳不动了?>>> 我正在使用ASP.NET MVC的新WebAPI开发Web服务,该服务将提供二进制文件,主要是 .cab 和 .exe 文件。 以下控制器方法似乎有效,这意味着它返回一个文件,但是将内容类型设置为 application/json : public HttpResponseMessage<Stream> Post(string version, string environment, string filetype) { var path = @"C:\Temp\test.exe"; var stream = new FileStream(path, FileMode.Open); return new HttpResponseMessage<Stream>(stream, new MediaTypeHeaderValue("application/octet-stream")); } 有一个更好的方法吗? #1楼 你可以试试 httpResponseMessage.Content.Headers.Add("Content-Type", "application/octet-stream"); #2楼 对于 Web API 2 ,可以实现 IHttpActionResult 。 这是我的: using System; using System.IO;

Java中String类下的replace和replaceAll方法的区别

谁说我不能喝 提交于 2020-03-20 13:37:06
replace和replaceAll是JAVA中常用的替换字符的方法 public String replace(char oldChar, char newChar) 在字符串中用newChar字符替代oldChar字符,返回一个新的字符串 ** public String replaceAll(String regex,String replacement) 使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的**每个子字符串****。(重要) 区别: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换; 2)replaceAll的参数是regex,即基于正则表达式的替换,比如,可以通过replaceAll("\d", " ")把一个字符串所有的数字字符都换成 号; 相同点: 都是全部替换,即把源字符串中的某一字符或字符串 全部换成 指定的字符或字符串。 如果只想替换第一次出现的,可以使用 replaceFirst(),这个方法也是基于规则表达式的替换 ,但与replaceAll()不同的是,只替换第一次出现的字符串; 另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的操作;

WPF 使用WavefrontObjLoader类显示obj格式的三维图元

与世无争的帅哥 提交于 2020-03-20 07:28:11
前言:毕业设计中需要用WPF展示三维图元,不适合使用XAML也不方便用Blend。于是在网上搜索相关内容找到一些资料,主要参考以下两位的博客: http://www.cnblogs.com/enjoyeclipse/archive/2012/03/21/2410439.html http://blog.sina.com.cn/s/blog_633d0e170100yte3.html 总结如下(18::2—20:00): 1.环境 :vs2010,使用pro/e生成的obj模型,网上下载的WavefrontObjLoader.cs代码(前面给出的第一个文章中有下载 http://www.cnblogs.com/enjoyeclipse/archive/2012/03/21/2410439.html )。 2.步骤:     vs2010中创建wpf项目,MainWindow.xaml的XAML代码如下 MainWindow。xaml 1 <Window x:Class="TestWpfObjLoader.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4

.NET技术----反射

前提是你 提交于 2020-03-20 06:43:57
1、什么是反射 反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等,。 System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码 和反射相关的命名空间(我们就是通过这几个命名空间访问反射信息): System.Reflection.MemberInfo System.Reflection.EventInfo System.Reflection.FieldInfo System.Reflection.MethodBase System.Reflection.ConstructorInfo System.Reflection.MethodInfo System.Reflection.PropertyInfo System.Type System.Reflection.Assembly Reflection,中文翻译为反射。反射是种机制,可以获得一些元数据,可以检查当时正在运行的其他代码,还可以得到一些类的信息。 反射命名空间(System.Reflection)中的类以及 System.Type,您可以获取有关已加载的程序集和在其中定义的类型(如Class、Infterface和值类型等)的信息

程序集与反射技术(C#)

梦想与她 提交于 2020-03-20 06:36:52
首先我们来看 程序集 ,程序集是代码进行编译是的一个逻辑单元,把相关的代码和类型进行组合,然后生成PE文件(例如可执行文件.exe和类库文件.dll)。由于程序集在编译后并不一定会生成单个文件,而可能会生成多个物理文件,甚至可能会生成分布在不同位置的多个物理文件,所以程序集是一个逻辑单元,而不是一个物理单元。即程序集在逻辑上是一个编译单元,但在物理储存上可以有多种存在形式。对于静态程序集可以生成单个或多个文件,而动态程序集是存在于内存中的。 在C#中程序集处处可见,因为任何基于.NET的代码在编译时都至少存在一个程序集(所有.NET项目都会默认引用 mscorlib程序集 )。 基于 .NET框架 的.dll库是一个完整的程序集,需要事先引用对应的类库。从代码的结构上看,一个程序集可以包含一个或多个命名空间,而每个命名空间中又可以包含子命名空间或类型列表。由于程序集在编译后可以生成多个模块文件,因此一个物理文件并不代表它就是一个程序集,一个程序集并不一定只有一个文件。不过,在VS开发环境中,一个解决方案可以包含多个项目,而每个项目就是一个程序集。 程序集信息其实是通过在程序集上应用各种Attribute来设置的,并且这些特性都位于System.Reflection命名空间,也就是这一系列Attribute提供给反射技术,可用于获取程序集的基本信息. 应用程序结构分为应用程序域

JAVA_RSA密钥生成

我的梦境 提交于 2020-03-20 05:13:15
在网上找了下RSA的密钥的创建,结果全是用java序列化PublicKey和PrivateKey来保存,就自己写了个RSA公钥和私钥的创建,及进行Base64编码后保存。 这里用到了 bcprov-jdk16-1.4.5.jar ,可以在 http://www.bouncycastle.org/ 官方主页上下载. public static void createKeyPairs() throws Exception { Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); // create the keys KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "BC"); generator.initialize(512, new SecureRandom()); KeyPair pair = generator.generateKeyPair(); PublicKey pubKey = pair.getPublic(); PrivateKey privKey = pair.getPrivate(); byte[] pk = pubKey.getEncoded(); byte[] privk =

C#基础-Func,Action

空扰寡人 提交于 2020-03-20 03:06:09
Func,Action 的介绍及其用法 Func是一种委托,这是在3.5里面新增的,2.0里面我们使用委托是用Delegate,Func位于System.Core命名空间下,使用委托可以提升效率,例如在反射中使用就可以弥补反射所损失的性能。 Action<T>和Func<T,TResult>的功能是一样的,只是Action<T>没有返类型, Func<T,T,Result>:有参数,有返回类型 Action,则既没有返回也没有参数, Func<T,TResult> 的表现形式分为以下几种: 1。Func<T,TResult> 2。Func<T,T1,TResult> 3。Func<T,T1,T2,TResult> 4。Func<T,T1,T2,T3,TResult> 5。Func<T,T1,T2,T3,T4,TResult> 分别说一下各个参数的意义,TResult表示 委托所返回值 所代表的类型, T,T1,T2,T3,T4表示委托所调用的方法的参数类型, 以下是使用示例: Func<int, bool> myFunc = null;//全部变量 myFunc = x => CheckIsInt32(x); //给委托封装方法的地方 使用了Lambda表达式 private bool CheckIsInt32(int pars)//被封装的方法 {   return pars =