自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(82)
  • 资源 (1)
  • 收藏
  • 关注

原创 View事件传递机制

Activity,ViewGroup,View1.默认情况Activity->dispatchTouchEventMyLinearLayout->dispatchTouchEventMyLinearLayout->onInterceptTouchEventcustomview->dispatchTouchEventcustomview->on...

2018-11-15 23:32:36 220

转载 Metamask-rpc error with payload

 解决方案:把Metamask 的private network 重置一遍就可以了,具体操作是选中http://localhost:9545 ,点击最下方的reset account 即可

2018-08-27 10:39:04 2209

原创 truffle 相关

1.mac上卸载和安装trufflenpm uninstall -g trufflenpm install -g truffletruffle的最新版本为4.1.142.以太坊测试网络两个客户端(1)Ganache 前身testrpc ,testrpc是命令行界面,Gananche是可视化界面。(2)truffle develop truffle内置的测试客户端。区别:...

2018-08-23 10:41:23 996

转载 View Invalidate和ReqestLayout的区别

Invalidate:To farce a view to draw,call invalidate().——摘自View类源码从上面这句话看出,invalidate方法会执行draw过程,重绘View树。当View的appearance发生改变,比如状态改变(enable,focus),背景改变,隐显改变等,这些都属于appearance范畴,都会引起invalidate操作。

2017-09-05 14:29:01 292

原创 Android 冷启动与热启动

简介冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这种启动方式就是冷启动。 热启动:当启动应用是,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程还是保留在后台,可进入任务列表中查看 ),所以在已有进程的情况下,这种启会从已有的进程中来启动应用,这种启动方式就是热启动。区别冷启动因为系统会重新创建一个新的进程分配给它,所

2017-08-31 20:14:31 1344

转载 Android Parcelable与Serializable的区别

原文地址:http://blog.csdn.net/yuekongxia01/article/details/50290895parcelable与serializable都是序列化的操作,那么我们先看 一下为何要使用序列化!1)永久性保存对象,保存对象的字节序列到本地文件中;2)通过序列化对象在网络中传递对象;3)通过序列化在进程间传递对象。 我们在项目中最经

2017-08-31 19:45:03 273

原创 Java设计模式之装饰模式

模式介绍装饰模式是使用一种对客户端透明的方式来动态地扩展对象的功能,同时它也是继承关系的一种替代方案之一。装饰模式相比生成子类更为灵活。应用场景需要透明且动态地扩展类的功能时。生活中也能看到很多装饰模式的例子,例如衣服上的装饰物,各种搭配等等。代码例子下面用一个房子带花园,带泳池的例子来实现一下装饰模式。 房屋抽象类/** * 房屋 * @author S * */public abst

2017-08-22 21:53:27 314 1

原创 Java设计模式之迭代器模式

