
Android
herbert5069
技术才是王道
展开
-
android application 要点备忘 2
component-->process->thead0 ->thread1 ->thread3 ->thread2(thread 启动顺序是未知的) Anroid原创 2009-11-19 13:32:00 · 524 阅读 · 0 评论 -
Java MultiThread学习笔记
1. synchronized function用法: synchronized foo() {}字面意思是让一个函数块保持同步,但是保持和谁同步呢? 答案是和另一个或一些加了synchronized 关键字的函数,它能保证在这个对象内,所有加synchronized 的函数在同一时间只有一个在运行,并只运行在某一个线程中,假如这些函数可能会被运行在不同的线程,又要同时访问同一个原创 2013-03-21 00:13:11 · 4209 阅读 · 0 评论 -
Android Vertical TextView 文字竖排
竖排文字控件:package com.howfun.test;import android.content.Context;import android.graphics.Canvas;import android.util.AttributeSet;import android.view.Gravity;import android.widget.TextView;p原创 2013-02-18 23:09:15 · 17598 阅读 · 4 评论 -
利用AIDL来实现由Binder进行进程间通信(IPC)
在写这篇文章之前,我一直在思考这几个问题:问题1:为什么需要IPC?问题2:什么是Binder?问题3:什么是AIDL?问题4:IPC同Activity Intent, Broadcast, Content provider,Service之间有什么区别与联系?如果您能轻松回答所有问题,那么恭喜您已经学会抢答了^-^ 直接PASS。我想答案应该是这样原创 2012-10-08 23:48:28 · 2678 阅读 · 0 评论 -
Android AppWidget的一些用法和注意事项
AppWidget的一些用法和注意事项:文章:http://www.adaiw.com/?p=3821.AppWidget更新时,Remoteview 只能有一个实例,否则只能更新一部分,FC(Force close) AppWidget之后,有一部分内容会丢失。2. 参考第一点时,不要用static RemoteView, 会导致AppWidget变慢并停止更新。原创 2012-08-21 10:47:07 · 1185 阅读 · 0 评论 -
话里有话(趣味Android应用)
原文:http://www.adaiw.com/?p=147看了阮一峰兄的 http://www.ruanyifeng.com/blog/2011/11/dice_portrait.html 骰子作画的算法, 觉得很有趣,就做了一个类似的应用,用自己的文字当做画笔来填充另外一段话, 效果如下: 算法非常简单:1.从文字得到其图片,拿EidtText的CacheView。原创 2012-06-15 22:21:22 · 1004 阅读 · 0 评论 -
Android 4.04 源码编译 (ubuntu 12.04)
原文:http://www.adaiw.com/?p=1671 准备开发环境下载sun-java6-jdk (NOT openjdk6)REF: http://source.android.com/source/initializing.html注意安装包,并连接libGL:$ sudo apt-get install git-core gnupg flex b原创 2012-06-17 22:28:05 · 8403 阅读 · 5 评论 -
Android游戏引擎
初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道该从何处入手,每当遇到自己无法解决的难题时,又往往会一边羡慕于 iPhone下有诸如Cocos2d-iphone之类的免费游戏引擎可供使用,一边自暴自弃的抱怨Android平台游戏开发难度太高,又连个像样的游 戏引擎也没有,甚至误以为使用Java语言开发游戏是一件费力不讨好且没有出路的事情。事实上,这种想法完全是没有必转载 2012-05-02 23:30:14 · 695 阅读 · 0 评论 -
安装当前目录下所有apk 的脚本(python2.x)
今天要安装几十个apk,就写了个脚本,递归查找当前目录下所有的apk文件,找到一个安装一个。安装环境:ubuntu10.04LTS + python2.6.51. 打开android设备“USB调试”2. 重启ADB: $sudo adb kill-server $sudo adb start-server3写脚本findAnd原创 2012-04-25 09:04:31 · 2077 阅读 · 0 评论 -
Android 项目多版本管理
Android 项目多版本管理基于GIT强大的分支(git branch)能力,Android项目可以实现由一个基本版本生成多个不同UI的版本,并同步主要逻辑代码,实现不同的外表,一样的内心。其基本原理是使用来指定基础包名。下面是实现的步骤:0. 预备知识:Git remote branch 远程分支管理1. 准备基本版本。多个版本管理的特点原创 2013-05-03 17:46:03 · 5586 阅读 · 0 评论 -
使用ANT自动发布Android APK
当发布APK是一种负担时,必需要进入自动化模式了。本文使用ANT来编译,并签名,对齐,发布。1 下载sun-java6-jdk参考这里来下载。export JAVA_HOME=/usr/lib/jvm/java-6-sun 2 为已存在的项目生成ant的build.xml运行命令行到当前项目根目录下,运行如下命令:android原创 2013-08-11 22:57:56 · 1350 阅读 · 0 评论 -
Mac OS升级到Yosemite后一些问题
苹果“优山美地”采用移动设备平面风格,看起来还是相当清爽。不过升级完还是有一些程序兼容性问题的。原创 2014-10-24 15:27:25 · 2115 阅读 · 0 评论 -
Follow谷大哥-使用Android studio + gradle
程序员的编程修(bi)养(ge)--一个演员跟着谷大哥后面混Android开发,不用他提供的工具实在说不过去,于是开始使用Android studio + gradle。全部的内容已经被大哥简化成一个IDE(版本居然还是0.5.8) +一个build.gradle文件:apply plugin: 'android'android { compileSdkVersio原创 2014-05-28 10:29:58 · 6395 阅读 · 0 评论 -
Android canvas clip 参数解释
Android 操作Canvas时,可以对一些区域进行多次的操作(包括与、或、非、异或等),示例代码如下原创 2014-06-04 12:02:40 · 3847 阅读 · 0 评论 -
浅析android应用增量升级
背景随着android应用体积的不断增大,以及应用版本发布的不断更迭,用户的升级成了一个问题,google也意识到不断更新应用对用户流量的损耗,在Google I/O 上提及的 Smart App update,即应用增量升级,或者叫做差分升级的做法,并在新版本的Google Play中得到支持,某天在和群友聊天是扯到这方面的话题,好奇就稍微研究了一下。增量升级的原理今天我转载 2014-04-27 19:41:46 · 933 阅读 · 0 评论 -
Thread-safety with the Java final keyword
Thread-safety with the Java final keywordAs of Java 5, one particular use of the final keyword is a very important and often overlooked weapon in your concurrency armoury. Essentially, overlooke转载 2014-04-12 11:19:59 · 1025 阅读 · 0 评论 -
设置TextView下划线并响应点击事件(SpannableString)
写Demo程序的时候能表带自定义的数据结构对象吗?--低级程序猿前情提要:网上介绍TextView+SpannableString的文章真心太长,真心看不懂。====原文=====下面是一个20行的完整Demo代码:基本原理是使用一个SpannableString并设置其ClickableSpan来响应点击事件。 TextView useInfo原创 2014-04-27 14:42:29 · 24729 阅读 · 8 评论 -
android 选取部分 log 的两种方法
Grep多个条件:android logcat -v time | grep -e A -e B选取多个android log tag:android logcat -v time -s TAGA TAGB 例如:android logcat -s AndroidRuntime原创 2014-05-08 19:36:58 · 1111 阅读 · 0 评论 -
猴子测试
Android monkey发表于 2013 年 9 月 8 日 由 herbertdai今天的任务是聘请一只猴子来帮忙进行压力测试。$adb shell monkey -p [package name] -v [times]package name: 要测试的程序包名times:要发送的随机指令的数量 ?View Cod原创 2013-09-16 19:08:36 · 2711 阅读 · 0 评论 -
升级三星YPG1固件到2.3.6(解决GPS失效问题)
我的小G1买来时GPS无法使用,从LOG里看到已经搜索到卫星了,UI显示为0个卫星,就估计是固件的问题,可我买的早,11年5月,当时没找到固件。 无意中看到G1固件已经从去年年底陆续放出来了,有国行的,也有ZZC制作的,喜出望外!先烧了个ZZC第二版,发现速度很慢,就改烧了个国行2.3.6的,一举解决了GPS无法定位的问题, 开心!程序运行速度,Media scanning速度原创 2012-02-23 10:19:24 · 2784 阅读 · 0 评论 -
ROOT android 原理。 基于(zergRush)
出自:http://bbs.gfan.com/android-2996211-1-1.html需要ROOT的同学请去上面的地址下载。 a.控制手机创建个临时文件夹,然后把zergRush脚本写入此文件夹,并修改此文件权限使之可以执行(这一步无需ROOT权限);adb shell rm -r /data/local/tmpadb shell mkdir转载 2012-02-23 10:55:44 · 7440 阅读 · 0 评论 -
Android Parcel学习
Parcel是一个轻量级的对象序列化,(类似Serierlizable), 可用于进程间通信,用的时候需要写个static CREATOR, 写入数据和读出的顺序必需一致。这里是 一个Stackoverflow上的例子研究了下怎么样传送List, 下面这个例子直接传ArrayList:public class MyParcelInfo implements原创 2011-11-15 18:09:55 · 6164 阅读 · 2 评论 -
android 资源在源码中的位置
frameworks/base/core/res/res/原创 2011-10-09 18:20:13 · 1385 阅读 · 0 评论 -
Android manifest <uses-permission> 的位置千万别放错
应该放在里面就会杯具了,编译不报错,但是程序永远不会拿到这些权限!2个多小时血与火的教训!哈哈:)原创 2011-08-19 16:50:21 · 16346 阅读 · 12 评论 -
Handling Older Devices in a Newer Android Game(转)
ALL the codesThoughts on coding and game development, by Eric Karl.Handling Older Devices in a Newer Android Game While finish转载 2011-08-09 14:31:22 · 889 阅读 · 0 评论 -
伤得起 screen breaker
心烦意乱,居家旅行,必备良方。心情不好吗? 看到XX东东就心烦吗?没问题,长按HOME,调出“伤得起”,开始发泄吧!好风工作室(2011)原创 2011-07-24 23:42:38 · 496 阅读 · 0 评论 -
Screen Mask
Breif:Give your screen a different mask!Click the screen to give it a different mask.Find more in menu!Currently supported: Fruits Coi原创 2011-07-09 19:48:53 · 719 阅读 · 0 评论 -
TVGuide
非常全的电视节目预告,包括:数字电视,海外电视,卫星电视,中央电视,各省市电视台等,可预告今天,明天,后天,三天节目,方便电视迷们及时察看喜爱节目的播放时间。原创 2011-07-24 21:40:54 · 670 阅读 · 0 评论 -
Handle Android Out of memory exception (个人总结的如何应对Android内存不足)
android out of memory bug原创 2011-04-29 18:13:00 · 1988 阅读 · 0 评论 -
Android Stream to String
public String convertStreamToString(InputStream is) { /* * To convert the InputStream to String we use the * BufferedReader.readLine() method. We iterate until the BufferedReade转载 2011-11-07 15:39:51 · 980 阅读 · 0 评论 -
Android Jni 学习实战之(一)
最近学习JNI,边学边做,把游戏“蚂蚁迷呀”的2D引擎改成JNI的,封装代码,同时提高运行速度。初步探索步骤如下:一, 写Java 文件,确定JNI接口名:package com.howfun.android.antguide.hf2d_jni;import android.app.Activity;import android.os.Bundle;import androi原创 2011-12-06 23:02:22 · 2449 阅读 · 5 评论 -
android加载固定内容数据库的妙法
经常我们需要使用一些事先做好内容的数据库,比如字典等, 这就要加载已有的数据库文件,通常把它们放在assets 或者raw中,在程序运行时copy到程序内部空间:/data/data/package/my_app/databases, 详细的做法看这里。但是这样有个缺点,当文件较大时会占用较长的时间,用户难免会有点小着急。我们可以这样HACK来把copy的环节省去:1 把数据库原创 2012-02-08 13:35:25 · 2504 阅读 · 6 评论 -
Android中限制EditText(输入框)文字输入长度
开发过程经常遇到要输入用户名等类似要限制输入字数的要求,我们可以用InputFilter来实现,下面是继承的InputFilter:public class MyInputFilter implements InputFilter { private Paint mPaint; private int mMaxWidth; private stat原创 2012-02-02 20:42:29 · 5180 阅读 · 2 评论 -
Content Provider 中 UriMatcher的用法
ContentProvider是Android四大组件之一,网上也有不少关于它的文章,基本用法都可以查到,但关于UriMatcher在其中的作用,文章中都有例子,但我觉得还没有说清楚。先说为什么用UriMatcher。ContentProvider向外界提供了一个标准的,也是唯一的用于查询的接口:public final Cursor query(Uri uri, String[]原创 2012-01-20 18:17:39 · 10221 阅读 · 1 评论 -
androdi draw9patch 图片使用中的小问题
做一个应用的新UI时,遇到一个奇怪的问题: 一个VIEW 在切换背景后,里面的一张图片居然活活的消失了, 无论怎么设置XML属性都没有办法显示。经过若干分钟的比较后发现,两张背景图片都是.9.png(9patch)格式,一张四边都有画细线(1像素用控制拉伸和内容的),另一张只有拉伸线(左,上),没有内容控制线(右,下),直接导致其内部的一部分内容无法显示,没有内容控制线,效果就不可预测原创 2012-01-08 18:52:43 · 1169 阅读 · 0 评论 -
蚂蚁迷呀 (附源码)
蚂蚁迷呀还记得童年少时,和小伙伴一起趴在地在玩蚂蚁吗? 是否也用手指在小蚂蚁的路上划过,改变它前进的方向呢? 今天,我们这只小小的蚂蚁迷路了,来划屏幕,帮助它快快回家吧。操作说明: 打开关卡,在蚂蚁前进的路上,用手指划出障碍,改变它的方向,帮助它躲开那些陷阱,回到自己温暖的小窝。游戏说明:游戏关卡总计15关,需要解锁前面关卡后才能进入下一关,每次通关后,蚂蚁速度会增加一次。原创 2011-10-31 23:45:16 · 2611 阅读 · 4 评论 -
月光博客 (附源码 )
月光博客的Android客户端,里面有最新的IT资讯,业界动态。看月光博客,紧跟IT时代脚步! 需要WIFI或者GPRS/3G网络连接。源码地址:git@github.com:dingzhihu/YGBlog.git下载:$git clone git@github.com:dingzhihu/YGBlog.git好风工作室 (2011)原创 2011-07-24 23:04:01 · 1095 阅读 · 0 评论 -
快升级Eclipse吧
经本人测试,新版本eclipse indego 比老的galielo速度快3倍以上,并且新增了Lint检查(C专家编程中特别提到这个工具,他们以lint clean为目标),可以查出很多低级,甚至“高级”的错误,有这么好的工具,为什么不用呢?Why not?附上新ADT16升级包下载地址:http://developer.android.com/sdk/eclipse-adt.html#i原创 2011-12-26 21:19:17 · 1712 阅读 · 2 评论 -
解决ubuntu下无法正确显示GBK编码的问题
本帖最后由 xyqlgpp 于 2010-12-23 09:57 编辑 我使用的系统是Ubuntu10.04,系统默认编码是utf-8,同时,默认下eclipse事找不到GBK的编码的。而一般来说,win下编程默认的编码方式都是GBK,所以我下载下来的源代码的中文注释基本上都是乱码。上网差了资料,要解决这个问题,步骤挺简单的:1,打开终端,输入:sudo gedit /va转载 2011-09-23 12:50:46 · 1689 阅读 · 0 评论 -
判断Android程序是否在前台的两种方法
@Override protected void onStop() { if (!isAppOnForeground()) { Debug.i("dwy", "enter background"); mIsBackground = true; } else { Debug.i("dwy"原创 2015-06-10 17:23:48 · 1774 阅读 · 0 评论