- 博客(384)
- 资源 (19)
- 收藏
- 关注
原创 Android 浅尝Tinker微信热修复
现在热修复已经很热门了,比较著名的有阿里巴巴的AndFix、Dexposed,腾讯QQ空间的超级补丁和微信最近开源的Tinker。 Tinker是一个android的热修复库,在不重新安装apk的情况就可以更新dex,library和resource。Tinker区别于AndFix和QQ空间超级补丁采用了更好的dexdiff算法。想要了解详细介绍参考下面微信负责人张绍文的博客链接。 演示ap
2016-10-19 15:52:47 2895 6
原创 Javascript(五)Javascript基础(浏览器对象BOM)
在Javascript(一) Javascript与HTML结合使用简单学习中提到了javascript的语言组成,其中有BOM浏览器对象模型,要学习javascript语言BOM的学习也就必不可少了。BOM组成BOM Window BOM Navigator BOM Screen BOM History BOM LocatiomBOM Windowinnerheight、innerwidt
2016-10-17 16:46:56 672
原创 Javascript(四)Javascript基础(对象)
在 Javascript(三)Javascript基础(函数与数组)中已经介绍了数组对象了,本篇博客学习一下其他的javascript中的对象。String对象big方法<script type="text/javascript"> function fun1(){ //1、获取p标签 var element=docum
2016-10-16 22:22:39 487
原创 Javascript(三)Javascript基础(函数与数组)
Javascript函数函数定义函数定义有三种方式,第三种方式现在不怎么使用了 1、采用关键字function 2、匿名函数:采用function作为名字 3、采用new Function()的方式(不怎么使用了), 规则:Function括号里面都是参数,最后一个是函数体,函数体要使用”“括起来 函数调用时通过函数名调用,因此在定义函数名时要注意不要重复。//1、采用关键字functi
2016-10-16 17:38:23 551
原创 Javascript(二)Javascript的数据类型和运算符
javascript严格区分大小写Javascript数据类型基本数据类型6种基本数据类型(1)undefine(2) string (3)Boolean(4) Number (5)function (6)null 数值型:整数和实数 字符串型:用“”或‘’括起来 布尔值:true/false 空值:null引用数据类型Object数据类型转换String():将其他类型的值转换为字符串。v
2016-10-14 15:22:08 637
原创 Javascript(一) Javascript与HTML结合使用简单学习
Javascript介绍(1)javascript是一种基于对象和事件驱动的脚本语言 脚本:嵌入在其他语言中的语言 事件驱动:网页交互会产生一些效果 基于对象:针对已经存在的对象 (2)作用:为页面添加动态效果Javascript语言组成EcMAScript+BOM+DOM EcMAScript:规定了一些语法、变量,for循环等等结构 BOM:Browser Object
2016-10-13 00:03:59 985
原创 Cesium:APP实现存在的问题
1、查看你的手机是否支持webgl,打开你手机浏览器,输入地址:http://webglreport.com1、申请BingMapKey:https://www.bingmapsportal.com/ 对Cesium文件夹下面的Cesium.js进行修改,通过ctrl+f 搜索“This application”找到之后将defaultKey修改为自己的key值,将下面getkey的函数返回
2016-10-12 23:49:34 10673 22
原创 CSS (一)CSS的基本认识与Css选择器
CSS简单介绍 CSS 指层叠样式表 (Cascading Style Sheets),由于html最初的样式比较少,为了更好的支持html就出现了css。css作为一种样式表本身并不能像html那样进行效果显示,①通过设置它的样式,定义了HTML元素的显示。②css定义的样式表通常存储在单独的样式表中(也就是.css文件中),外部样式表可以极大提高工作效率③同时,样式的定义更好的将内容与展现形式
2016-10-11 00:02:18 505
原创 Cordova Android windows 环境配置
什么是Cordova现在跨平台已经比较多了,如果你听说过移动端的跨平台开发就知道Cordova是干啥的了。Cordova是Apache的顶级开源项目,在由PhoneGap将Cordova贡献给Apache之后,Cordova的应用开始变的广泛。下面是Cordova的一些特点: <1>Cordova是一个移动开发框架 <2>Cordova提供了统一的HTML CSS JavaScript等类库,这
2016-09-28 00:11:19 990
原创 Eclipse和Android Studio 快捷键
Ecplise:销注释 Ctrl+/ 查找 查找替换 Ctrl+H Ctrl+F 查找下一个/往回找 Ctrl+K Ctrl+Shift+K 跳到某行 Ctrl+L,哈用惯了Editplus,不时会敲下Ctrl+G, 查找当前元素的声明 Ctrl+G 查找当前元素的所有引用 Ctrl+Shift+G 重新组织Import Ctrl+Shift+O,能帮你一次去掉所有未使用
2016-09-21 22:00:19 619
原创 Android 增量更新
什么是增量更新增量更新是将两个不同版本的包,通过bsdiff工具进行二进制对比,生成差分文件。在更新的时候只需要将差分文件与当前包进行合成,生成新的apk。 通过生成差包,使用户在安装应用时不需要重新下载新版本,只需要更新需要更新的部分,可以大大节约用户流量。实战实战参考: https://github.com/cundong/SmartAppUpdates项目 1、下载上面地址的压缩文件,解
2016-09-19 13:42:25 825
原创 HTML 排版与标签(六)
多媒体标签背景音乐<bgsound>标签,属性 loop为-1时为循环播放视频标签<embed >既可以播放视频也可以播放音频属性:autostart设置是否自动开始播放 volume设置音量滚动标签<marquee>属性:behavior有三个值:scroll:循环滚动 alternate:来回滚动 slide:滚动一次 direction:值为目标方向,left,right,up,dow
2016-08-21 19:03:29 745
原创 HTML 排版与标签(五)
框架标签框架标签适用情形有时候我们需要在一个页面上面显示两个或者多个界面时可以使用框架标签。框架标签使用框架标签使用<frameset>和<frame> 使用例子: 分为上下两部分时使用rows属性,上半部分占200像素,下班部分占剩下的部分<frameset rows="200,*" ><frame src="top.html" ></frame><frame src="bottom
2016-08-21 18:13:26 2347
原创 HTML 排版与标签(四)
清单标签 清单标签分为3种: 1、无序清单(<ul>记忆unorderlist)默认有小圆点 属性:type 取值:disc(圆点) circle(空心圆) square(方形) 2、有序清单(<ol>记忆orderlist)默认数字排序 属性:type 取值 1,a,A,i,I start 3、定义清单(<dl>记忆definelist) 使用<dt>(清单标题)标签和<
2016-08-21 00:12:07 961
原创 设计模式——观察者模式
什么是观察者模式观察者模式有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。举个例子:传播点正能量,就拿里约奥运会来说吧。奥运会比赛就是被观察者,看奥运的人,我们大家就是观察者,在奥运会中国某个比赛赢了的时候,我们这些观察者就会做出一些反应,发微博啊,发朋友圈啊,这就是
2016-08-16 18:54:14 542
原创 Android OKHttp介绍与使用(二)
在Android OKHttp介绍与使用(一)中只是简单的介绍了一下OKHttp并贴了一个小Demo来尝试一下OkHttp。在本篇博客中将对OKHttp的使用进行系统的介绍。OKHttp简单体验使用前提: Android Studio添加依赖库 compile 'com.squareup.okio:okio:1.9.0' compile 'com.squareup.okhttp3:okhtt
2016-08-13 23:17:44 1201
原创 Android OKHttp介绍与使用(一)
为什么使用OKHttp1、之前Android的网络请求传统的方式是使用HttpUrlConnection和HttpClient(冗余代码也比较多),但这两种方式使用起来比较麻烦,需要自己再次封装。更重要的一点是Android 6.0已经不支持HttpClient了,并且早在Android 4.4的源码中HttpUrlConnection已经被替换成okHttp了。 2、okHttp是一个轻量级的网
2016-08-13 18:52:12 1576 1
原创 Android Material Design
一、控件1、Android RecyclerView之代替ListView与GridView 2、Android RecyclerView之添加Item分割线3、CardView CardView顾名思义,我感觉也确实可以把CardView看作是一张看片,我们在卡片的表面放上自己的某些控件。为什么说是在卡片上面放置控件: ‘A FrameLayout with a rou
2016-08-07 18:36:38 638
原创 Android 面试总结
最近一直都在面试,只有把找工作当做一种工作认真对待的时候我才觉得自己这一天没有荒废。不去想未来有多远,活在当下做最好的自己就心满意足了。 说下面试吧,以后一点点记录,我刚毕业也就算是个初级程序员吧,以前看《80后脱口秀》王自健说:“所谓的小鲜肉,到了社会上就是没经验”,感觉确实是这样。关于面试有时候常常在想自己积累的Android知识也不少,但是面试的时候不会说也是挺尴尬的。不多说了,下面是
2016-08-05 17:51:09 993 3
原创 Android 自定义百分比布局
效果图: 思路: 1、编写xml文件,声明自定义属性 2、继承RelativeLayout 3、根据自定义ViewGroup的思想我们一般会在继承之后,创建构造器,然后重写onMeasure、onLayout和onDraw三个方法。这里对onLayout和onDraw方法都不需要进行特别的操作。因为百分比布局,是以该布局作为容器,子控件的宽度跟高度以百分比布局为参考设定。比如你的容器宽2
2016-08-02 00:12:28 1782 1
原创 Android 面试题大全
有需要面试方面知识的可以参考这个大神总结的哈 https://github.com/GeniusVJR/LearningNotes
2016-07-28 19:15:40 723
原创 Android 容联云IM集成:初始化与登录中的坑
之前毕业设计搞了一下环信,感觉还可以,使用起来也比较方便,代码也都能看懂。最近在看容联云,刚开始接触,感觉还是有点困难的,看得宝宝想哭。刚做个登录就发现了一些坑。 1、先说说下载的demo,demo下载下来有下面两种登录方式(手机+Voip),一开始不懂,用自己的注册账号的手机号码登录的,结果登录失败,原因是:我的账号没有进行认证!想要登录成功是需要认证的,后面用认证过的账号登录成功了
2016-07-25 17:51:41 3483 6
原创 java.lang.RuntimeException: Unable to instantiate application com.android.tools.fd.runtime.Boo
解决方法 1、打开studio的setting 然后Preferences -> Build, Execution, Deployment -> Instant Run ->将 Enable Instant Run的勾去掉 2、检查你的自定义Application是不是将构造器设置成了private,将private修改为public
2016-07-25 11:15:46 1768
原创 Android Studio导入项目gradle报错,解决方案
在使用第三方平台的Demo时经常会在导入项目后发生gradle报错或者Android Studio会自己连接goole去下载demo配置中的gradle版本,通常应为连接下载失败会报错,在这里记录一下具体的解决方案。 1、创建一个新的工程,创建完成之后将工程目录选择为project,并找到目录下的这几个文件。 2、在你即将导入的demo中找到对应文件。 app/build.g
2016-07-23 10:01:52 6900 8
原创 Android CrashHandler编写自己的异常捕获类
平时写代码,我们可能会抛出各种异常,这些异常有些是我们测试过程中发现进行解决的,但是也有一些异常是我们未知的,不论是代码的逻辑问题还是Android本身底层的一些bug,我们都需要及时了解并进行解决。当用户在使用app出现崩溃现象时我们需要知道是什么原因,并将原因记录下来上到服务器,这样以后我们就可以知道具体是什么原因了 ##CrashHandler类用于记录crash原因保存到sd卡中。pu
2016-07-16 16:37:37 7249 5
原创 Android Studio git环境配置
预备工作:在www.github.com上注册账号 1、要安装git还是得先去官网下载git(地址:https://git-scm.com/download),如下图: 根据自己电脑下载不同版本,下载完成后直接点击运行,记住安装目录。 2、打开AndroidStudio,创建项目。之后点击File—settings——version control——Git如下图所示,选择刚才git的安装
2016-07-15 16:27:28 1368
原创 Android MVP优化
这篇博客是在上次博客的基础上进行了代码的优化。 Android MVP与MVC框架模式 (http://blog.csdn.net/danfengw/article/details/51829746) 在上篇博客中使用的MVP框架模式可以看出它比MVC框架模式更加稳健,但是上次的代码中还是有缺点的,因为Presenter持有了MainActivity的强引用,但是当presenter在加载数据时
2016-07-13 23:54:42 2434 4
原创 windows下 ADT NDK开发环境配置
前提: 下载好Ecplise ADT并配置好开发环境,不会配置环境可以参考这里: http://blog.csdn.net/danfengw/article/details/47111107 步骤: 1、下载ndk并解压(这个比较多了,可以参考这个网址的地址(http://www.cnblogs.com/yaotong/archive/2011/01/25/1943615.html),下载比
2016-07-13 13:10:00 2588
原创 Android MVP与MVC框架模式
MVP与MVC模式MVC在我们开发过程中比较常见,就不进行详细解释,主要看下二者的区别。 (1)MVP与MVC名称上就可以看出来,MVP中使用Presenter代替了之前的Controller,Presenter可以被我们理解为一个中间人,也是主要负责业务逻辑的处理,但是它与Controller又有不同之处。 (2)MVC规范不够明确,MVP规范更加明确,在系统扩展方面也更加灵活。 (3)其实
2016-07-05 15:45:37 1116
原创 Android Studio:Failed to resolve :junit junit 4.2.2
不知道从什么时候开始也不知道是哪个版本开始Android Studio 在创建项目的时候开始报上面这个错误,不过没关系,只需要删除一行代码就可以了。 解决方案: 点击上图中的蓝色字体部分,会跳转到你的build.gradle文件,在这个文件删除掉下面一行代码,点击try again就可以了。 这个貌似是单元测试没有通过。
2016-05-17 09:57:04 4017 5
原创 Eclipse 文件更新后目录结构改变(解决方法)
有时候目录结构的改变并不会引起我们的注意,但是更新后有时候确实会出问题! 不正确的目录结构: 正确的目录结构
2016-03-17 09:41:34 2121
转载 Eclipse问题 A cycle was detected in the build path of project: XXX
没办法转载,复制了一下人家的。http://blog.csdn.net/kcai678/article/details/4668993 解决Eclipse中Java工程间循环引用而报错的问题 如果我们的项目包含多个工程(project),而它们之间又是循环引用的关系,那么Eclipse在编译时会抛出如下一个错误信息: “A cycle was detected in the build p
2016-03-15 09:36:51 2218
原创 Ecplise 更新代码出错:Description Resource Path Location Type The container 'Android Dependencies'
Description Resource Path Location Type The container ‘Android Dependencies’ references non existing library ‘D:\Program Files\Android\adt-bundle-windows-x86_64-20140321\sdk\platform\android.jar’ build
2016-03-15 09:31:25 28569
原创 Eclipse 替换jar出现ClassNotFound问题
遇见两次这个问题了,一替换引用的jar包,再次运行时就会出现ClassNotFound的错误,先声明我已将jar包放在libs文件夹下面并且configure build path了,引用时也能进行引用,感觉很奇怪,原理我也不太清楚只能说下怎么解决了。 解决方法: 选中你的项目右击——》点Build path——》选择Configure build path——》Order and Explor
2016-03-14 13:41:40 926
原创 Android ListView布局嵌套EditText不能输入文本
今天才发现ListView与EditText嵌套时会出现EditText不能进行输入的情况,这是因为EditText此时无法获得焦点,这样我们可以通过设置descendantFocusability属性来使EditText强制获得焦点。 <ListView android:layout_width="match_parent" andro
2016-03-02 17:31:12 4967 1
原创 Android 打包apk(Ecplise)
1、选择你要打包的文件,右击。 2、选择Android Tools——>Export Signed ……点击next。 3、两种情况: (1)选择Create new keystore,选择你要创建的keystore的位置,再输入密码password,再次输入你的密码,两次密码相同,点击next。 next之后,填写下面几项,别名、密码、年限+名字 点击next,选择a
2016-03-01 16:17:25 964
原创 Ecplise 打jar文件
1、选中你要打成jar文件的应用 2、点击Export,弹出界面 3、点击Java——>选择jar file 4、点击下一步: 注意只选择src文件,并勾选1、3项。直接点击finish即可,这样在你选择的目录下面就可以找到你需要的jar包了
2016-03-01 15:47:47 776
原创 Android 蓝牙的使用(待续)
一、蓝牙的打开方式(两种)方式一(授权打开):Intent intent=new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivity(intent);方式二(静默打开): mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter(); mBlu
2016-02-23 10:44:51 879 1
原创 Android MediaRecorder问题:StartFailed解决方案
如果你在使用MediaRecorder的时候也遇到了Start Failed的问题,那么你可以找以下三个方面的问题: 最简单的: 1、查看API,MediaRecorder的配置是有顺序的,检查你的顺序是否正确。 2、是否在new MediaRecorder之前对相机解锁即是否有这行代码mCamera.unlock(); 3、分辨率的设置是否正确,不同手机的屏幕分辨率不同,建
2016-02-22 17:32:21 4351 4
tinkerDemo的两个apk可以安装试一下
2016-10-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人