- 博客(54)
- 资源 (4)
- 收藏
- 关注
转载 让我们从机器学习谈起
导读:在本篇文章中,将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。当然,本文也面对一般读者,不会对阅读有相关的前提要求。 在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢? 我并不直接回答这个问题前。相反,我想请大家看两张图,下图是图一:图1 机器学习界的执牛
2017-06-30 11:04:29
426
转载 Android 怎样获得手机信息
1.手机信息查看助手可行性分析 开始进入编写程序前,需要对需求的功能做一些可行性分析,以做到有的放矢,如果有些无法实现的功能,可以尽快调整。 这里分析一下项目需要的功能,主要是信息查看和信息收集,如版本信息、硬件信息等,这些都可以通过读取系统文件或者运行系统命令获取,而像获取安装的软件信息和运行时信息则需要通过API提供的接口获取。实现API接口不是什么问题,主要把精力集中在如何实
2012-10-30 20:15:39
1317
转载 最全的Android源码目录结构详解
Android 2.1|-- Makefile|-- bionic (bionic C库)|-- bootable (启动引导相关代码)|-- build (存放系统编译规则及generic等基础开发包配置)|-- cts
2012-10-29 10:34:53
889
转载 一个fork的面试题
前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的:题目:请问下面的程序一共输出多少个“-”?1234567891011121314
2012-10-24 10:25:16
703
转载 Eclipse python 开发环境配置
由于项目需要用到脚本配置的东西,看了看Python能够做到基本上需要的工作,选择了 2.7.3稳定版本来进行测试开发。转自: Eclipse+python开发环境配置 1、下载Eclipse编辑器。http://www.eclipse.org/downloads/根据电脑的处理器选择32位或64位版本下载。选择“Eclipse Classic 3.6.2”或JAVA开发版本下载
2012-10-23 15:46:37
911
转载 Linux Shell高级技巧
一. 特殊文件: /dev/null和/dev/tty Linux系统提供了两个对Shell编程非常有用的特殊文件,/dev/null和/dev/tty。其中/dev/null将会丢掉所有写入它的数据,换句换说,当程序将数据写入到此文件时,会认为它已经成功完成写入数据的操作,但实际上什么事都没有做。如果你需要的是命令的退出状态,而非它的输出,此功能会非常有用,见如下Shell代
2012-10-11 17:30:11
12548
转载 17个新手常见Python运行时错误
当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。 1) 忘记在 if , elif , else , for , while , class , def 声明末尾添加 :(导致 SyntaxError :invalid syntax ) 该错误将发生当初学 Python 时,想要弄懂
2012-08-22 19:27:55
1001
转载 Android之插入通话记录,短信箱插入短信,号码薄插入联系人
(一) 通话记录的插入。呼叫记录有三种类型: 来电:CallLog.Calls.INCOMING_TYPE (常量值:1) 已拨:CallLog.Calls.OUTGOING_TYPE (常量值:2) 未接:CallLog.Calls.MISSED_TYPE (常量值:3)插入通话记录的代码如下:[java] view plaincopy
2012-08-21 17:05:25
2743
转载 eclipse下SVN subclipse插件
本文目的让未使用过版本控制器软件或者未使用过subversion软件的人员尽快上手。subversion的使用技巧很多,这里只总结了最小使用集,即主要的基本功能,能够用来应付日常工作。因此不涉及subversion服务器端的搭建和配置。为什么要使用版本控制当多人共同开发同一个软件时,会涉及源代码的共享以及带来的相关问题,比如追究某个代码是由谁在什么时间修改的。下面列出版本控
2012-08-13 13:42:45
1076
转载 ANDROID截屏
import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Rect;im
2012-07-31 15:22:57
1217
转载 android debug工具集
1.TraceView1)功能:用于热点分析和性能优化,分析每个函数占用的CPU时间,调用次数,函数调用关系等 2)方法: a)在程序代码中加入追踪开关 import android.os.Debug; …… android.os.Debug.startMethodTracing(“/data/tmp/test”);// 先建/data/tmp目录 ……//
2012-07-26 10:42:31
774
转载 android自动化测试辅助工具Weinre
Weinre是一个类似于普通浏览器的inspector功能的一个软件工具。调研的目的:我们在写android自动化测试用例涉及到webview的时候,抓取页面元素非常苦恼。通常的做法是:跑一些脚本,通过webview提供的接口获取webview的URL。再设置浏览器的代理,然后通过浏览器的webdeveloper tools来查找页面元素。而Weinre的作用在于它提供了一个s
2012-07-26 10:35:04
2450
转载 关于android自动化测试的一些执行原理
当我们写完一个robotium自动化的脚本后,需要注意几点。 1.安卓软件基本有两层组成,第一层是基于java的应用层,第二层是基于linux的底层操作系统。 2.我们通过robotium写的自动化脚本是执行在java应用层上,也就是说我们获取的所有东东都是在布局上面取到的。 我们理清楚这几点之后,开始了解其执行原理。 1.我们的被测对象是apk的源代码,我们的测试代码是基
2012-07-26 10:31:28
1573
转载 Hierarchy Viewer测试工具
在Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率。其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地在开发者设计,调试和调整界面时,提高用户的开发效率。本文将以一个实际例子讲解如何使用该款工具运用在Android的开发过程中。本文的读者对象为具备初步Android知识的用户。 步骤1 设计界面
2012-07-25 15:20:53
950
转载 monkeyrunner测试工具
前言:最近开始研究Android自动化测试方法,对其中的一些工具、方法和框架做了一些简单的整理,其中包括android测试框架、CTS、Monkey、Monkeyrunner、benchmark、其它test tool等等。因接触时间很短,很多地方有不足之处,希望能和大家多多交流。一、什么是monkeyrunnermonkeyrunner工具提供了一个API,使用此API写出的
2012-07-25 13:44:49
921
转载 Monkey测试简介
一、Monkey测试简介Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。二、Monkey程序介绍1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/
2012-07-24 15:42:19
744
转载 Android自动化测试工具——Monkey
前言:最近开始研究Android自动化测试方法,整理了一些工具、方法和框架,其中包括android测试框架,CTS、Monkey、Monkeyrunner、benchmark,以及其它test tool等等。 一、 什么是MonkeyMonkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入
2012-07-24 15:37:56
954
转载 Android自动化测试初探(四): 模拟键盘鼠标事件(Socket+Instrumentation实现)
通过Socket + Instrumentation实现模拟键盘鼠标事件主要通过以下三个部分组成:l Socket编程:实现PC和Emulator通讯,并进行循环监听l Service服务:将Socket的监听程序放在Service中,从而达到后台运行的目的。这里要说明的是启动服务有两种方式,bindService和startService,两者的区别是,前者会使启动的Servic
2012-07-24 15:05:37
1803
转载 Android自动化测试初探(五): 再述模拟键盘鼠标事件(adb shell 实现)
上一篇博文中讲述了通过Socket编程从外部向Emulator发送键盘鼠标模拟事件,貌似实现细节有点复杂。其实Android还有一种更简单的模拟键盘鼠标事件的方法,那就是通过使用adb shell 命令。 1. 发送键盘事件:命令格式1:adb shell input keyevent “value”其中value以及对应的key code如下表所列:K
2012-07-24 15:05:02
1288
转载 Android自动化测试初探(三): 架构实现
前两节讲了用Android SDK自带的tool-hierarchyviewer来捕获Activity上Element,并分析了其中的原理。对于要实现GUI自动化,还有哪些工作没有完成呢?n Invoke界面上的Element,如点击按钮,在文本框中输入内容等n Press手机自身所有的按键,如HOME键,Menu键,左右上下方向键,通话键,挂机键等n 判断测试结果前面说
2012-07-24 14:30:57
1246
转载 Android自动化测试初探(二): Hierarchyviewer 捕获Element的实现原理
Android SDK tools下的工具hierarchyviewer可以展现Device上的Element的层次分布和自身属性,其核心函数之一就是LoadScene,研究后发现其实现方法是向Device的4939端口通过socket的方式发送了一个DUMP的命令,Device会自动处理该命令并将所有Screen上的Element层次结构和属性一并发回,实现代码如下:publicstatic
2012-07-24 14:28:59
921
转载 Android自动化测试初探(一): 捕获Activity上的Element
第一部分:前言Android系统下应用程序的测试现在应该还算是个新的领域,网上关于这方面的资料很多都是基于白盒测试的,一般都是基于JUnit框架和Android SDK中android.test等命名空间下的内容进行,但是有一个前提,那就是必须要有应用程序的源代码以提供测试接入点,但是这在很多软件公司中是不现实的。很多测试工程师做的工作是完全黑盒,基本接触不到源代码,白盒测试大部分也是由开发自
2012-07-24 13:46:58
846
原创 android 应用开发 错误总结
1、Remove @override annotation 解决办法 这个一般是因为配置文件中的JDK版本不对导致的配置文件就是工程目录下.settings文件夹中org.eclipse.jdt.core.prefs文件。可以看到这里的配置是JDK1.5 。我们如果手动将这里的1.5都修改成1.6 然后Refresh下项目就可以了。如果还是有问题,那么打开eclipse,wind
2012-07-19 14:43:50
1111
转载 Java静态方法,静态变量,初始化顺序
1. 静态方法: 成员变量分为实例变量和静态变量。其中实例变量属于某一个具体的实例,必须在类实例化后才真正存在,不同的对象拥有不同的实例变量。而静态变量被该类所有的对象公有(相当于全局变量),不需要实例化就已经存在。方法也可分为实例方法和静态方法。其中,实例方法必须在类实例化之后通过对象来调用,而静态方法可以在类实例化之前就使用。与成员变量不同的是:无论哪种方法,在内存中只有
2012-07-17 14:38:55
48560
1
转载 分析 JUnit 框架源代码
概述在测试驱动的开发理念深入人心的今天,JUnit 在测试开发领域的核心地位日渐稳定。不仅 Eclipse 将 JUnit 作为默认的 IDE 集成组件,而且基于 JUnit 的各种测试框架也在业内被广泛应用,并获得了一致好评。目前介绍 JUnit 书籍文章虽然较多,但大多数是针对 JUnit 的具体应用实践,而对于 JUnit 本身的机制原理,只是停留在框架模块的较浅层次。本文内
2012-07-12 14:46:43
1267
转载 JUnit入门
一、简介JUnit是一个开源的java单元测试框架。在1997年,由 Erich Gamma 和 Kent Beck 开发完成。这两个牛人中 Erich Gamma 是 GOF 之一;Kent Beck 则在 XP 中有重要的贡献(你觉得眼熟一点都不奇怪)。 正如常言道:“麻雀虽小,五脏俱全。” JUnit设计的非常小巧,但是功能却非常强大。 下面是JUnit一
2012-06-26 14:25:12
601
转载 linux下 Jdk版本切换
安装在ubuntu10.10 系统下,开发环境需要,有时会需要安装JDK5和JDK6,怎么实现这两者之间的切换呢?使用update-alternativs 命令可以完成此任务具体如下:1. 查看相应的jdk是否在 ubuntu的jdk菜单里,查看:update-alternatives --config javaupdate-alternatives --config ja
2012-06-20 20:05:12
2758
转载 CTS bug排除
✿为什么要进行cts测试 Android兼容性测试(CTS)和连带的兼容性定义文档(CDD),是一个确保终端设备与特定版本Android兼容的自管理程序。CTS测试集包含大约24,000个在Android设备上运行的测试用例,这些用例分别针对电话、图形、相机、GPS、触摸屏、无线网等功能。Google针对每个主要Android版本公布了CDD文档,其中指出了对CTS中每类测试的具体要
2012-06-20 11:22:06
1405
转载 Java finalize方法使用
《JAVA编程思想》:java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。 (1).对象不一定会被回收。 (2).垃圾回收不是析构函数。 (3).垃圾回收只与内存有关。 (4).垃圾回收和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的地步,它是不会浪费时间进行垃
2012-05-05 16:09:05
585
转载 反射初步认识
反射(reflect)机制是一种动态执行方法,访问及设置属性等的方法,在以后Spring,Hibernate等的学习当中会更深层次的学习这种机制;反射就是把Java类中的各种成分映射成相应的java类,一个Java类中用一个类来表示,一个类中的组成部分:成员变量,方法,构造方法,修饰符,包等等信息也用一个个的Java类来表示,就像汽车是一个类,汽车中的发动机,变速箱等等也是一个个的类。表示ja
2012-04-28 14:37:31
638
转载 java.lang和java.lang.annotation中实现Annotation的类小结
加了注解,等于打上了某种标记,没加,则等于没有某种标记,以后,其他程序可以用反射来了解你的类上面有无何种标记,看你有什么标记,就去干相应的事。标记可以加在类,方法,字段,包上,方法的参数上。(1) Java.lang中最基本的Annotation有 @Deprecated, @Override, @SuppressWarnings三种;其中@Deprecated表示过时或者抛弃不用的eleme
2012-04-28 14:29:37
1886
转载 java synchronized详解
记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的
2012-04-27 16:27:27
492
转载 解析Java的assert新特性
一、 Assertion的语法和语义J2SE 1.4在语言上提供了一个新特性,就是assertion(断言)功能,它是该版本在Java语言方面最大的革新。在软件开发中,assertion是一种经典的调试、测试方式,本文将深入解析assertion功能的使用以及其设计理念,并给出相关的例子 。assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制,如C,C+
2012-04-25 16:55:41
643
转载 Android.mk学习
以下是一些GNU Make的宏‘函数’,必须通过这样的形式调用:'$(call )'。函数返回文本信息。 my-dir 返回放置当前Android.mk的文件夹相对于NDK生成系统根目录的路径。可用来 在Android.mk的开始处定义LOCAL_PATH的值: LOCAL_PATH := $(call my-dir)
2012-04-25 11:13:30
4432
转载 解决/usr/bin/ld: cannot find -lxxx 问题
问题: 在linux环境编译应用程式或lib的source code时常常会出现如下的错误讯息: /usr/bin/ld: cannot find -lxxx 这些讯息会随着编译不同类型的source code 而有不同的结果出来如: /usr/bin/ld: cannot find -lc /usr/bin/ld: cannot find -lltdl /usr/bi
2012-03-07 17:29:33
1508
转载 android 4.0.3最新源码下载编译
最新的android4.0源代码公布以后,相信很多人和我一样都跃跃欲试,其实4.0的代码下载和编译和以前的版本差不多,但是有一些小的差别,写下来供不明真相的新手来参考首先,开发环境,google建议在ubuntu10.0.4下,并且最好是64位,既然是为了工作和学习,就尽量按照官方要求的来吧。Python 2.5 -- 2.7 ubuntu10.0.4已经默认安装了,所以不需要安装,其他
2012-03-07 16:44:43
4597
转载 Python:文件操作技巧(File operation)
读写文件 # ! /usr/bin/python# -*- coding: utf8 -*- spath = " D:/download/baa.txt " f = open(spath," w" ) # Opens file for writing.Creates this file doesn't exist.f.write( "
2012-03-06 19:14:12
984
转载 Android2.2 jit 的作用
2.2快来了,CM 5.0.7系列也越来越火,我们又更加频繁的接触了一个名词——JIT,但是到底什么叫JIT,很多人搞不清楚,以下解释转自百度和维基: 百度百科: JAVA领域的 JIT JITCompiler(Just-in-time Compiler) 即时编译 最早的Java建置方案是由一套转译程式(interpreter),将每个Java指令都转译成对等的微处理器指
2012-03-05 16:38:14
1112
转载 Java虚拟机 和 java虚拟机下的进程
一、什么是Java虚拟机 当你谈到Java虚拟机时,你可能是指: 1、抽象的Java虚拟机规范 2、一个具体的Java虚拟机实现 3、一个运行的Java虚拟机实例二、Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有
2012-02-22 14:48:29
2753
转载 Java发展历程
J2SE:怀胎Java的历史可以追溯到1991年4月,Sun公司的James Gosling领导的绿色计划(Green Project)开始着力发展一种分布式系统结构,使其能够在各种消费性电子产品上运行,他们使用了C/C++/Oak语言。由于多种原因,绿色计划逐渐陷于停滞状态。直至 1994年下半年,由于Internet的迅猛发展和环球信息网的快速增长,第一个全球信息网络浏览器Mosaic
2012-02-22 14:47:28
20253
axis2 webservice开发
2012-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人