自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

苦咖啡的自留地

天道酬勤

  • 博客(294)
  • 资源 (3)
  • 收藏
  • 关注

原创 【Android面试】(二):你不能不知道的view---加id和不加id的区别?

面试中被问到,Android布局中view加id和不加id的区别,你知道吗?

2015-04-27 19:10:24 10581 10

原创 Android自定义控件系列 十:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件

这个例子是比较有用的,基本上可以说,写完这一次,以后很多情况下,直接拿过来addView一下,然后再addInterceptorView一下,就可以轻轻松松的达到组合界面中特定控件来响应特定方向的触摸事件了。在写Android应用的过程之中,经常会遇到这样的情况:界面包含了多个控件,我们希望触摸在界面上的不同滑动动作能被不同的控件所接收,或者在界面不同位置滑动的动作能被不同的控件所接收,一个典型的例子就是ListView和Header的组合。

2015-04-22 22:24:22 10985 8

原创 Android自定义控件系列九:从源码看Android触摸事件分发机制

Android触摸事件,网上也有很多文章来讲了,今天在这里想使用例子和源码相结合的方式,可能会看的更清晰一些。 对于dispatchTouchEvent和onInterceptTouchEvent可以这样理解,dispatchTouchEvent方法是一个快递员,onInterceptTouchEvent方法是公司的门卫,快递员要给公司送的每批快递就是一个完整的触摸事件,每一批快递有一个为首的物品:Down事件;送货有一个规定:如果这批快递的为首的这个物品(Down)被门卫(onInterc

2015-04-18 12:04:24 5450 11

原创 Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题

上一篇文章详细讲解了一下onMeasure/measure方法在Android自定义控件时的原理和作用,参看博文:Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一),今天就来真正实践一下,让这两个方法大显神威来帮我们搞定图片的屏幕适配问题。在Android应用中,都少不了图片的显示,ImageView,轮播图,ViewPager等等,很多都是来显示图片的,比如一个广告条的轮播效果,参看博客:广告条效果实现----ViewPager加载大图片(LruCache)以及

2015-04-14 13:50:29 12139 25

原创 Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一)

详细研究Android中自定义控件中用到的measure/onMeasure方法是如何实现测量控件大小,如何传递参数的。

2015-04-13 18:02:25 20277 9

原创 一张图让你彻底搞清Android线程间通信机制

一张图让你彻底搞清Android线程间通信机制

2015-03-22 12:12:51 2896 3

原创 【Android数据库优化】利用注解实现SQLite通用框架抽取

在开发Android应用的过程中,少不了要用到SQLite数据库操作,各种增删查改。。。一般看来,对于不同的实体类的数据库操作,貌似我们只能使用不同的“增删查改”方法来实现,本次的想法就是,能不能抽取出一个通用的框架,使得对于不同的实体类的数据库操作。

2015-03-11 16:39:33 3235 4

转载 Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()

转自:    Android中触摸事件传递过程中最重要的是dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()方法。这个是困扰初学者的问题之一,我开始也是。这里记录一下dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()的处理过程,以供记忆。

2014-11-12 10:19:27 1840

转载 理解ThreadLocal

ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它

2014-10-15 09:36:37 889

原创 高版本Android如何利用反射调用系统隐藏的远程服务拦截来电

要说拦截Android系统来电,就不得不说起在低版本的时候Android提供给开发者使用的一个方法:endCall(),但由于谷歌后来考虑到对于一部手机来说,最重要的功能就是打电话了,如果这个功能随随便便就被人屏蔽了,安全性太差,所以在高版本的Android将这个方法屏蔽了,不再在TelephoneManager中暴露这个方法。

2014-09-24 01:29:53 6199 6

转载 Things That Cannnot Change(Android里不能改变的东西)

原文链接 , 翻译 by 2BAB。转载,备忘[本文作者Dianne Hackborn, 一位足迹遍布所有安卓应用框架的工程师 - Tim Bray]有时,一位开发者会对他的应用做一些改变(然后发布新版本)。当新版本的应用覆盖旧版的安装时,发生了一些意想不到的结果——快捷方式失效,桌面小部件(锁屏小部件)消失,甚至是应用根本无法覆盖安装。这是因为,一个应用里的某些部分在应用发布

