- 博客(41)
- 资源 (5)
- 收藏
- 关注
转载 给 Android 开发者的 RxJava 详解
转载自:http://gank.io/post/560e15be2dca930e00da1083前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好
2016-10-27 10:40:24
764
原创 java 接口和抽象类的区别
接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.
2016-03-22 15:13:00
401
原创 Android小知识点整理
1、android中gravity和layoutgravity的区别android:gravity:设置的是控件自身上面的内容位置android:layout_gravity:设置控件本身相对于父控件的显示位置。2、android:layout_weight的真实含义设置了android:layout_weight属性(假设有效的情况下)的View的宽度=原有宽度(androi
2016-03-17 11:20:05
434
转载 11款用于优化、分析源代码的Java工具
本文将提供一些工具,帮助你优化代码以及检查源代码中的潜在问题。1. PMD from http://pmd.sourceforge.net/PMD能够扫描Java 源代码,查找类似以下的潜在问题:可能的bug——try/catch/finally/switch语句中返回空值。死代码——未使用的局部变量、参数、私有方法。不理想的代码——使用String/Str
2014-12-23 20:35:52
525
转载 Android源码分析—带你认识不一样的AsyncTask
之前一直用AsyncTask,还不知道AsyncTask这个有并行和串行两种模式,记录一下。本文转自:http://blog.csdn.net/singwhatiwanna/article/details/17596225前言什么是AsyncTask,相信搞过android开发的朋友们都不陌生。AsyncTask内部封装了Thread和Handler,可以让我们在后台进行计算并且把
2014-12-10 16:20:12
579
转载 Android LoaderManager学习
写在前面的话:这两天偶然间看到一个东西:LoaderManager,说是Android3.0中,Google引入了一种数据异步加载机制,但是一直没用过,网上也看了一些教程,但是始终不是很清楚这个用处有多大,感觉这个动作在加载数据库数据或者手机通讯录之类的数据会比较有用,在其他时候(例如联网加载ListView数据)感觉不是很有用,用线程完全满足了,比不需要这个LoaderManager,用起来
2014-12-04 19:34:41
914
原创 Android 防止短时间内重复点击技巧
在Android开发中,当完成一款软件时,测试人员会对软件进行测试,本来可以正常运行的软件在测试人员里就可以出现意想不到的bug,其中一个比较常见的问题就是短时间内重复点击一个按钮,本来正常点击只执行一次,但是在短时间内点击多次,好的情况是结果被执行多次,坏的情况就可能使程序崩溃,因此很多时候就必须对点击行为进行必要的处理,让程序在短时间内重复点击中只执行一次点击行为。下面介绍两种方式:1、按
2014-10-22 16:16:01
2955
原创 Eclipse快捷键记录
1【ALT+/】此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。2【Ctrl+O】显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时非常有用。3【Ctrl+/】快速添加注释,能为光标所在行或所选定行快速添加注释或取消注释,在调试的时候可能总会需
2014-10-17 11:08:59
571
原创 掌握这些才算掌握了Java基础
语法基础如何将字符串转换为数字?如何将数字转换为十六进制字符串?如何将字节串转换为十六进制字符串?如何对浮点数打印出指定小数位数?如何将浮点数输出为指定位数的科学计数法?如何将数字输出为每三位逗号分隔的格式,例如“1,234,467”?如何将字符串转换为Boolean对象?如何将一个四字节转换为一个整数?以及反过来?日期操作如何获取当前的月份?如何获
2014-08-25 16:21:24
816
1
转载 设计模式中类的关系
在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。1. 依赖(Dependence)
2014-08-21 23:49:06
515
原创 java多线程设计模式——学习笔记(2)Single Threaded Execution Pattern
Single Threaded Execution Pattern是多线程中最为简单的一种模式,其用来限制同时只能让一个线程运行,用于多个线程共享资源的情况。文章中举了一个例子来说明该模式的使用。程序模拟3个人频繁经过只能同时通过一个人的门,当人通过门时,程序会在计数器中递增通过人数,并记录通过人员的姓名和地址。程序中使用的类如下表所示:
2014-05-06 19:51:02
732
转载 面试中常考的现场写程序题目
在面试中面试官常常让我们写几个小的程序,以此来考察我们的编程内功。所以在准备面试的过程中在纸上练习着写一些程序是很有必要的。下面是在面试中常考的几个题,出现频率非常之高!!!!1、完整正确的写出二分查找的算法int binary_search(int arr[],int n,int key){ assert(arr!=NULL && n>0);//注意断言的作用
2013-10-05 10:15:35
622
转载 计算机网络知识
1、OSI的七层协议、TCP/IP的四层协议、谢希仁老师的网络课本提到的五层协议的对比注:(1)OSI的七层协议只是理论上的协议,实际上没有用到。(2)TCP/IP的四层协议在真正在实际中用到的体系结构。(3)谢老课本中提到的五层协议只是为了更好的讲解概念而采用的折中方法。2、OSI的七层协议(1)第七层、应用层作用:直接为用户的应用进程提供服务。应用层提供
2013-10-05 10:14:09
743
转载 Android中Socket大文件断点上传 .
什么是Socket? 所谓Socket通常也称作“套接字”,用于描述IP地址和端口,是一个通信连的句柄,应用程序通常通过“套接字”向网络发送请求或者应答网络请求,它就是网络通信过程中端点的抽象表示。它主要包括以下两个协议: TCP (Transmission Control Protocol 传输控制协议):传输控制协议,提供的是面向连接、可靠的字节流服务。当客
2013-09-12 13:29:39
658
原创 关于指针强制转换的思考
这几天在看程序员面试宝典的时候,看到一道题目:#include int main(){ unsigned int a = 0xfffffff7; unsigned char i = (unsigned char)a; char *b = (char *)&a; printf("%08x,%08x\n",i,*b); return 0;}结果输出为:000000
2013-09-01 17:18:55
863
转载 Android平台蓝牙编程之蓝牙聊天分析(二)
接着上一篇没有完成的任务,我们继续分析这个蓝牙聊天程序的实现,本文主要包括以下两个部分的内容:其一,分析扫描设备部分DeviceListActivity,其二,分析具体的聊天过程的完整通信方案,包括端口监听、链接配对、消息发送和接收等,如果有对上一篇文章不太熟悉的,可以返回去在过一次,这样会有利于本文的理解。设备扫描(DeviceListActivity) 在上一篇文章的介绍中,
2013-03-26 16:52:12
1927
1
转载 Android平台蓝牙编程之蓝牙聊天分析(一)
上一篇文章我们分析了Android平台的蓝牙开发包,本文我们将通过学习android的蓝牙聊天示例应用程序来介绍蓝牙开发包的使用,该示例程序完整的包含了蓝牙开发的各个部分,将实现两个设备通过蓝牙进行连接并聊天。AndroidManifest.xml 前面我们说过,在使用蓝牙API时就需要开启某些权限,同时我们还可以从AndroidManifest.xml文件中找到应用程序启动时所进入的界
2013-03-26 16:29:17
1741
1
转载 android平台蓝牙编程基础
在移动设备上,联网的方式很多,也存在了很大的差异,包括速度,有效范围等等因素都会对网络有不同的要求,本文我们就先分析一下android平台上如何通过蓝牙进行网络连接,进而使用蓝牙来开发一些小的游戏或者应用,这里我们先从最基础的开始,首先学习蓝牙编程,我在查看了android sdk之后,发现蓝牙聊天这个示例基本上已经包含了所有的蓝牙基础知识,但是学习实例之前,我们有必要介绍一下蓝牙的基础知识,
2013-03-26 16:02:49
1311
2
转载 android中 捆绑多个apk文件
有时一个大项目下面会有很多个小模块,如果小模块之间没有联系,这时可以将每个小模块作为单独的项目,生成apk。这时就涉及到怎么将多个apk放到一个项目中。首先,将小模块生成的apk放到项目的assets文件夹中package cn.onecomm.zhenghe.activity;import java.io.File;import java.io.Fi
2012-12-13 13:55:52
2147
原创 android 保证屏幕黑屏之后线程可以继续运行
最近在做关于android手机端gps定时定位的功能,需要每隔几秒钟将gps定位获取的经纬度上传至后台,但是发现某些手机在屏幕黑屏,进入休眠状态后,后台就没有收到定位信息了,后来通过网上查找资料,发现一旦手机在休眠的时候,手机的cpu也休眠了,创建的线程也会sleep,所以为了让手机屏幕黑屏之后,上传线程可以继续运行,就必须保存手机CPU一直处于运行状态,综合网上所查找的资料,发现可以通过使用an
2012-11-07 17:33:39
5919
转载 android:为TextView添加样式——下划线,颜色,设置链接样式及前背景色
转自:http://blog.csdn.net/caiyunfreedom/article/details/6763834实现下划线及颜色设置:public class AtActivity extends Activity {LinearLayout ll; /** Called when the activity is firs
2012-09-11 14:32:31
2773
1
转载 九连环问题解决
九连环。九连环的初始状态是九个环全部被安装在一个狭长的“梭”上,这个初始状态可以表示为:(1)(2)(3)(4)(5)(6)(7)(8)(9), 如果终止状态是将九个环全部拆卸下来。那么终止状态可以表示为:【1】【2】【3】【4】【5】【6】【7】【8】【9】。编写一段程序,输出拆卸九连环(从初始状态到终止状态)的操作过程,要求程序按照拆卸的步骤,顺序地输出拆卸过程中每一步的动作以
2012-05-14 22:59:23
1211
转载 Android解析XML
在Android平台上可以使用Simple API for XML(SAX) 、 Document Object Model(DOM)和Android附带的pull解析器解析XML文件。下面是本例子要解析的XML文件: 李明 30 李向梅 25 例子定义了一个javabean用于存放上面解析出来的xml内容, 这个java
2012-04-27 15:35:02
581
转载 jdk1.5新特性 ConcurrentHashMap
集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅
2012-04-11 14:14:54
527
原创 startActivityForResult()和onActivityResult()的问题
问题1:startActivityForResult() 后直接调用 onActivityResult() 开发人员都知道,可以通过使用 startActivityForResult() 和 onActivityResult() 方法来传递或接收参数。然而项目中,还没等到被调用的 Activity 返回,onActivityResult() 就被执行了。找了很久,终于通过得知,这与
2012-04-10 16:24:57
697
转载 关于开源项目android--Imagedownloader的学习笔记
一个开源项目,关于图像异步缓存下载的简单apps,网上有相应的代码,但是没有任何说明和讲解(英文blog中有,讲了一下框架),那就自己研究吧。 主要对ImageDownloader分析:Bitmap downloadBitmap(String url);//从网站下载一幅图片,比较简单 HttpClient: AndroidHttpCl
2012-04-06 09:44:01
705
转载 Android ListView中图片的异步加载显示
写这篇文章并不是教大家怎么样用listview异步加载图片,因为这样的文章在网上已经有很多了,先说说这篇文章的优点吧,开启线程异步加载图片,然后刷新UI显示图片,而且通过弱引用缓存网络加载的图片,节省了再次连接网络的开销。这样做无疑是非常可取的方法,但是加载图片时仍然会感觉到轻微的卡屏现象,特别是listview里的item在进行快速滑动的时候。我找了一下原因,可能是在listvi
2012-03-19 19:33:41
1660
转载 Android中利用画图类和线程画出闪烁的心形
本文讲解主要涉及的知识点:1.线程控制 2.画图类 3.心形函数大家先看图片:因为前一段时间在写画图类,刚好有一个线程控制画图闪烁的,我就想说我能不能做一个心形闪烁的,出来的效果就如图,先贴再讲解代码:里面设置两个类,一个是我们的activity类,这个类用来显示示图,然后建一个继承SurfaceView的类,我们在这里面画图。先贴两个累
2012-03-19 18:57:53
721
转载 Android多媒体分析(五)音乐播放器实例
源码下载地址csdn零分下载地址:http://download.csdn.net/detail/zqiang_55/3921190总之说了这么多上个例子让大家看看吧!先来个简单的例子,上图:先说说这个程序的基本框架吧:这个程序有两个线程一个Main负责播放音乐,一个Handler负责更新数据,这个播放器是通过ContentProvider获取存在数据库中的相关信息
2012-03-15 16:14:52
905
转载 Android多媒体分析(四)AudioManager
AudioManage 管理控制声音继承关系public class AudioManager extends Object java.lang.Objectandroid.media.AudioManager类概述AudioManager类提供访问音量和振铃模式的控制。用Context.getSystemService(Cont
2012-03-15 16:13:17
829
转载 Android多媒体分析(三)通过MediaStore获取Audio信息
在此先说明一个类的继承关系,表示接口Android系统提供了MediaScanner,MediaProvider,MediaStore等接口,并且提供了一套数据库表格,通过Content Provider的方式提供给用户。当手机开机或者有SD卡插拔等事件发生时,系统将会自动扫描SD卡和手机内存上的媒体文件,如audio,video,图片等,将相应的信息放到定义好的数据库表格中。在这
2012-03-15 16:11:20
587
转载 Android多媒体分析(二)MediaStore
一 相信每个使用Android系统的人都会知道Android系统中带有一个图库应用程序或者一个音乐播放器吧。打开图库可以查看到当前终端里所有的图片文件,而音乐播放器可以看到当前终端里所有的MP3文件,而这个打开的过程并不会消耗太多的时间。如果是在打开的时候去扫描所有内存,所有SD卡的话,相信相应是不会这么迅速的。 后来通过观察终端的Log,发现每次开机时,会有几条tag为Medi
2012-03-15 16:09:23
689
转载 Android多媒体分析(一)MediaScanner
Android平台上的媒体文件管理和桌面系统不同。在桌面系统上,不同目录下的媒体文件呈树状结构显示给用户,用户需要进入不同目录寻找该目录下的文件。而在Android平台上,不同目录下的媒体文件则以一层列表方式显示给用户,用户不需进入子目录就可以列出(某种类型的)所有媒体文件。在Android上,为了实现这种模式的媒体文件管理,对所有管理的媒体文件抽取其元数据,也就是ID3(mp3文件包含的
2012-03-15 15:56:02
572
转载 (Android小应用)在Android中实现多线程断点下载
当我们从Internet中下载一个文件时,有的文件比较大,比如音乐或视频文件,下载的话需要比较长的时间,当我们在下载过程中,如果手机没电了或者其它原因,使当前的下载中断了,按照一般的程序,当下次下载又需要从新开始,这里我们来实现多纯程断点下载,当下载中断了,下次启动的时候还会接着下载,有点像我们的迅雷了……首先呢,我们先不急着建Android应用,先建一个Java项目,测试一下下然后在
2012-03-14 16:12:28
955
转载 利用Handler来更新android的UI
刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题 new Thread( new Runnable() { public void run() { myView.invalidate(); } }).start(); 然而发现这样是不行的,因为它违背了单线程
2012-03-03 16:27:27
551
转载 android多线程下载详解
本文将介绍在android平台下如何实现多线程下载,大家都知道,android平台使用java做为开发语言,所以java中支持的多线程下载方式在android平台下都支持,其中主要有两种方式可以实现多线程下载。一种方式是使用很多个线程分别下载文件的不同部分,最后把所有下载完的文件合并成一个文件。另一种方式是使用java为我们提供的RandomAccessFile类实现多线程的下载。从性能上
2012-03-03 16:24:48
535
转载 Android线程模型解析(包括UI的更新) .
1引言Android一词本义指机器人,Google于2007年11月发布了以Android命名的开源移动设备综合平台,包括其基于Linux的操作系统、中间件和关键的手机应用。并且组建了开放手机联盟,其成员囊括了全球著名的各大手机生产商和移动运营商。2008年8月,Google又发布了网上应用商店Android Market。任何一个开发者只需要借助Android发布的SDK开发手机应用,即可把
2012-03-03 16:22:49
463
转载 详解Android中AsyncTask的使用
在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。关于Handler的相关知识,前面也有所介绍,不清楚的朋友们可以参照
2012-03-03 16:18:13
550
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人