- 博客(49)
- 收藏
- 关注

原创 Android Design Tools记录
一、在手机上预览PS效果图工具 Pixl Preview 网站:https://markushintersteiner.at/pixl-preview/ 下载APK: https://play.google.com/store/apps/details?id=at.markushi.pixl
2014-03-26 10:15:45
932

原创 Android Small UI实际应用总结
1、如果某个activity使用了图片作为背景,因为同时默认情况下窗口有一个不透明的背景,删除窗口背景。 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.screen_shelves); getWindow().setBackgroundDrawable(null);//提高效率
2011-02-26 18:06:00
1618
原创 Cannot find ViewPager’s Id In a PopupWindow
使用ViewPager,运行后Logcat报出如下错误No view found for id 0x7f080005 (id/view_pager) for fragment AdvertisementImageFragment{419e41d0 #0 id=0x7f080005 android:switcher:2131230725:0}当时十分纠结为什么找不到view_page的定
2014-03-27 10:22:42
3308
翻译 Android Database 并行访问
1、假设你已经有了自己的SQLiteOpenHelper实例public class DatabaseHelper extends SQLiteOpenHelper { ... }2、现在你需要在不同的线程中写数据库// Thread 1 Context context = getApplicationContext(); DatabaseHelper helper =
2014-03-26 17:30:44
4636
原创 android反射组件 (一)java 自定义annotation基础知识
自定义annotation包括三部分: 自定义annotation、使用annotation的类、annotation的处理方法。一、自定义annotation 元注解包括以下: @Target 描述注解使用的范围 取值包括:1.CONSTRUCTOR:用于描述构造器2.FIELD:用于描述域
2014-02-10 18:11:07
4327
原创 用ant实现自动打包android(二) -- android代码混淆
android developer关于proguard的介绍: http://developer.android.com/tools/help/proguard.html ProGuard主页: http://proguard.sourceforge.net/index.html# android的ProGuard位于android sdk的to
2013-09-20 18:22:06
2330
原创 用ant实现自动打包android(一)
1、在window平台下搭建ant开发环境 1)下载ant 2)解压ant后,配置ANT_HOME环境变量,同时把bin目录添加到path路径 3)在cmd中输入ant -version测试,是否配置成功2、通过ant在cmd命令下生成ant配置文件build.xml 执行ant命令,需要build.xml文件作为编译的规制,新
2013-09-20 16:28:01
1212
原创 配置android studio的codestyle
android studio的codestyle的配置文件,在setting界面没有import文件的功能。那么我们定义好的style存在什么位置呢?linux环境: ~/.AndroidStudioPreview/config/codestyleswindows环境: \.\config\codeStyles\mac环境: ~/Library
2013-07-24 12:06:26
6370
转载 ARRAYLIST VECTOR LINKEDLIST 区别与用法
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要
2013-07-20 16:07:01
960
原创 搭建ubuntu(12.10)的android开发环境
1. 安装jdk从Sun站点下载jdk-6u37-linux-x64.bincd /usr/local/libsudo cp /home/ttboy/Download/jdk-6437-linux-x64.bin.sudo chmod +x jdk-6437-linux-x64.binsudo ./jdk-6437-linux-x64.binsudo update-al
2013-05-03 17:15:46
912
原创 收藏的网址
Fragment和FragmentActivity的使用方法 . http://blog.youkuaiyun.com/jdsjlzx/article/details/7678171http://wazai.net/
2013-01-20 11:08:07
724
原创 使用反射机制控制Toast的显示时间
1、Toast源码分析: Toast的默认view是在transient_notification.xml中定义的一个TextView,如果需要设置Toast的界面,可以通过setView方法实现;如果需要设置Toast默认显示的位置,可以通过setGravity或者setMargin方法进行设置,值得一提的是setMargin方法的参数范围是0-1即它是屏幕的百分比,如set
2012-06-22 20:43:10
6211
1
原创 android广播
普通广播 (Normal broadcasts)发送一个广播,所有监听该广播的广播接收者都可以监听到该广播。sendBroadcast异步广播 当处理完之后的Intent ,依然存在,这时候registerReceiver(BroadcastReceiver, IntentFilter) 还能收到他的值,直到你把它去掉 , 不能将处理结果传给下一个接收者 , 无法终止广播。
2012-06-13 14:08:45
3111
原创 (一)NotePad源码学习
1、ContentProvider的使用 NotePad.java定义了数据库中唯一的Notes表的若干字段及其属性。Notes表实现了BaseColumns接口,即拥有了_id和_count的属性。数据库表的Uri的命名规则一般是:content://**/数据库名 (**代表provider的authorities)。 NotePadProvider.jav
2012-04-23 23:43:45
1478
原创 解读android源码APP之一 ---- 环境设置
使用eclipse导入/framework/app目录下的部分应用的时候,会出现错误。以AlarmClock代码为例,出现的错误提示有:Intent.ACTION_ALARM_CHANGED无法访问等。查看源码Intent.java文件发现public static final String ACTION_ALARM_CHANGED = "android.intent.action.ALARM
2012-04-07 17:00:15
2346
转载 svn merge和branch
下面我将step by step地演示如何一次完整的branching和merging,包括创建分支、分支开发、分支和主线同步,分支合并到主线的全过程,甚至包括如何在本地创建一个测试用的repository。首先需要安装TortoiseSVN,我安装的版本是:TortoiseSVN 1.6.15, Build 21041 - 32 Bit , 2011/03/23 18:00:
2012-03-31 12:07:05
2345
原创 win7笔记本,作为无线路由(实现手机连接笔记本)
1)找到c:\windows/system32/下面的cmd.exe。点击右键,选择使用管理员身份运行程序。2)在命令行里输入netsh wlan set hostednetwork mode=allow ssid=??????? key=????????? 如设定的ssid是zhlu,密码为123456783)打开控制面板---网络和Internet---网络和共享中心
2012-03-23 16:36:40
816
原创 android概念速记
1、加速本地图片获取速度: 在向sd卡写文件的时候,把url和图片存储位置存储到xml文件中,作为其中的一项。 在应用程序启动的时候,读取该xml文件,把文件内容载入到内存map中。 2、防止内存OOM: 1)在decode的时候,inJustDecodeBounds设置为true的时候,获取到outWidth根据它再计算inSampleSize,最后再de
2012-03-08 22:57:10
718
转载 Android横竖屏切换的生命周期
1、新建一个Activity,并把各个生命周期打印出来2、运行Activity,得到如下信息onCreate-->onStart-->onResume-->3、按crtl+f12切换成横屏时onSaveInstanceState-->onPause-->onStop-->onDestroy-->onCreate-->onStart-->
2012-03-08 22:55:32
778
原创 设计模式--factory pattern
工厂方法模式:定义了一个创建对象的接口,但由子类解决要实例化的是哪一个。工厂方法让类把实例化推迟到子类。 工厂方法,将产品的“实现”从“使用”中解耦。oo设计中遵循的原则,实现依赖倒置: 1、变量不可以持有具体类的引用2、不要让类派生自具体类3、不要覆盖基类中已实现的方法抽象工厂模式:提供了一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。
2012-01-04 17:19:57
524
原创 设计模式--Decorator Pattern
装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。应用场景:如果使用继承,导致类爆炸。所有的子类都有一些相同的方法,他们之间可以相互的wrap来实现递归。
2012-01-04 13:45:43
574
原创 设计模式--Observer pattern
出版者+订阅者=观察者模式观察者模式:定义了对象之间的 一对多依赖,这样一来,当一个的对象改变状态时,它的所有依赖者都会收到通知并自动更新。观察者模式适合的场景就是如定义所描述的。Subject主题 接口文件包括的方法有: public void registerObserver(Observer o); public void removeOb
2012-01-02 18:54:22
493
原创 设计模式--strategy pattern
策略设计模式:定义了算法组,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。个人理解它的应用场景:一个类下面有很多的子类,同时子类的属性个数和实现存在差异。 当使用继承的时候,很多父类没有的属性或方法都会被子类继承;那么很自然的想到使用接口实现父类,可以解决子类继承不属于自己方法的问题,但是接口不能实现代码的复用,这样每个子类都
2012-01-02 15:47:13
618
转载 android 动画解析
Android的animation由四种类型组成XML中 alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果
2011-08-08 14:04:45
1077
原创 解决:Adb connection Error:远程主机强迫关闭了一个现有的连接
最近刚入手了一台G12,用它来调试程序的时候,eclipse的console总是出现如下的错误“Adb connection Error:远程主机强迫关闭了一个现有的连接”问题出现的原因:这是ddms调用adb引发的. 经过一番搜索, 发现这是windows环境下,
2011-07-29 17:25:37
22619
原创 android 2.3 StrictMode 使用
ANR窗口产生的原因是多种多样的。程序的主线程因为IO读写或网络阻塞而导致被阻塞了,外部存储设备被独占了或系统负荷(load)过高(即不是自己编写的程序的问题,可能是系统或者其他第三方程序导致的问题),都有可能导致ANR窗口的出现。 从Android 2.3开始提供了一个新的类
2011-07-11 11:15:25
1200
原创 解决Activity onCreate()时AnimationDrawable动画不运行的问题
在Activity的onCreate()或者onStart() ,调用AnimationDrawable.start()方法,动画是不会运行的解决办法:private Handler handler = new Handler(); @Override public void onCreate(Bundle savedInstanceState) { super
2011-06-22 11:30:00
2085
原创 Java中Queue和BlockingQueue的区别
1.BlockingQueue:支持两个附加操作的 Queue,这两个操作是:检索元素时等待队列变为非空,以及存储元素时等待空间变得可用。 2.BlockingQueue 不接受 null 元素。 3.BlockingQueue 可以是限定容量的。 4.BlockingQueue 实现是线程安全的。Queue不是线程安全的。因此可以将Blockingqueue用于用于生产者-使用
2011-06-21 00:10:00
868
转载 Parcelable的使用
阅读Android源代码时,经常看到使用Parcelable的地方,但是一直没太搞清楚它的作用,今天仔细的看了一下,感觉就是把一堆数据打包,然后传输,然后再分解出来。public interface Parcelable 如果某个类实现了这个接口,那么它的对象实例可以写入到Parcel中,并且能够从中恢复,并且这个类必须要有一个static的field,并且名称要为CREATOR,这个
2011-06-20 15:11:00
985
原创 hg clone 命令的windows解决方法TortoiseHg
hg是跟svn和cvs一样的版本管理系统。windows下有TortoiseHg,算是比较好的客户端。 地址:http://tortoisehg.bitbucket.org/ 安装前先要检查是否有python平台,么有就装一个。 安装后将“C:/Program Files/TortoiseHg”加入系统path,则运行hg的命令行即可 例如:hgtk clo
2011-06-14 10:35:00
3539
转载 反编译apk文件,得到其源代码的方法!
<br /><br /> dex2jar和JD-GUI这2个工具配合学习android太靠谱了,所以放上来给大家共享,开源的好处就是好东西大家一起分享。<br /><br />dex2jar下载地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip<br />JD-GUI下载地址:<br />windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip<br /
2011-05-24 00:25:00
1066
原创 Android 文件格式
<br />Java---应用程序源文件<br /><br />Android 本身相当一部分是由 java 编写而成,而且 android 应用必须使用 java 开发 Class---java 编译后的目标文件<br />是由 java 虚拟机编译而成一个字节码文件,在之前我们用所学的 j2ee 以及 j2se 它是一个可 <br />执行文件,但是在 Android 当中它只是一个目标文件即过渡文件 Dex---Android 平台可执行文件:<br /><br />Android 自己提供了一个虚
2011-05-24 00:11:00
1143
原创 android控件获取焦点
<br /> 在话界面的时候,如果界面首部有EditText,那么EditText会获取焦点。当我们进入这个界面的时候,输入法会很快弹出来,这样非常影响美观。<br /> <br /> 使用<requestFocus />可以使控件获取焦点。示例程序如下:<br /> <br /> <br /> <EditText id="@+id/text" android:layout_width="fill_parent" andr
2011-05-18 18:25:00
11018
2
原创 android经常会犯的错误
1、忘记加入相应的权限。导致程序一直出现错误。 2、AlertDialog.build(**) **号不能用getApplicationContact()表示,应该用this,否则对话框就一直弹不出来。 3、数据库的操作,如果在程序调试的过程中,修改了数据库表的结构,如添加一个字段。这时,应该卸载应用,重新安装,否则表的结构的变化是反映不到表中的。
2011-05-18 16:28:00
1026
原创 android 2.2及以上使用adb出现“sqlite3:not found”解决办法
<br />1、查看sqlite的表结构<br /> <br /> sqlite> select * from sqlite_master where tbl_name='your_table_name';
2011-05-18 16:05:00
3857
原创 linux下会用到的命令
<br />ubuntu系统:<br /> <br /> sudo gedit /etc/network/interfaceauto eth0 iface eth0 inet static address 192.168.1.168 ne
2011-05-10 09:24:00
764
转载 应用HttpClient来对付各种顽固的WEB服务器
一般的情况下我们都是使用IE或者Navigator浏览器来访问一个WEB服务器,用来浏览页面查看信息或者提交一些数据等等。所访问的这些页面有的仅仅是一些普通的页面,有的需要用户登录后方可使用,或者需要认证以及是一些通过加密方式传输,例如HTTPS。目前我们使用的浏览器处理这些情况都不会构成问题。不过你可能在某些时候需要通过程序来访问这样的一些页面,比如从别人的网页中“偷”一些数据;利用某些站点提供的页面来完成某种功能,例如说我们想知道某个手机号码的归属地而我们自己又没有这样的数据,因此只好借助其他公司已有的
2011-05-08 13:22:00
661
原创 JAVA关键字new和newInstance()的区别
<br /> 在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法一个是关键字外,最主要的区别是创建对象的<br /> <br />方式不同。newInstance()使用类加载机制,new是创建一个新类。<br /> <br /> <br /> 从JVM角度看,使用new创建一个类的时候,这个类可以没有被加载。但是使用newInstance()方法的时候,就必须保证这个类已加载<br /> <br />且类已经连接了。<br /> <br />
2011-04-26 09:27:00
900
原创 一些有用的命令
1、连接两个linux机器,实现互相传送文件。如果服务端没有安装openssh-server,出现connection refused 1)apt-get install openssh-server 2)/etc/init.d/ssh restart 3)传送文件 scp file root@ip:/root (实现把file文件拷贝到ip机器上的/root目录下面) 4)传送文件夹 scp -r directory root@ip:/root (
2011-04-10 21:31:00
671
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人