2015-09-11 22:18:31 1202

原创 为了忘却的纪念,也为了纪念已经忘却的那些

人生总是在一个目标与另一个目标中前行,每当到达一个目的地,望向下一个目的地的风景时,总没有之前预想的喜悦,取而代之的却是莫名的恐惧。付出有回报,那是幸运,没有,也只能继续前行。

2015-05-08 08:27:35 1909 1

转载 Android 你应该知道的学习资源 进阶之路贵在坚持

最近比较忙,加上希望停下来整理些东西,所以blog的更新可能会比较慢,持续奋斗中。今天给大家整理下android墙外的学习资源,大家有什么推荐的直接留言。1、国外教程网站Android Developers Blog不解释vogella很不错的网站,免费的,包含android的教程也比较全面,并且教程中经常引用大牛blog,会有很多意外发现。代码资源

2015-04-13 14:20:57 1403

原创 关于ListView加入HeaderView之后,点击条目时获得position参数移位的BUG修正

今天遇到一个问题,在ListView的时候,要在首部加一个轮播图组件,调用的是ListView的addHeaderView(View v, Object data, boolean isSelectable)方法,这个方法可以把一个view放置到Listview的顶部显示,也可以多次调用,使得多个view按照添加的顺序,依次排列在ListView的顶部显示。           

2015-04-11 09:56:43 4785 1

原创 【Android面试】(一):Android中activity保存状态和数据到底该在哪个方法中进行

面试中被问到:Android中activity保存状态数据到底该在哪个方法中进行,面试官也不一定靠谱

2015-04-10 22:28:21 9365 7

原创 Android中ImageView属性src和background的几点区别

Android中ImageView属性src和background的几点区别

2015-04-09 17:41:16 2480 1

原创 scaleType解决imageView遇到点击之后切换界面再返回,图标变大显示不全的BUG

scaleType解决imageView遇到点击之后切换界面再返回,图标变大显示不全的BUG

2015-04-09 11:14:07 1895

转载 JAVA的可变类与不可变类

转自:http://www.blogjava.net/hilor/articles/150610.html,讲的很精辟可变类和不可变类(Mutable and Immutable Objects)的初步定义:可变类:当你获得这个类的一个实例引用时,你可以改变这个实例的内容。不可变类:当你获得这个类的一个实例引用时,你不可以改变这个实例的内容。不可变类的实例一但创建,其内在成员变量的

2015-04-07 22:07:04 960

原创 Android ActionBar应用一:ActionBar返回任意页面和顶部搜索栏实现

使用ActionBar实现返回任意界面和顶部搜索功能

2015-04-07 19:28:02 4862 1

转载 JAVA内存结构之运行时栈帧结构

1.1  运行时栈帧结构栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈(Virtual Machine Stack)的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。每一个方法从调用开始到执行完成的过程,就对应着一个栈帧在虚拟机里面从入栈到出栈的过程。每一个栈帧都包括了局部变量表、操作数栈、方法

2015-04-06 21:48:01 1093

原创 android:screenOrientation属性

安卓系统有横竖屏自动切换功能,但是这会给开发带来一定困扰,默认情况下,系统横竖屏切换之后,控件(如Activity)的生命会重新开始,如果不做处理会导致数据丢失或出错。所以很多时候简便做法就是直接把界面的朝向定死,在清单文件中的activity属性中,增加如下的语句:android:screenOrientation="landscape"限制此页面横屏显示,android:scr

2015-04-06 12:10:31 2078

原创 使用ActionBar,调整Theme时遇到You need to use a Theme.AppCompat theme (or descendant) with this activity解决方法

今天在写一个ActionBar时,想把标题颜色改成白色,以匹配app的风格,默认是黑色的:        这种黑色的标题栏,原因是因为清单文件AndroidManifest.xml中,默认配置的风格是:android:theme="@style/AppTheme"         于是我开始尝试更换这个主题;最开始找了几个类似于@android:st

