代码改变世界

随笔分类 - Android

android 自定义TextView支持微博功能后在ListView占用了Item点击的解决办法

2013-04-02 09:36 by Terry_龙, 5875 阅读, 收藏, 编辑
摘要:使用setMovementMethod才能使TextView里面的元素自动拥有点击功能,支持ClickSpan。但是加上这个方法会造成ListView的每个项无的文本会占用ListView的ItemClick,解决这个办法需要重写一个setMovementMethod方法,详见代码如下:public class TextViewFixTouchConsume extends TextView {boolean dontConsumeNonUrlClicks = true;boolean linkHit;public TextViewFixTouchConsume(Context context 阅读全文

android 简单的两步实现Play上的文本伸缩功能

2013-03-12 17:46 by Terry_龙, 3121 阅读, 收藏, 编辑
摘要:经常上google play下载软件,看到它的伸缩式的软件介绍很感兴趣。功能截图如下:点击文本会下拉更多详细介绍,实现这一功能很简单,废话不多说,直接上代码 private boolean isExpanded = false; private int lastHeight = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_expan... 阅读全文

android 电视盒下XBMC源码功能的简单分析

2012-10-08 15:43 by Terry_龙, 10758 阅读, 收藏, 编辑
摘要:XBMC是一个优秀的自由和开源的(GPL)媒体中心软件。XBMC最初为Xbox而开发,现在可以运行在Linux、OSX、Windows系统。 2003年,一些兴趣相投的程序员创建了这个项目。XBMC是一个非盈利的项目,由遍布世界各地的自愿者开发维护。超过50名软件开发人员为XBMC作出贡献,还有超过100名翻译人员努力扩大它的应用范围,使它支持超过30种语言。 由于XBMC一开始设计就是倾向于遥控输入,自身的框架极其强大,容易扩展,用在电视盒上面刚好可以补充小公司在内容不足时的替代品。值得庆幸的是,XBMC的android 源码也开源了,android 电视盒的开发者可以学习或者拿过来改造了. 阅读全文

关于Ubuntu 下新开发板adb 无法识别的问题

2012-08-14 10:12 by Terry_龙, 3459 阅读, 收藏, 编辑
摘要:一般开发公司都开发员都有同时处理不同开发板,因为项目迭代需要。但是不同的开发板的USB并不同,导致adb无法识别。下面给出解决方法。步骤一:打开终端,输入lsusb上面的2207:0006就是我们新的开发板的USB的ID,不知道如何识别的同学 ,可以通过反复的插拔查找哪个是变化值。我们需要复制:前缀的2207,新增到配置文件里面。步骤二:修改51-android.ruls 配置文件在终端上输入:sudo vim /etc/udev/rules.d/51-android.rules,可以看到下面的数据将这两行数据,复制拷备,重新换一行。然后修改SYSFS{idVendor}这个值的数据,将其改成 阅读全文

关于下载xbmc后打开Android 源码时的一个思考问题?兼各平台安装xbmc 的中文显示

2012-07-27 15:13 by Terry_龙, 5323 阅读, 收藏, 编辑
摘要:XBMC是一个优秀的自由和开源的(GPL)媒体中心软件。XBMC最初为Xbox而开发,现在可以运行在Linux、OSX、Windows、android、IOS系统。 2003年,一些兴趣相投的程序员创建了这个项目。XBMC是一个非盈利的项目,由遍布世界各地的自愿者开发维护。超过50名软件开发人员为XBMC作出贡献,还有超过100名翻译人员努力扩大它的应用范围,使它支持超过30种语言(当然也包括咱们的中文)。 作为一个标准的媒体中心软件,XBMC表现良好,因为它的开发目标就是要成为你的HTPC的最佳伴侣。支持几乎所有摇控器,整合了华丽且功能强劲的皮肤引擎,XBMC自然成为你客厅家庭影院系统的理. 阅读全文

Android 关于图片文件夹后缀错误,使应用在源码下编译通过却无法运行的错误

2012-07-18 16:31 by Terry_龙, 5411 阅读, 收藏, 编辑
摘要:问题描述:同事在处理一个应用,之前一直在Eclipse 下编译,并运行到开发板上调试,一切正常,相安无事。后来需要在源码下编编译使一些动态库取得系统权限,源码下编译也是很顺利的,但一跑到开发板上就出错无法运行,直接force stop.相关出错的Logcat :E/AndroidRuntime(1969):FATALEXCEPTION:mainE/AndroidRuntime(1969):java.lang.RuntimeException:UnabletostartactivityComponentInfo{com.android.xuzhitech.xfree/com.android.xu 阅读全文

Android 解决不同进程发送KeyEvent 的问题

2012-06-07 10:14 by Terry_龙, 26260 阅读, 收藏, 编辑
摘要:最近在做有关于Remote Controller 的功能,该功能把手机做成TV的遥控器来处理。在手机的客户端发送消息到TV的android 服务端,服务端接收到客户端的请求消息,模拟KeyEvent命令,发送Key值。最简单的发送命令为如下代码:publicstaticvoidsimulateKeystroke(finalintKeyCode){newThread(newRunnable(){publicvoidrun(){//TODOAuto-generatedmethodstubtry{Instrumentationinst=newInstrumentation();inst.sendKe 阅读全文

Android 调用堆栈跟踪

2012-02-23 14:40 by Terry_龙, 9767 阅读, 收藏, 编辑
摘要:Android开发中,我们也会经常遇到段错误,也就是SIGSEGV(11),这个时候libc的backtrace会打印出对应的堆栈信 息,而你看到的仅仅是一对数字,好像无从查起。如下面这一从串断错误:ActivityManager(1105):Displayedactivitycom.android.browser/.BrowserActivity:2460ms(total2460ms)I/DEBUG(13002):************************************************I/DEBUG(13002):Buildfingerprint:'unk.. 阅读全文

使用NDK移植开源项目,JNI的使用技巧

2012-02-07 09:58 by Terry_龙, 8280 阅读, 收藏, 编辑
摘要:jni 的介绍JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。以下介绍Android 中如何使用jni移植开源库的技巧.JNI日志输出到Logcat中#include <android/log.h>#define LOG_TAG "===xcloud==="#def 阅读全文

android 处理图片工具

2012-01-08 16:40 by Terry_龙, 9265 阅读, 收藏, 编辑
摘要:packagecom.wireme.activity;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.graphics.Canvas;importandroid.graphics.Color 阅读全文

Android Ap 开发 设计模式第九篇:桥接模式

2011-07-26 20:30 by Terry_龙, 4164 阅读, 收藏, 编辑
摘要:Bridge Pattern模式解读 bridge 是“桥梁”的意思。就像现实社会里的桥梁担负着连接两岸的重大责任一样,Bridge Pattern也是负责连接2个不同位置的参与者。 桥接模式沟通着“功能的类层次”和“实现的类层次”。将“功能的类层次”和“实现的类层次”分成2个独立的类层次可能会弄得支离破碎,所以必须在2个类层次之间建一座沟通的桥梁。程序示例 按照上面的分法,本例可以分为4个类按照“功能的类层次”和“实现的类层次”分开,分别为:功能的类层次 Display 该类为打印内容的类 CountDisplay 该类不仅可以打印内容还可以参数指定打印次数实现的类层次 DisplayIm. 阅读全文

Android Ap 开发 设计模式第八篇:抽象工厂模式

2011-07-25 21:27 by Terry_龙, 6321 阅读, 收藏, 编辑
摘要:Abstract Factory Pattern模式解读 abstract 是“抽象”,factory 是“工厂”,所以合起来abstract factory 就是“抽象工厂”的意思。Abstract Factory Pattern 中的抽象工厂则是把各种抽象零件合成抽象产品。换句话说,处理的重点是在接口(api)而不是零件的具体实现。只利用接口(API)就能把零件组合成产品。 模板方法模式和生成模式的情形 是在子类进行具体的实现,而抽象工厂模式也同样是由子类来处理具体 的实现。在子类就会出现具体工厂利用具体零件组合而成的具体产品。程序示例 本篇涉及的类较多,较之单例模式而言理解真来比较难。. 阅读全文

Android Ap 开发 设计模式第七篇:生成器模式

2011-07-18 21:31 by Terry_龙, 2294 阅读, 收藏, 编辑
摘要:Builder Pattern模式解读 生活在深圳这所高速发展的城市,高楼大厦林立。所谓万丈高楼平地起,在我们感慨楼层的高耸之外,更要配服楼层的建造者和设计者。大楼首先得打稳地基、搭建骨架,再由下往上一层层盖上去。而这样的架构从程序的设计模式来说有个专用名词叫:“Builder ”。 场景模拟 由一个固定的建筑材料“固定的字符串”,然后将这些建筑材料组合拼装,按照楼层的需要建造不同的大楼层,如:商务层、购务层、停车层等“组合拼装字备份域控制器串”。功能演示 测试程序结构图如下: UML图中,共有四个类: Builder 抽象类:不含实际处理内容,仅声明抽象方法。 Director 类:负责产. 阅读全文

Android Ap 开发 设计模式第六篇:原型模式

2011-07-14 21:26 by Terry_龙, 2461 阅读, 收藏, 编辑
摘要:Prototype Pattern名称由来 不是利用类来产生实例对象,而是从一个对象实例产生出另一个新的对象实例 ,根据被视为原型的对象实例 ,建立起的另一个新的对象实例就称为原型模式(Ptototype Pattern)。需求场景种类过多无法整合成类时第一种情形:若须处理的对象种类太多,如果要一个个设成不同的类,须产生大量的源程序文件不容易利用类产生对象实例时第二种情形:该对象的实例产生过程太复杂,很难利用类来建立。希望把框架和所产生的对象实例分开时第三种情形:希望让产生对象实例时的框架不会只存在于某些特殊类时。功能演示 测试程序类结构图如下: 模式UML图中,共有三个类:接口,Produ. 阅读全文

Android Ap 开发 设计模式第五篇:单件模式

2011-07-13 20:36 by Terry_龙, 3055 阅读, 收藏, 编辑
摘要:Singleton Pattern名称由来java 是一门面向对象的语言,android 用的也是java 开发ap ,在java/C# 里面所有的物体(类)都可以看作是一个对象,而要使用这个对象无外乎为它在内存里面分配一个对象,一般情况下最直接的方法是new 一个对象,让它存在于内存中。 单件/例模式是所有设计模式中可以说是最简单最易懂的一种编程方式 ,想保证某个特定类的对象实例绝对只有一个时,想在程序上表达出对象实例只会有一个时,这种做法就被称为单件/例模式。 Singleton 是指只有1个元素的集合。就是因为它只会有1 个对象实例,因而得名。由于其简单性,在此就不把UML图画出来了。. 阅读全文

Android Ap 开发 设计模式第四篇:工厂方法模式

2011-07-12 21:07 by Terry_龙, 3332 阅读, 收藏, 编辑
摘要:Factory Method Pattern模板模式的衍生品? 以Template Method Pattern 架构获取产生对象实例的工厂就是Factory Method Pattern。 工厂方法模式在父类规定对象的创建方法,但并没有深入到较具体的类名。所有具体的完整内容 都放在子类。根据这个原则,我们可以大致分成产生对象实例的大纲(框架)和实际生产对象实例的类两方面。场景模拟 以一个工厂进厂打工为原型,工人们进厂须先登记信息,由所登记的信息进入创建工卡,工人们每天进厂必须使用工卡打卡,开始一天的劳动。以此为例,进行编程,设计UML图如下:程序实现 抽象类Product定义抽象方法cre. 阅读全文

Android Ap 开发 设计模式第二篇:适配器模式

2011-07-06 21:05 by Terry_龙, 3794 阅读, 收藏, 编辑
摘要:Adapter Pattern 适配器模式似曾相识 做过Android Ap开发的朋友一般情况下都会用到Google 提供的BaseAdapter 适配器做扩展,用来填充ListView、GridView 等窗口控件。用过的朋友都会觉得很简单很方便就可以对控件做一个数据源。而BaseAdapter 正是一个适配器,Google 考虑到适配器的一个特性则可以如此概括用 “既有内容” 去实现 “需要结果” 。Adapter Pattern 适配器模式共分为两种:类的 Adapter Pattern (即所谓的继承)对象的 Adapter Pattern (即所谓的委托)场景需求 给定的一个字符串. 阅读全文

Android Ap 开发 设计模式第一篇:迭代器模式

2011-07-05 21:18 by Terry_龙, 5800 阅读, 收藏, 编辑
摘要:Iterator Pattern迭代器模式场景猜想 经常编写代码都会碰到遍历一个数组,使用for循环得到数组下标之后去做进一步操作。例如下文代码:int[]array=newint[5];for(inti=0;i<array.length;i++){System.out.println(""+i);}或:int[]array=newint[5];for(inti:array){System.out.println(""+i);}当然,还有更多的作法,利用将 i 将下标推移的方式遍历数组元素。 使用设计模式来编写的时候,可以将 i 的行为,抽象化为迭 阅读全文

android 打包自己的自定义组件成JAR包

2011-05-12 23:00 by Terry_龙, 19665 阅读, 收藏, 编辑
摘要:在项目开发过程中,我们难免会用到自己去制作自定义的VIEW控件,之后我们别的项目如果需要的话就直接将其复制到对应的项目中使用,虽说这么做是一个解决问题的方法,但毕竟不是很好。原因是,当我们项目积累越来越多,会发现自定义的控件越来越多,而且这些自定义的控件都是可以重复利用的,这时我们可以想想,如果把这些自定义控件都封装成一个JAR包,然后用一个项目积累起来,之后我们以后开发项目只要在原来JAR包的基础上做扩展或者直接使用,可以大大减少自己的工作重复性。首先Android 工程的基本面貌是这样的:当然对应的Activity 文件被我删除了,因为当编译成jar 包我们并不需要Activity 文件。 阅读全文

android与PC,C#与Java 利用protobuf 进行无障碍通讯【Socket】

2011-04-23 14:52 by Terry_龙, 18726 阅读, 收藏, 编辑
摘要:protobuf 是什么? Protocol buffers是一种编码方法构造的一种有效而可扩展的格式的数据。谷歌使用其内部几乎RPC协议和文件格式的所有协议缓冲区。 参考文档 http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/overview.html API的参考文档 protobuf 适用的语言 正宗(Google 自己内部用的)的protobuf支持三种语言:Java 、c++和Pyton,很遗憾的是并不支持.Net 或者 Lua 等语言,但社区的力量是不容忽视的,由于protobuf确实比Json、XML有速度上. 阅读全文