android
lwklan
这个作者很懒,什么都没留下…
展开
-
Android 学习笔记
1、Activity A启动Activity B的生命周期是怎样的? A.onPause、B.onCreate、B.onstart、B.onResume、A.onStop原创 2015-12-28 15:00:05 · 306 阅读 · 0 评论 -
插件化开发—动态加载技术加载已安装和未安装的apk
先引入一个概念,动态加载技术是什么?为什么要引入动态加载?它有什么好处呢?首先要明白这几个问题,我们先从应用程序入手,大家都知道在Android App中,一个应用程序dex文件的方法数最大不能超过65536个,否则,你的app将出异常了,那么如果越大的项目那肯定超过了,像美团、支付宝等都是使用动态加载技术,支付宝在去年的一个技术分享类会议上就推崇让应用程序插件化,而美团也转载 2016-07-27 17:47:58 · 405 阅读 · 0 评论 -
Android ViewPager与SwipeBackLayout的业务需求解决
笔者在登陆页面使用了ViewPager与SwipeBackLayout,但有一个业务需求是:ViewPager在第二页是可以右滑到第一页,当ViewPager在第一页时,才会触发SwipeBackLayout的右滑返回,ViewPager在第一页可以左滑到ViewPager的第二页。参考了ViewPager的源码,做出以下解决办法:继承ViewPager类,重写dispat转载 2016-06-24 18:26:52 · 205 阅读 · 0 评论 -
Swipebacklayout侧滑关闭Activity
本文参考博客:http://blog.csdn.net/xiechengfa/article/details/45317503目前大部分的APP都支持侧滑关闭Activity及切换Activity的动画效果,这些效果极大的提高了用户体验。其它实现方式也比较简单,能够很方便的集成到我们的项目里,所以做了一个Demo分享给大家参考。注意点:1.右滑的时候,下面出现的转载 2016-06-24 18:18:16 · 338 阅读 · 0 评论 -
Android访问网络,使用HttpURLConnection还是HttpClient?
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/12452307最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有意思,在Android 2.3及以上版本,使用的是HttpURLConnection,而在Android 2.2及以下版本,使用的是HttpClient。我也比较好奇这么使用的原因,于是专门找到转载 2016-02-23 01:46:55 · 284 阅读 · 0 评论 -
Android broadcast 相同优先级的顺序
From Andriod广播注册接收过程简析为了利于各个进程应用之间的通信,android提供了一个很方便的处理方式:广播机制。广播机制顾名思义,就是广播发送者无需判断具体某个接收者的存在,把广播发送出去,任务即完成。这样保证了有效通信的同时又最大限度的降低了android系统各个模块的耦合性。Android广播有两个很重要的要素: 1 广播 - 用于发送广播转载 2016-02-22 17:53:59 · 351 阅读 · 0 评论 -
DecorView
开发中,通常都是在onCreate()中调用setContentView(R.layout.custom_layout)来实现想要的页面布局。页面都是依附在窗口之上的,而DecorView即是窗口最顶层的视图。Android frameworks中,与窗口视图处理相关的类,主要是Window及其实现类PhoneWindow01020304转载 2016-02-22 15:02:09 · 254 阅读 · 0 评论 -
MPAndroidChart开源图表库(一)之饼状图
本文装载至自http://blog.csdn.net/shineflowers/article/details/44701645MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以在Android设备上绘制各种统计图表,而且可以对图表进行拖动和缩放操作,应用起来非常灵活。MPAndroidChart同样拥有常用的图表类型:线型图、饼图、柱状转载 2016-02-17 18:06:48 · 416 阅读 · 0 评论 -
Android内存优化之OOM
原文:http://www.csdn.net/article/2015-09-18/2825737/110月14日-16日,由CSDN和创新工场联合主办的MDCC 2015中国移动开发者大会将在北京新云南皇冠假日酒店隆重召开,现在抢注大会门票,即享多重好礼!在平台与技术iOS专场议题全方位揭秘之后,平台与技术Android专场也有新动作!与会讲师——腾讯Android应用开发工程师转载 2016-02-16 18:05:28 · 207 阅读 · 0 评论 -
框架模式MVC与MVP在Android中的应用
转载自:http://blog.csdn.net/gjnm820/article/details/51733361很多人在开发Android项目时没有考虑过架构模式的问题,以至于随着项目的增大,Activty或者Fragment中代码也会越来越多,导致项目的维护变的越来越复杂。然而在Android中使用比较多的两种框架模式就是MVC和MVP,下面我将分别介绍一下这两种框架模式。转载 2016-06-22 18:27:17 · 266 阅读 · 0 评论 -
service不被杀死
Service设置成START_STICKYkill 后会被重启(等待5秒左右),重传Intent,保持与重启前一样提升service优先级在AndroidManifest.xml文件中对于intent-filter可以通过android:priority = "1000"这个属性设置最高优先级,1000是最高值,如果数字越小则优先级越低,同时适用于广播。【结论】目前看来,转载 2016-07-08 11:59:35 · 315 阅读 · 0 评论 -
Android WebView 播放视频总结
今天发现 WebView里播放优酷的视频点击播放按钮后没反应,于是看官方文档和搜索解决,下面是我在别人基础上做的补充:android webView 无法播放视频,无法暂停,继续播放视频问题,无法根据浏览器居中显示内容问题转自:http://blog.csdn.net/it_ladeng/article/details/8136534此次遇到一个问题就是webView无转载 2016-11-01 17:18:58 · 503 阅读 · 0 评论 -
android中View, Window, Activity, WindowManager,ViewRoot之间的关系
本文装载自:http://vssupermadman.iteye.com/blog/1196323(1)View:最基本的UI组件,表示屏幕上的一个矩形区域。(2)Window: 表示一个窗口,不一定有屏幕那么大,可以很大也可以很小; 它包含一个View tree和窗口的layout 参数。转载 2016-02-22 18:13:13 · 225 阅读 · 0 评论 -
Android Studio 几种常用插件
本文参考了文章:http://blog.csdn.net/liang5630/article/details/51867553 Android Studio 推出至今已经有了好几个年头,已经有了丰富的插件,这些插件大大提高我们的开发效率。分别是:GsonFormatAndroid Parcelable code generatorADB WIFIJsonOnline原创 2016-09-18 17:48:59 · 322 阅读 · 0 评论 -
控制硬加速 hardwareAccelerated 在3.0才有的。
从Android3.0 (API level11)开始,Android的2D显示管道被被设计得更加支持硬加速了.硬加速使用GPU承担了所有在View的canvas上执行的绘制操作. 启用硬加速最简单的的方法是对整个应用启用硬件速.如果你的应用只使用标准的view和Drawable,全局启用硬加速将不会带来任何负面影响.然而,因为硬加速不是被所有的2D绘制所支持,所以启用它时可能对你的自定转载 2016-09-29 17:16:27 · 272 阅读 · 0 评论 -
android应用程序中获取view的位置
我们重点在获取view的y坐标,你懂的...依次介绍以下四个方法: 1.getLocationInWindow int[] position = new int[2]; textview.getLocationInWindow(position); System.out.println("getLocationInWindow:" + position[0] +转载 2016-10-13 11:47:44 · 220 阅读 · 0 评论 -
Android Studio 学习笔记
1、Android 混淆只需在build.gradle(Module:app)中的buildTypes中增加release的编译选项即可,如下: buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-原创 2016-07-20 17:54:27 · 345 阅读 · 0 评论 -
Android 从网页中跳转到APP
本文转自:点击打开链接最近,在使用QQ和微信等SDK来实现分享网页的时候,发现,SDK已经为页面跳转回应用提供了基本的数据支持。我们只需在应用里和被分享的网页进行简单的设置,即可实现此功能。那么我们先来看下网页跳转回应用的实现原理。就Android平台而言,URI主要分三个部分:scheme, authority and path。其中authority又分为host和po转载 2016-07-29 18:07:19 · 350 阅读 · 0 评论 -
Service里面启动Activity和Alertdialog
如果Service并没有绑定Activity一、启动Activity启动Activity需要加上Intent.FLAG_ACTIVITY_NEW_TASK,因为此时还没有存在任务栈,需要重建一个任务栈。Intent intent = new Intent();intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setClas原创 2016-07-08 16:27:09 · 209 阅读 · 0 评论 -
ViewPager滑动背景渐变效果
我们经常看到app导航页面滑动的时候,背景的颜色是不断变化的,有一个渐变的效果,如下图,感觉很酷,具体是怎么实现的呢?大致的原理是这样的,在ViewPager滑动的时候,我们通过监听ViewPager滑动页面的百分比,计算出ViewPager背景颜色的值,核心代码如下:首先监听ViewPager的滑动,viewPager.addOnPageChangeListener(原创 2016-02-02 17:10:14 · 1279 阅读 · 0 评论 -
自定义HorizontalScrollView实现仿网易新闻客户端Tab标签
虽然谷歌5.0之后已经官方已经搞了一个TabLayout,功能很强大,但是使用相对复杂一点,尤其是移到我们自己的项目中来不太方便,如果我们实现的效果比较简单,我们也可以搞一个自己的VIewPager的指示器Indicator。实现的效果如下:本文参照了鸿洋的代码(http://blog.csdn.net/lmj623565791/article/原创 2016-02-02 16:03:27 · 349 阅读 · 0 评论 -
监听ScrollView滑到底部
转载自(http://blog.csdn.net/zoeice/article/details/9378415)网上说的方法乱七八糟,能用的就是自己算高度,其实sdk-9中,ScrollView已经加入了一个方法,能监听到是否已经不能滚动,稍加处理,就可以监听是否滑到底部了。先上自定义的ScrollView方法:import android.content.Contex原创 2016-02-15 17:29:40 · 300 阅读 · 0 评论 -
有效获取状态栏(StatusBar)高度
Field field = null; int x = 0, sbar = 0; try { c = Class.forName("com.android.internal.R$dimen"); obj = c.newInstance(); field = c.getField("status_bar_height"); x = Integer.pars转载 2016-01-22 17:48:38 · 361 阅读 · 0 评论 -
Android ViewPager banner 广告 循环 自动播放
看到项目中banner广告还是非常普遍的,感觉非常有必要写一个相对成熟点的demo,以免重复造轮子。项目实现了ViewPager的自动播放,无限循环,并且处理了自动播放和滑动之间的冲突。显示图片我用了xutilspackage com.gavin.demo_viewpager_circle;import java.util.ArrayList;import jav原创 2016-01-21 16:51:58 · 520 阅读 · 1 评论 -
TextView的多彩效果 SpannableString
TextView通常通过SpannableString来修改TextView某一部分文字的字体颜色,大小,点击事件等等。package com.gavin.demospanablestring;import android.app.Activity;import android.graphics.Color;import android.graphics.Typeface;i原创 2016-01-20 15:33:13 · 478 阅读 · 0 评论 -
Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
转载请注明出处:http://blog.csdn.net/xiaanming/article/details/12684155源码地址:https://github.com/912807136/SortListView转载 2016-01-20 17:13:08 · 575 阅读 · 0 评论 -
Android 性能优化
上周四参加了MDCC大会的 Android,我比较关注的5R,做一个安静的app,图片缓存以及React Native For Android,其中很大一部分的内容都是讲的性能优化,后续还会给大家带来一篇React Native ,下面就来总结一下Android性能优化方面的内容!ReduceCache/Drawableload in demandbitmap - scale/fo转载 2015-11-04 17:51:16 · 269 阅读 · 0 评论 -
android 表情,软键盘冲突解决方案(仿微博等SNS应用)
之前总想搞一下这个模块,可是由于忙碌总是推迟,现在就把这块好好的弥补过来,下面是我实现的思路.本人才疏学浅,还望大家不要见笑。 首先我们还是先看写示例: 上面应用应该不用我过多介绍,下面我简单介绍下我如何实现的吧,想必这是大家最关心,前提说一点,思路上如果有不足的地方,或者有好的建议什么的,麻烦您多多指出,大家一转载 2015-03-10 11:52:01 · 598 阅读 · 0 评论 -
Android-SDK-Manager无法更新的解决方法
android SDK Manager更新不了,出现错误提示:"Failed to fetch URL..."!可以用修改host方法来解决:如果系统安装在C盘,则在目录C:\Windows\System32\drivers\etc下找到 hosts文件,然后选择hosts文件,右键选“管理员取得所有权”,或者其他方式获得管理员权限也可以,然后记事本的格式打开文件,在文件最原创 2013-11-09 03:20:34 · 722 阅读 · 0 评论 -
Android 沉浸式状态栏 statusBar
关于沉浸式状态栏的学习,可以参考以下两篇文章:一叶飘舟:http://blog.csdn.net/jdsjlzx/article/details/50437779鸿洋:http://blog.csdn.net/lmj623565791/article/details/46405409在鸿洋的demo基础,修改出自己的简化版demo,详情可以看鸿洋的博客:核心类如下:St转载 2016-01-22 18:04:19 · 382 阅读 · 0 评论 -
源码分享
1、启动导航,动画https://github.com/w446108264/XhsParallaxWelcome原创 2015-11-04 16:33:26 · 420 阅读 · 0 评论 -
TabLayout实现仿网易新闻客户端Tab标签
通常我们用ViewPager+ViewPageIndicator实现网易新闻客户端Tab标签的功能,不过仔细看它实现的效果其实不是十分理想,比如ViewPager滑动的时候,ViewPageIndicator是静止的,等到ViewPager滑到下一页的时候,ViewPageIndicator才滑过去。2015年的google大会上,google发布了新的Android Support De原创 2016-02-01 18:09:40 · 369 阅读 · 0 评论 -
android xml bitmap 实现波浪线效果
我们要实现的效果如下:找了一些关于实现波浪线的方法,总感觉不大满意,常见的方法有1、直接搞一个这样的波浪线的切图 这种方式最简单,但是劣势也非常明显,如果view的宽度过大,则会出现图片变形,如下图所示: 如果过小则如下:要求不高的话,这样勉强可以蒙混过关,但是追求完美的话,这样的效果显然很不给力2、自定义控件绘制 这个方法原创 2016-01-11 11:34:59 · 2556 阅读 · 1 评论 -
android 判断点击的位置是不是在指定的view上
方法1 /** * 判断触摸的点是否在EditText范围内 */ private boolean isInEditText(View v, MotionEvent event) { Rect frame = new Rect(); v.getHitRect(frame); float eventX = event.getX(); float event原创 2016-01-26 18:02:44 · 799 阅读 · 0 评论 -
android 内存分析工具-MAT
这里我用的是MAT eclipse插件形式,安装和普通插件差不多,window---->install new soft···addmat地址:http://download.eclipse.org/mat/1.2/update-site/(参照评论中朋友更新)安装ok。原创 2014-08-03 17:26:40 · 387 阅读 · 0 评论 -
Android点击EditText之外地方隐藏键盘
通过重写dispatchTouchEvent方法,判断触摸的点是否在editText范围内,如果不是则隐藏输入法我这里写的工具类实现这个功能InputMethodUtilpackage com.gavin.demo_inputmethordutil;import android.content.Context;import android.graphics.Rect;imp原创 2016-01-25 16:17:13 · 383 阅读 · 0 评论 -
EditText学习
EditText输入软键盘的enter键的替换和监听替换主要用到的属性是android:imeOptions,但是值得注意的是仅仅设置这个属性是无效的,我们还需要设置属性 android:inputType,如下: <EditText android:id="@+id/edittext1" android:imeOptions="actionDone"原创 2016-01-25 11:37:04 · 312 阅读 · 0 评论 -
五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对准备进入Android开发的朋友有帮助。 本教程将分为五个步骤来完成Android开发环境的部署。第一步:安装JDK。第二步:配置Windows转载 2016-01-07 18:03:04 · 219 阅读 · 0 评论 -
分享几个AndroidSDK镜像源
Android SDK在线更新镜像服务器大连东软信息学院镜像服务器地址:http://mirrors.neusoft.edu.cn 端口:80北京化工大学镜像服务器地址:IPv4: http://ubuntu.buct.edu.cn/ 端口:80IPv4: http://ubuntu.buct.cn/ 端口:80IPv6: http://ubuntu.buct6转载 2016-01-07 17:56:03 · 293 阅读 · 0 评论 -
android 如何防止代码被反编译
作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹,proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码转载 2012-12-18 10:34:33 · 375 阅读 · 0 评论