2015-04-06 10:19:48 2807

原创 使用HttpClient时遇到的 java.net.SocketException: Socket closed异常

使用httpClient时,报 java.net.SocketException: Socket closed异常的解决

2015-04-01 21:48:31 22785 2

原创 Android Bitmap小问题备忘

BitmapFactory.Options.inPurgeable = true;inPurgeable如果设置为true,则由此产生的位图将分配其像素,以便系统需要回收内存时可以将它们清除

2015-03-31 15:55:40 911

转载 内存分析工具 MAT 的使用

1 内存泄漏的排查方法Dalvik Debug Monitor Server (DDMS) 是 ADT插件的一部分,其中有两项功能可用于内存检查 :·    heap 查看堆的分配情况·    allocation tracker跟踪内存分配情况DDMS 这两项功能有助于找到内存泄漏的操作行为。Eclipse Memory Analysis To

2015-03-31 15:39:35 687

转载 HttpClient多线程并发问题

这篇文章概括了怎样在多线程环境下安全的使用HttpClient。建立连接        在HttpClient中使用多线程的一个主要原因是可以一次执行多个方法。在执行期间,每一个方法都使用一个HttpConnection实例。由于在同一时间多个连接只能安全地用于单一线程和方法和有限的资源,我们就必须确保连接分配给正确的方法。而MultiThreadedHttpConnectionM

2015-03-27 22:24:47 6682

原创 Fileoutputstream应用中的FileNotFoundException问题备忘

Fileoutputstream也用很久了,今天用的时候却发现FileNotFoundException,研究了一下,发现原因是在new File的时候,上层目录不存在,所以报这个错,于是乎,先要建立上层的目录,然后再去建立Fileoutputstream:File f = new File(absolutePath); File parentFile = f.getParent

2015-03-27 21:57:36 2462

转载 各种常用的JSON接口,开动你的大脑你就可以做出各种应用,值得收藏

这里为大家搜集了一些能够返回JSON格式的服务接口。部分需要用JSONP调用。其中一些接口提供用例参照:http://www.bejson.com/webInterface.php天气接口气象局接口:http://m.weather.com.cn/data/101010100.html 解析 用例音乐接口:虾米接口http://kuang.xiami.com/a

2015-03-26 21:07:01 1138

原创 win10 升级10041:Windows can't be installed because this PC has an unsupported disk layout for UEFI

如果你在安装或使用Windows 10 Build 10041时遇到了问题,那么你可能需要查看一下微软公布的Build 10041变通方案一些用户的PC在尝试安装Windows 10 Build 10041时弹出了错误信息:Windows can't be installed because this PC has an unsupported disk layout for UEFI firmware(Windows无法安装,因为这台电脑有一个UEFI固件不支持的磁盘分区),本文给出了解决方案。

2015-03-26 09:06:46 15486 4

转载 android部分笔试题

Android面试题合集再此,参考一下也好,答案不一定对:http://blog.csdn.net/superjunjin/article/category/11924011. 下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存  B、 内存回收程序负责释放无用内存   C、 内存回收程序允许程序员直接释放内存   D、 内存

2015-03-25 21:38:50 2687

转载 Android ActionBar详解

第4章 Action BarAction Bar是一个能用于确定应用程序和用户的位置,并提供给用户操作和导航模式的窗口功能。如果需要显著地展示当前用户的操作或导航,应该使用Action Bar,因为Action Bar为用户提供了一个统一的跨应用程序和系统的接口,并且针对不同尺寸的屏幕优雅的处理了Action Bar的适配。你可以通过ActionBar API来控制它的行为和可视性,这些A

2015-03-24 14:04:21 853

转载 Android 无法查看外部依赖jar的源码的问题

在Eclipse中开发android的应用程序时,有时想查看函数的内部实现,但是当在函数上点击ctrl和鼠标左键的时候,往往出现如下提示: Class File EditorSource not foundThe JAR of this class file belongs to container 'Android'  which does not allow m