模式介绍迭代器模式主要是提供了一种顺序访问一个容器对象中的各个元素,而又不需要暴露该对象的内部表示。应用场景遍历一个容器对象时代码例子迭代器接口/** * 迭代器 */public interface Iterator { /** * 是否有下一个对象 * @return */ public boolean hasNext(); /**

2017-08-20 18:39:05 202

原创 Java设计模式之责任链模式

模式介绍使用多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,只到有对象处理它为止。应用场景多个对象可以处理同一个请求,但具体由哪一个对象处理则在运行时动态决定。 在请求处理者不明确的情况下向多个对象中一个提交一个请。 需要动态指定一组对象处理请求。代码例子在生活中也会用到责任链模式,例如在公司里面的员工请假,首先要向主管请求,

2017-08-20 15:44:20 266

原创 Java设计模式之代理模式

模式介绍代理模式为其他对象提供一种代理以控制对这个对象的访问。应用场景生活中有很多代理模式的例子,例如你有房要出售,就会找中介帮忙把你的房子出售,这个过程中介就是代理。代码例子使用一个房东让中介帮忙出售房子的demo静态代理房屋出售接口/** * 房屋出售 */public interface SellHouse { /** * 发布出售内容 */ publ

2017-08-13 00:46:47 247

转载 业余时间决定了你的人生

一百多年前,有道数学题难住了全世界的数学家:“2的67次方减去1,究竟是质数,还是合数?”这是一个数论的题目,虽然它的知名度远不如“哥德巴赫猜想”,但是,破解它的难度,一点儿也不逊于后者。数学家们做过种种尝试,都无功而退。出人意料的是,1903年10月,在美国纽约举行的世界数学年会上,一个叫科尔的数学家,面对满场等待他学术报告的听众,一言不发,径直走向黑板,写下了一

2017-08-11 12:54:39 539

原创 Java设计模式之观察者模式

模式介绍观察者模式定义了一些列对象之间的一对多关系。当一个对象改变状态,其他依赖者都会收到通知。观察者模式提供了一种对象设计,让主题和观察者之间松耦合。应用场景在生活中有很多观察者的模式应用,譬如我们用手机短信订阅移动公司的天气预报,我们和移动公司就是观察者和目标的关系,还有我们订阅微信公众号等等。例子说明下面写一个关于微信公众号订阅的demo来演示一下观察者模式。观察者接口/** * 观察者接口

2017-08-10 21:41:30 198

原创 Java设计模式之适配器模式

适配器顾名思义就是把一样东西转换成自己想要的东西。生活中也存在适配器模式,例如常见的安卓数据线是不能给苹果手机充电的,但是苹果提供了一种转接头,在安卓数据线上套上转接头就可以给苹果手机充电了。下面写个demo来实现适配器模式。数据线大口/** * 大口 * @author S * */public interface BigPort { public String useBigPo

2017-08-10 13:16:11 234

原创 git基本操作提交代码

文件修改之后就要提交代码了,git和svn最大的不同就是git有一个本地仓库。git代码是先提交到本地仓库的,你可以不同马上提交到远程仓库。命令行下提交git commit -a -m “提交描述” -a表示提交所有的内容 -m后面加要提交的内容描述 git status 是查看当前的状态,看有哪些文件要提交。 git commit 之后就提交到本地仓库了。 git log 是查看

2016-12-25 23:26:38 2246

原创 git基本操作从远程服务器获取项目

git是这一年才刚使用的,以前只是听过很不错,但是一直没有机会用到工作中去,今年因为项目中用到了git,所以对git有了更深入的理解,越用越觉得好用,svn在它面前就是渣渣。接下来几篇文章准备好好讲讲这个git,git的一些基本操作和一些高阶操作,希望能帮助到一些朋友。先从一则小故事开始我们的git之旅,小华是一家公司的Android开发人员,突然有一天,他被老大叫去说有个项目需要你去支持一下,小华

2016-12-13 23:45:20 5782

原创 Android stuido 出现找不到符号

最近在使用as导入项目的时候出现了非常奇葩的一个问题,就是android studio 在gradle build的时候报错,提示找不到符号,后来我跟进去发现是有有几张图片找不到,但是R文件是没有问题的。而且图片也都在的。后来试了很久,终于发现了问题,原来是图片的格式不对,图片资源的格式是jpg的,但是后缀名是png的。这个在eclipse下是没有问题的,会编译通过的。但是在as下就不能gradl

2015-11-25 20:23:26 14646

原创 Android studio 修改包名

如果要在android studio中修改包名,versioncode和versionname,在manifest下修改是无效的,要修改Modeule:app下的defaultConfig文件下的。

2015-11-25 20:08:36 876

原创 Android adb端口被占用/adb无法使用解决办法

1、CMD命令窗口输入:adb nodaemon server 。然后就会提示你哪个端口被占用了。2、输入netstat -ano | findstr "5037" 。然后会弹出提示告诉你哪些进程占用了该端口,记住非0地址的后面的数字3、打开任务管理器,点击“进程“,“查看”-“选择列”,勾选PID4、查找第2步中看到的数字PID,然后结束相关进程,即可

2015-02-28 14:24:20 995

原创 Android在一个应用中调用另一个应用

在一个应用中调用另一个应用有三种方法1.Intent intent = new Intentintent.setClassName("要调用程序的包名","要调用的程序的入口Activity的完整路径");startActivity(intent);2.Intent intent = new Intentintent.setComponent(new Component

2014-12-29 13:14:20 1299

转载 Eclipse下修改SVN地址

因SVN服务器搬迁造成ip地址变更,工程需要修改SVN地址。修改步骤网络上有很多,大都是:一、在Eclipse中选择Windows-> Show View->others 就会出现如图:选中SVN资源库,会出现如下图所示的画面:然后选中原有的地址,选择“重新定位”:在“将被重新定位的项目:”这一栏中会显示出Eclipse中原有的工程,

2014-11-24 10:32:06 774

转载 android anr traces日志分析方法

一:什么是ANRANR:Application Not Responding,即应用无响应二:ANR的类型ANR一般有三种类型:1:KeyDispatchTimeout(5 seconds) --主要类型按键或触摸事件在特定时间内无响应2:BroadcastTimeout(10 seconds)BroadcastReceiver在特定时间内无法处理完成3:Servi

2014-10-15 15:33:21 51227 2

原创 装黑苹果系统遇到的问题

在黑苹果系统中遇到的问题最近准备自学iOS,刚好公司的dia

2014-09-17 15:38:19 3442

原创 XCode 一直处于Indexing状态中

编译完Xcode项目后, 一直处于Indexing状态解决方法:

2014-09-17 14:07:29 5180

原创 Android Notification使用系统通知栏布局出现的图标问题

修改通知栏界面布局有两种方法:1.使用系统的

2014-06-29 23:57:48 6330 1

原创 Android 混淆打包不混淆第三方jar包

项目因为要发布,所以要混淆打包。混淆打包流程:1.在proguard-project.txt文件中添加不需要混淆的类和第三方的jar包  这个是保持自己包中不需要混淆的类,如果有些类调用了jni也不需要混淆,不然会出错。还有如果项目中有其他项目作为library引入,那这些项目的一些类也不能混淆。 这个是保持项目中的第三方jar不混淆 另外加上上面几句话

2014-06-23 00:29:12 38192 7

原创 Android ActivityGroup的子类中调用AlertDialog出现问题

解决方法:在ActAlertDialog.builder builder=new AlertDialog.builder(getParent());

2014-06-21 00:44:24 1135

原创 Android 应用程序背景透明,有标题的初始页

解决方法:在manifest文件中,在launch的activity中android:theme="@android:Theme.Black.Notitle"

2014-06-21 00:38:42 1064

原创 学习

人生在勤,不索何获--张衡 业精于勤而荒于嬉,行成于思而毁于随--韩愈 聪明出于勤奋,天才在于积累--华罗庚 好学而不勤问非真好学者。 书山有路勤为径,学海无涯苦作舟。 形成天才的决定因素应该是勤奋-郭沫若 人的大脑和肢体一样,多用则灵,不用则废-茅以升 你想成为幸福的人吗?但愿你首先学会吃得起苦--屠格涅夫 贵有恒何必三更眠五更起,最无益只怕一日曝十日寒。 成

2014-02-09 23:26:02 679

原创 批量修改图片的后缀名

在你要改后缀名的文件夹里,右键新建个记事本输入内容ren *.jpg *.gif保存然后改记事本后缀TXT为BAT双击就可以啦,记得一定要把文件放在一个目录

2014-02-09 23:19:07 1378

原创 Android ActivityGroup和TabActivity搭配使用及遇到的一些问题

ActivityGroup和TabActivity的搭配使用1.用途如果你有一个AActivity是在TabActivity的tab中的,然后想跳转到BActivity,并且当前的tab页面还是要保留显示的,就可以使用ActivityGroup 2.使用介绍首先你要有一个类继承ActivityGroup,这个类叫做ParentActivity,然后把ParentActivity

2014-02-09 23:09:45 1816

原创 别人访问不到自己用apache搭建的服务器网页

解决方法:如果其他的电脑不能访问你的网页:可能是防火墙打开了。关闭防火墙就可以了

2014-02-09 21:41:51 1591

原创 Android LinearLayout 嵌套 button 监听LinearLayout的onClickListener事件出现问题

解决方法:1.在LinearLayout的属性增加 android:descendantFocusability="blocksDescendants"2.将button换成imageview,在imageview的属性增加android:focusable="false"

2014-02-09 21:36:29 4961

原创 Android File的mkdir()和mkdirs的区别

mkdir():只能创建一层目录.  如: File file = new File("c:/aa");file.mkdir(); //这样可以在c:/下创建aa目录假如有多层目录,则不能用mkdir创建:File file = new File("c:/aa/bb"); file.mkdir() //这样创建不了.应该改为:mkdirs():

2014-02-09 21:32:14 23018 3

原创 Android Audio Recorder无法创建:Error creating AudioRecord instance: initialization check failed.

原因:1.可能没有加上权限。加上    2.设置的缓冲区大小写死了,可能小于了设备的最小缓冲区大小。通过AudioRecord.getMinBufferSize(RECORDER_SAMPLERATE,RECORDER_CHANNELS,RECORDER_AUDIO_ENCODING)获取最小缓冲区大小。android手机的录音的最小的缓冲区大小是不相同的,如果把大小写死了很可能这个手机能

2014-02-09 21:25:44 8500

转载 Android 编译Android内核源码

原文地址:编译Android内核 作者:iamzhangshun    学习到这里才明白原来编译Android源代码不等于Android内核的编译,源代码中内核是已经编译好的,而内核要单独编译,下面叙述一下编译Android内核的经历,因为未来的学习方向在arm上,所以选择了arm内核编译。1、创建Android内核源代码路径2、mkdir kernel3、cd kernel4

2013-11-23 15:09:26 1010

原创 Ubutun 编译完sdk 出现Target id is not valid. Use 'android list targets' to get the target ids.

明明有android 2.3.3的api可是target一直是灰色,后来原来发现是Android sdk tools的版本太低了,检测不到那个api,更新一下android sdk tools 终于出来android target了。

2013-11-22 23:39:20 4646

转载 Ubuntu 设置adb的环境变量

我的adb已经拷贝到ubuntu下了,但是还没有配置环境变量,那么只能在那个文件夹下使用,所以:$gedit .bashrc 最后一行添加了 export PATH=$PATH:/home/username/platform-tools保存退出 $source .bashrc    -->ok了,如果你还有空的话可以看看下面的解释,没空就赶紧去工作吧!下面说一下这个配置文件

2013-11-21 21:01:25 1218

转载 svn使用简单教程

是否正在参与团队合作项目?你是否遇到过这样的情况:当你正在修改一个文件,却出现另一个人作了同样的事情。你是否曾因为这种巧合而导致了你的修改付之东流?你是否曾经在文件保存之后,又想恢复到文件保存之前?你是否想过要去查看一个文件几天前的内容?当你发现一个项目中的bug,你是否想知道它是何时出现在你的代码中?如果你对上面任何一个问题回答“Yes”,那么TortoiseSVN就是你所需要的

2013-07-18 15:07:00 700

转载 Ubuntu下的c/c++环境搭建(转)

ubuntu下的c/c++环境搭建(转)ubuntu下的c/c++环境搭建是比较简单,因为有apt和新立得的帮助.1.首先是配置gcc,在ubuntu安装完成已经有gcc了(gcc是由GNU之父Stallman所开发的linux下的编译器,全称为GNU Compiler Collection, 目前可以编译的语言包括:C, C++, Objective-C, Fortran, Ja

2013-06-30 10:42:33 1184

原创 Win7装ubuntu双系统

最近想研究一下android的源码,所以想装一个ubuntu系统,虽然虚拟机也可以下载源码,但是运行起来很卡,而且网速很慢,所以就想装个双系统。在网上看了很多教程,终于把ubuntu装好了,我装的是ubuntu12,我的机子是是win732位。在装双系统的时候主要遇到的问题就是我的三个硬盘c,d,e都是主分区,而且系统本身有自带的100M的分区也是主分区,所有已经有4个主分区了,所以不能再压缩

2013-06-08 19:18:19 2790 1

重构pdf文档

重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性.

2012-11-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除