摘要:
Python 循环while和for循环在python里面基本和java等其他语言类似,由于python的语言风格,所以在写while和for时,条件语句不需要用括号:并且for的使用比while更常见,以循环输出0-5的整数为例i=0while i<=5: print (i) i+=1;for i in range(6): print (i)值得注意的市python里面貌似是不支持++和--这样的自增自减运算的,所以这里while循环不能写i++,也不能写++i;前者python编译器不识别,后者识别为+(+i),也就是说i不会变化,不断打印0,将导致死循环的产生,此时... 阅读全文
摘要:
1.The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it.----Head first design patterns策略模式定义了一族算法,并将每一个都进行封装使他们变得通用。策略允许这些算法独立于使用他们的客户端自由变化。2.The Observer Patter defines a on 阅读全文
摘要:
References:http://developer.android.com/training/animation/index.htmlhttp://developer.android.com/reference/android/view/ViewGroup.html#attr_android:animateLayoutChanges动画效果可以微妙地提升用户体验。特别是当屏幕状态发生改变时,比如新的内容添加进来或者新的动作产生。本文将以developer的training教程Adding Animations为基础,分析Android里面的动画使用。layout过渡动画如果layout界面 阅读全文
摘要:
前言很早之前就看到网上有一个手机安全卫士和手机助手的源码,一直没看看里面的一些实现,今天下载后运行,发现手机卫士其实只是个界面短信公共感觉没实现,有待具体分析,本文将分析手机助手里德号码归属地查询。源码传送门:git clonegit@github.com:avenwu/mobilehelper.git 或git clone https://github.com/avenwu/mobilehelper.git本文使用到的技术如下:json解析Android volley, https://android.googlesource.com/platform/frameworks/volleyRo 阅读全文
摘要:
Reference: https://github.com/roboguice/roboguice/wiki最经接触到一些java的注入知识,找了下相关资料github上有个RoboGuice的库,挺不错的,还有一系列的说明文档,拿来翻译传播一下。RoboGuice是一个旨在简化Android开发和消除类依赖的注入框架,使用了Google的Guice库。如果你曾今使用过Spring框架(基于java语言的企业级开发框架,现在已经比J2EE本身更为流行)或者Guice,那么你就会知道这种编程是多么方便。为了是你有一个大致概念,先来看一个简单的例子,这是一个典型的Android activity: 阅读全文
摘要:
前言上篇简单介绍了UniversalImageLoader的使用,分析了下源代码,大致可以进行如下划分,本文将分析图片加载的Imageloader实现,。正文通过ImageLoader实例对象,调用public void displayImage(String uri, ImageView imageView, DisplayImageOptions options, ImageLoadingListener listener)发放将开始加载图片,具体过程可以分为几个阶段:合法性检查主要是初始化检查和参数检查,可能会抛出异常或是下载不受干扰可以继续;有传入的图片地址为空,imageview为空 阅读全文
摘要:
前言 UniversalImageLoader是用于加载图片的一个开源项目,在其项目介绍中是这么写的,支持多线程图片加载提供丰富的细节配置,比如线程池大小,HTPP请求项,内存和磁盘缓存,图片显示时的参数配置等等;提供双缓存支持加载过程的监听;提供图片的个性化显示配置接口;Widget支持(这个,个... 阅读全文
摘要:
本文为Android嵌入式学习系列笔记 三GDB, 是GNU项目的调试工具(the GNU Project debugger),G—>GNU,DB--->debuger, gdb允许我们观察被调试程序在运行时的内部状态,也可以查看一个程序crash时状态。gdb可以做四种操作:1.运行程序,标识任何可能影响程序运行行为的事物;2.支持断点调试;3.检查程序停止时的状态;4.支持改变变量的值;gdb下载http://www.gnu.org/software/gdb/download/通过gdb yourprogram可以启动gdb调试,启动gdb之后可以通过quit或Ctrl - d 阅读全文
摘要:
前言 根据《Perl语言参考手册》介绍,Perl是Practical Extraction and Report Language的取首字母缩写(实用报表提取语言),它是由Larry Wall设计的,并由他不断更新和维护,用于在UNIX环境下编程。Perl具有高级语言(如C)的强大能力和灵活性。事实上,你将看到,它的许多特性是从C语言中借用来的。与脚本语言一样,Perl不需要编译器和链接器来运行代码,你要做的只是写出程序并告诉Perl来运行而已。这意味着Perl对于小的编程问题的快速解决方案和为大型事件创建原型来测试潜在的解决方案是十分理想的。Perl提供脚本语言(如sed和awk)的所有功. 阅读全文
摘要:
对ListView的优化可以采用ViewHolder,其原理就是复用了convertView,public View getView(int position, View convertView, ViewGroup parent),有时ListView并不是每个item的布局都相同,比如:,这个时候传递进来convertView就不能很好的工作,解决方法,可以通过ViewType实现多个不同View复用。 public View getView(int position, View convertView, ViewGroup parent) { // loadi... 阅读全文
摘要:
消息通知比较常见,主要是用NotificationCompat的一些接口来进行内容设置,有点像AlertDialog的创建,主要是他们的封装都用了Builder;下面给出两段创建和清除消息提示的代码片段。新建一个消息提示:public void openNotification() { NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this).setSmallIcon(R.drawable.action_share) .setContentTitle("Not... 阅读全文
摘要:
[本文为Android嵌入式学习系列笔记 二]目标:理解diff与patch的使用,通过实例掌握了解新建文件的多种方式,以及如何在已有文件中追加内容在软件开发中,经常会在提交前输出一个diff文件来检查以下代码的改动,比如用git 的时候 常git diff都是一样的。在shell命令中diff 和patch还是很好用的。下面通过实例熟悉下;//新建一个源文件echo "hello diff" > testDiff//复制一份并作适当修改cp testDiff tesDiff1echo -e "append some text:\n hello :)&quo 阅读全文
摘要:
[本文为Android嵌入式学习系列笔记 一]虽然使用Linux已经有一年多,但对很多原理不知其然。如今静下心跟着Sundy学习Android嵌入式课程,还是做点笔记。所谓Shell(壳),其实就是用户与计算机交互的一个接口,不同于可视化界面拖拉点击操作,用户需使用Shell命令。当在终端里敲入诸如rm,ls 等命令时,系统将在环境变量Path中查找相应的命令工具,rm 也好,ls也好都是系统里的一个可执行的文件,这些文件也可以自行下载源码编译而来,源文件多为c所写。Shell命令经Bash活其它的解释器与底层进行交互。Bash is the shell, or command languag 阅读全文
摘要:
Code Style Guidelines for Contributors 代码提交风格指导(一)原文链接:http://source.android.com/source/code-style.html偶然在查看android文档时看到的这篇代码风格指南,索性拿来翻译一下,一则多学习点知识,而来也可锻炼下就已为用的英文,文中翻译不当之处,恳请指正; 以下规则不是选择性的建议,而是必须严格遵守的规则。所有的Android代码的提交都必须遵守否则代码将不会被认可接受。需要注意的是,不是所有的代码都遵守了这些规则,但是新的代码提交必须遵守。Java Language Rules Java语言.. 阅读全文
摘要:
本文旨在实践对SurfaceView的使用。项目地址:https://github.com/avnewu/surfaceviewDemo对SurfaceView的使用已经有很多文章,今天根据案例逐步实现时却发现一些很奇怪的现象,故留此文已标记。首先继承SurfaceView,并实现SurfaceHolder.Callback回调接口,重写OnDraw()方法,按道理来说,只需在里面绘制我们想要的内容就可以简单在屏幕上显示;但事实是,这样做是不可以的,需要在实现的接口方法中另启线程专门来绘制;public void surfaceCreated(SurfaceHolder holder) ... 阅读全文