2015-03-24 11:45:32 1637

转载 Android子线程其实也可以刷新UI。。。。

如果你在网上搜索CalledFromWrongThreadException:Only the original thread that created a view hierarchy can touch its views. 那么你肯定能看到很多文章说android里子线程不能刷新UI。这句话不能说错,只是有些不太严谨。其实线程能否刷新UI的关键在于ViewRoot是否属于该线程。让我

2015-03-22 18:31:25 1438

翻译 【翻译】finalize方法到底要干嘛

【翻译】finalize方法到底要干嘛

2015-03-19 17:43:57 2579 1

转载 SQL语句必会的50题

-- 一、创建教学系统的数据库,表,以及数据--student(sno,sname,sage,ssex) 学生表--course(cno,cname,tno) 课程表--sc(sno,cno,score) 成绩表--teacher(tno,tname) 教师表--1.创建数据库test1use masterGOIF EXISTS (SELECT name F

2015-03-19 15:44:03 2017

原创 【算法导论】简单哈希表的除法实现

哈希表,又名散列表,hashtable。。。云云,看似很高大上,其实不过是直接寻址的延伸而已。直接寻址为何物,看一个数组:a[10],那么取其中一个元素a[1],这就是直接寻址,直接去这个a+1的地址上,就找到了这个数值,时间复杂度为O(1)。而哈希表的目的就是要让查找的时间复杂度尽量往O(1)上靠。

2015-03-18 22:27:18 2111

原创 【thinking in java】读书笔记(一)

最近开始读tij,好急性不如烂笔头,所以还是记录一下,方便以后查阅。        方法重载的问题:        方法的重载,区别是靠传入方法的参数,而不是返回值。比如f(),如果是返回值的话,容易产生歧义。        方法的重载中,会出现传入参数的类型提升或者降低;比如说如果有个方法可以接受int型,如果传入一个char类型,调用

2015-03-18 14:46:57 1026

转载 Android 中Activity,Window和View之间的关系

我想大多数人,对于这3个东西的概念能区分,但是具体区别在哪却很难说出来。我这里根据我个人的理解来讲讲我个人对这3个概念的理解。当然这里设计到通用的事件窗口模型等通用GUI设计,我这里就不打算讲了,纯粹从概念上来进行区分。Activity是Android应用程序的载体,允许用户在其上创建一个用户界面,并提供用户处理事件的API,如onKeyEvent, onTouchEvent等。 并维护应

2015-03-07 16:16:35 1398

转载 Android NDK 中C/C++ 代码 Native method not found 问题

java.lang.UnsatisfiedLinkError: Native method not found:经过排查发现是两个问题: 1) Android.mk里面: 最后生成的时候   LOCAL_MODULE := testcmmb_jni   千万不能写成 libtestcmmb_jni!!!!虽然编译出来的文件名称貌似相同 2) C++ 的代

2015-03-04 00:41:29 940

转载 Java:单例模式的七种写法

第一种(懒汉,线程不安全): 1 public class Singleton {   2     private static Singleton instance;   3     private Singleton (){}    4     public static Singleton getInstance() {   5     if (instance ==

2015-03-03 00:54:18 635

事件分发处理ViewPagerListView例子

Android自定义控件系列 十:利用添加自定义布局来搞定触摸事件的分发小例子,可以里面的InterceptorFrameLayout具有通用性,可以自己定义子view的触摸事件的响应方式,和指定给某个特定的子view响应特定方向的触摸事件

2015-04-22

ActionBar的demo例子,包含返回任意页面和顶部搜索

ActionBar的demo例子,包含返回任意页面和顶部搜索

2015-04-07

httpclient-android-4.3.5.1.jar

httpclient-android-4.3.5.1.jar,用于解决Android使用高版本httpclient出错的问题,下载完直接放到libs文件夹下,然后右键-build path-add to build path,然后在buildpath configuration 里面勾上,就搞定了

2015-03-27

空空如也

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

TA关注的人

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