- 博客(32)
- 资源 (3)
- 收藏
- 关注
原创 Python PyCharm image_to_string 报错解决方法
Traceback (most recent call last): File "D:/PycharmProjects/net.bjxueche/CoreImage.py", line 82, in <module> text = image_to_string(image=image, boxes=True) File "D:\mysoft\Python\Python...
2018-02-12 09:47:49
8085
原创 Android状态机源码分析
之前有人问过我状态机的工作原理,一直比较忙,没来的及分析源码,现在挤出点时间来好好分析一下。在Android系统中,经常使用状态机来处理不同状态下的行为动作。状态机是将对象的状态与行为封装在一起;可以解决庞大的分支语句带来程序阅读性差和不便于进行扩展问题,使整个结构变得更加清晰明了,降低程序管理的复杂性提高灵活度。Android系统的StateMachine机制是一个State模式的应用,St
2015-03-03 14:36:16
757
原创 eclipse新建android项目报错
android 要求所有的程序必须有签名,否则就不会安装该程序。在我们开发过程中,adt使用debug keystore,在 preference->android->buid中设置。debug的keystore默认有效期为一年,如果你是从一年前开始开发 android程序,那么很可能出现debug keystore过期,导致你无法生成 apk文件。我调了一下系统时间,就出现以下错误。此时你
2014-04-20 00:38:06
2677
原创 正则表达式语法
正则表达式语法正则表达式示例表达式匹配/^\s*$/匹配空行。/\d{2}-\d{5}/验证由两位数字、一个连字符再加 5 位数字组成的 ID 号。/]*)?>[\s\S]*/匹配 HTML 标记。下表包含了元字符的完整列表以及它们在正则表达式上下文中
2014-03-05 17:45:08
661
转载 java代理模式
1.代理模式代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到的角色有:抽象角色:声明真实对象和代理对象的共同接口;代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任
2014-03-05 15:29:11
587
原创 编译MTK源码
1.拿到源码2.进入源码目录,找到*.md5文件,执行md5sum -c ${customer_project}.md5命令,如果出错,应该是md5文件格式不对,执行fromdos *.md53.如果ok,按照ReleaseNote_for_ALPS.JB5.MP.xlsx文件里面的readme里面的步骤执行Verify the integrity of downloaded pack
2013-12-23 18:53:22
2486
转载 如何给apk文件签名(一)
如何给apk文件签名(一)2012-06-18 10:34 1994人阅读 评论(0)收藏 举报androidjdk工具优化toolsjava给apk文件签名主要分三步,创建证书(如果没有)-->签名-->优化(可选)1)使用jdk的keytool工具生成签名用的证书> keytool -genkey -v -aliasCER
2013-12-17 09:59:15
795
转载 设置eclipse背景色
设置eclipse背景色2011-05-11 10:02:58分类: Java颜色:1windows →Preferences→general→editors→text editors2在 appearance color options 里选在background color3去掉复选框的钩,设置颜色为 色调84
2013-12-17 09:16:43
697
翻译 为什么要使用Java泛型
Java泛型的好处 java 泛型是java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类
2013-11-11 10:22:20
5651
1
转载 ubuntu下安装jdk7并配置默认使用的JDK版本(默认openjdk6)
cd /usr/libsudo mkdir jvmsudo tar zxvf jdk-7-linux-i586.tar.gz -C /usr/lib/jvm cd /usr/lib/jvm sudo mv jdk1.7.0/ java-7-sun修改环境变量vim ~/.bashrcexport JAVA_HOME=/usr/lib/jvm/java
2013-10-30 21:15:35
772
1
翻译 Android WiFi--系统架构
Android WiFi--系统架构1. 系统架构 Android WiFi系统引入了wpa_supplicant,它的整个WiFi系统以wpa_supplicant为核心来定义上层用户接口和下层驱动接口。整个WiFi系统架构如下图所示: 一切尽在上图中,下面将对每部分进行详细分析。1.1 WifiService 由SystemServe
2013-08-05 15:07:44
797
翻译 windows批处理命令大全
windows批处理命令大全分类: 网摘 工具使用 win2010-09-15 12:48 2145人阅读 评论(0) 收藏 举报windows扩展cdatepathsystem1 echo 和 @@ #关闭单行回显echo off #从下一行开始关闭回显@echo off
2013-06-11 10:23:53
916
原创 android inputType属性
android 1.5以后添加了软件虚拟键盘的功能,所以在输入提示中将会有对应的软键盘模式android中inputType属性在EditText输入值时启动的虚拟键盘的风格有着重要的作用。这也大大的方便的操作。有时需要虚拟键盘只为字符或只为数字。所以inputType尤为重要。<EditText android:layout_width="fill_parent" android:lay
2013-05-23 13:57:55
14842
原创 vim高级特性(一)
Vim多行缩进技巧1.按v进入visual状态,选择多行,用>或1.1 多行操作命令组合(java注释掉选中行):ctrl+v, 回车, I, //, esc, esc2.通常根据语言特征使用自动缩进排版:在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的
2013-03-31 16:31:46
740
原创 libgdx学习准备篇
libgdx的作者写了本书《beginning android games》,记录了libgdx的雏形。这或许对以后我的学习更有好处,虽然看不懂英文,但至少看的懂代码就行了,就可以学习下去。现在正在看libgdx的一些例子,是从网上下载过来的,地址是http://code.google.com/p/libgdx/source/checkout。用svn checkout下就行了,里面很多
2013-03-27 19:30:54
695
翻译 libgdx之加载obj(3D文件)
原文链接:http://blog.youkuaiyun.com/cng1991/article/details/7293946今天看了下libgdx,觉得加载3d模型的功能很炫。所以分享下代码。首先用blender(开源的3D模型工具,百度即可搜到)新建一个工程,然后导出为cube.obj。最主要的是获取obj文件。将.obj文件放在android工程的assets/data目录下。然后搭建and
2013-03-27 19:08:51
1411
翻译 设计模式学习笔记(十五)—State模式
一、 State模式定义:允许一个对象在其状态改变时,改变它的行为。看起来对象似乎修改了它的类。二、 模式解说State模式主要解决的是在开发中时常遇到的根据不同的状态需要进行不同的处理操作的问题,而这样的问题,大部分人是采用switch-case语句进行处理的,这样会造成一个问题:分支过多,而且如果加入一个新的状态就需要对原来的代码进行编译。State模式采用了对这些不同的状态进行封
2013-03-10 14:39:26
795
原创 程序员改bug
程序员改bug程序员改bug。很多刚毕业进公司的同学,都要经历一段时间的学习过程,公司的领导才会让其真正的投入项目开发。这个学习过程也许是读源码,也许是改bug。我想大部分码农都经历过这样的事吧。其实程序员改bug也是有学问的。程序员改bug跟医生治病是一样一样的,无非一个是给机器看病,一个是给人看病。首先,一定要准确的定位引起bug的真正原因。定位问题,需要程序员去读代码
2013-01-25 16:45:11
2425
原创 vim高级特性
vim高级特性+组合功能 本文就说些其中比较有用, 比较常用的命令, 若能熟练运用这些命令, 那么会发现编辑文件很舒服.说明:以下的例子中 xxx 表示在命令模式下输入 xxx 并回车以下的例子中 :xxx 表示在扩展模式下输入 xxx 并回车小括号中的命令表示相关命令.在编辑模式或可视模式下输入的命令会另外注明.1. 查找 /xxx(?xxx)
2013-01-24 19:26:29
499
原创 android 配置默认壁纸
在这个文件下面:frameworks/base/core/res/res/values/config.xml @null将@null替换成你想要配置的壁纸服务就可以了。eg:com.android.wallpaper/.GalaxyWallpaper这里的com.android.wallpaper/.galaxy.Ga
2013-01-14 19:22:16
851
翻译 两个大小端转换的函数
/** * convert big-edian to little-edian * the operator priority: */ public static int palmSwap32(int i) { return (i & 0xFF) | (0xFF & i >> 8)
2013-01-11 17:41:31
1097
翻译 将unicode转换成汉字
将unicode转换成汉字的引申unicode转换成汉字方法: public static String UnicodeToString(String str) { Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))"); Matcher matcher = pattern.match
2013-01-08 23:09:20
2761
翻译 Java RandomAccessFile用法
Java RandomAccessFile用法RandomAccessFileRandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必须是可知的。但是该类仅限于操作文件。RandomAccessFile不属于InputStrea
2013-01-07 09:43:30
575
原创 Android launcher widget配置
Android launcher widget配置 第一屏,根据由几个屏来定,screen[0]就指第一屏 第二屏这里放的是一个widget,属性包括:包名,类名,屏的id(第二屏id为1),坐标(x,y),所占大小(4*1) launcher:packageName="com.android.sett
2012-12-29 17:07:36
1646
原创 android编译找不到资源id的问题
android编译找不到资源id的问题一般情况下找不到id有以下几个原因:1、id不匹配2、xml未编译3、编译顺序有问题4、未import正确的资源包在frameworks/base/core/res/res下编译生成的资源文件保存在out/target/common/R/com/android/internal/R.java所以先在R.java内看有没有你的id
2012-12-21 16:09:56
18743
原创 修改wifi softAP SSID
修改wifi softAP默认SSIDandorid4.0之前的版本修改softap ssid是在WifiService.java里面private boolean setWifiApEnabledBlocking而4.0之后的版本将最初给SSID赋值的地方移到了WifiApConfigStore.java里面。这个4.0状态机机制使用之后对softap的一点改动。
2012-12-20 11:25:30
3232
1
原创 vim替换指定字符串
vim的搜索和替换搜索中进行替换/which #搜索whichcwthat #替换成thatn #重复搜索. #重复替换一种类型的替换命令g/pattern/s/old/new/g第一个 g 表示是有选择的操作, pattern 指定选择行的模式, s 表示替换操作, old 是要替换的内容,new
2012-12-18 18:33:55
3965
转载 Android学习 StateMachine与State模式
Android学习 StateMachine与State模式 Android学习 StateMachine与State模式一 State模式意图: 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。(Objects for States) 对象内部状态决定行为方式,对象状态改变行为方式改变;但这里为何要强调内部状态,外部状态改
2012-12-11 17:46:07
752
原创 Jelly Bean Wifi研究(1)
近来无事,研究下Jelly Bean Wifi的工作流程。1. 首先是打开wifi流程packages/apps/Settings/src/com/android/settings/Settings.java里面会持有一个WifiEnabler.java对象, 当用户点击wifi的switch控件时,会调用mWifiEnabler.setSwitch(holder.switch_),然
2012-12-10 10:51:53
1658
1
翻译 深入研究Android Handler机制
深入研究Android Handler机制项目终于没那么忙了!闲下来几天,想想应该学点什么,总结点什么。总体上来,要学的东西实在太多了,看了看自己写的代码,结果发现连最基本的消息机制都没有了解清楚,虽然一直在用Handler发消息(Message),但一直没有去探究它们内部是如何运作的。于是花了一天的时间仔细分析了一下几个基本类的源码,略有所悟,浅析一下。相关概念在看源码前
2012-12-07 17:55:41
3782
转载 程序员面试题精选100题(27)-二元树的深度[数据结构]
程序员面试题精选100题(27)-二元树的深度[数据结构] 2007-04-29 19:53:28| 分类: 树 | 标签:编程 就业 找工作 数据结构 |字号大中小订阅题目:输入一棵二元树的根结点,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。例如:输入二元树:
2012-11-24 08:22:33
681
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人