android开发
文章平均质量分 91
stevenhu_223
Stay hungry,Stay foolish
展开
-
解决android4.0系统中菜单(Menu)添加Icon无效问题
在Android4.0系统中,创建菜单Menu,通过setIcon方法给菜单添加图标是无效的,图标是显示不出来的,2.3系统中是可以显示出来的。这个问题的根本原因在于4.0系统中,涉及到菜单的源码类 MenuBuilder,该类的部分源码如下:public class MenuBuilder implements Menu {...private boolean mOptionalIc原创 2013-08-01 20:00:05 · 25891 阅读 · 21 评论 -
Android中Handler、HandlerThread、AsyncTask的应用
我们知道,当我们在手机屏幕上点击操作时,应用程序会响应相应的事件处理。这个过程其实包含了消息处理机制,也就是说,消息处理机制在其中扮演着极其重要的角色。 Android应用程序的消息处理机制由消息循环、消息发送和消息处理三个部分组成的。而Handler、HandlerThread、AsyncTask类在消息处理中极其重要,它扮演者负责处理消息的角色。 1. Handler :废话原创 2012-10-16 18:17:43 · 3908 阅读 · 6 评论 -
动态显示和隐藏状态栏
小米Launcher有一个细节上的功能效果:在长按桌面应用图标时,会隐藏状态栏,然后在状态栏原有的布局上显示卸载或删除的操作栏。放手后,操作栏隐藏,状态栏显示出来。也就是说,这个过程是涉及到对状态栏的动态操作的。 View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见原创 2013-10-08 15:21:05 · 76770 阅读 · 25 评论 -
ContentProvider单元测试
Android单元测试框架是在Java单元测试框架的基础上扩展的,Android四大组件中的Activity、Service、ContentProvider都可以作为单元测试的Target进行测试。本文主要介绍了ContentProvider的单元测试。 1.建立测试环境 在前面的一篇文章《Android单元测试》中介绍的测试环境的建立是与Android工程独立的一种原创 2013-11-02 14:01:59 · 3751 阅读 · 1 评论 -
Android中的软引用(SoftRefrerence)和弱引用(WeakReference)
在Android开发中,基本上很少有用到软引用或弱引用,这两个东东若用的很好,对自己开发的代码质量的提高有很打的帮助。若用的不好,会把自己给坑。所以,在还没有真正的去了解它们之前,还是慎用比较好。 对于这两者,先作个小总结如下: 1. SoftReference:软引用-->当虚拟机内存不足时,将会回收它指向的对象;需要获取对象时,可以调用get方法。 2. WeakR原创 2014-01-16 16:26:27 · 34728 阅读 · 6 评论 -
android之ViewPager的使用
导入方法: 先在Project->properties->Java Build Path->Libraries->Add External Jars中加入sdk目录下的extras/android/support/v4/android-support-v4.jar(如果找不到,则需要用sdk manager下载android support package)。加入这个jar包之后就可以使用原创 2012-09-27 14:44:12 · 9042 阅读 · 2 评论 -
Android有用处理代码集锦-----分辨率相关
通过我们所说的屏幕分辨率如800x480、960x540等。这些分辨率的值是可以通过代码获取到的。要想知道自己的Android手机屏幕分辨率,可以通过下列的demo代码实现获取。 代码如下: MainActivity原创 2013-10-08 15:37:24 · 2315 阅读 · 0 评论 -
FusionCharts报表在Android上的实现
最近Android这边报表方面的实现一直在考虑是否需要谷歌提供的第三方库achartengine来实现,但考虑到和IOS的一致问题原创 2014-07-18 12:41:54 · 7149 阅读 · 6 评论 -
Android 百度地图开发问题----解决地图有时候加载不出来问题
相信很多人在开发百度地图的时候会出现百度地图有时候会加载不出来,只显示网格图。 这个问题究其原因就是申请百度key的时候填写的SHA1原创 2014-08-01 11:42:46 · 26341 阅读 · 12 评论 -
Android有用处理代码集锦-----Sdcard相关
1. 检测sdcard是否可用:原创 2014-05-08 10:32:29 · 1770 阅读 · 0 评论 -
Android有用处理代码集锦-----图片相关
sss原创 2014-04-29 10:31:48 · 2994 阅读 · 0 评论 -
解决Android单个dex文件不能超过65536个方法问题
当我们的项目代码过大时,编译运行时会报Unable to execute dex: method ID not in[0, 0xffff]: 65536)错误。当出现这个错误时说明你本身自己的工程代码中含有的太多的方法,或者你的工程lib文件夹下引用的第三方插件jar包有太多的方法,这两者的方法加起来已经超过了65536这个数目。而谷歌规定单个dex文件中的方法不能超过65536的限制。 那原创 2014-11-21 15:58:33 · 38566 阅读 · 33 评论 -
Android中的xml、json格式数据解析
转载请注明出处: 本博文相关的Demo下载链接: 前言:在开发Android第三方App应用的过程中,特别是涉及到网络请求的App,都会涉及到解析后台返回的数据。而后台返回的数据无非就是两种格式,xml和json格式。如何更好的方便有效的解析这些后台返回的数据,对我们开发者来说是很重要的。接下来将介绍以下几种笔者比较常用的数据解析方式。 一。simple-原创 2015-01-08 13:22:13 · 16487 阅读 · 1 评论 -
自定义ViewGroup
本博文Demo下载地址:http://download.csdn.net/detail/stevenhu_223/8527997 前言:很久之前写了一篇文章《基于第三方开发Android锁屏》,里面有用到自定义ViewGroup(StarLockView类),今天回头去看看当初写的这个类,简直惨不忍睹。用了一大堆变量,相关视图也在代码中创建,代码健壮性也有待提高。今天就把当初写的这个S原创 2015-03-24 12:35:57 · 1958 阅读 · 1 评论 -
实现开启和关闭android移动网络(做AppWidget开发的收获)
之前在做Android AppWidget这方面的开发,本人菜鸟一个,刚接触android不久。所以在开发的过程中不免遇到诸多难处,不过在解决问题中收获知识是一种非常刺激的体验。接下来是本人在开发开关android系统移动网络的过程所收获的知识,希望能够帮助有需要的爱好编程者(呵呵..本人是Java语言的忠实粉丝)。 其实开启和关闭移动数据网络有两种方法:一种是通过操作系统的数据库改变A原创 2012-08-13 18:44:30 · 25996 阅读 · 30 评论 -
Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)
前言:经常会看到有一些app的banner界面可以实现循环播放多个广告图片和手动滑动循环。本以为单纯的ViewPager就可以实现这些功能。但是蛋疼的事情来了,ViewPager并不支持循环翻页。所以要实现循环还得需要自己去动手。自己再网上也找了写例子,本博文的Demo是结合自己找到的一些相关例子的基础上去改造,也希望对读者有用。 Demo实现的效果图如下:原创 2015-05-08 12:59:39 · 184447 阅读 · 120 评论 -
ActionBar应用开发讲解
1. 什么是操作栏(ActionBar是android3.0及之后的版本添加的新特性): 1) ActionBar是一个显示在屏幕顶部的控件,它包括了在左边显示的应用的logo图标和右边操作菜单的可见项。 2) 我们可以选择可见的操作菜单可见项,不可见项会以下拉列表的形式呈现出来。 3) ActionBar同时也为Fragment之间提供标签导航。原创 2012-10-03 11:42:13 · 14467 阅读 · 0 评论 -
基于第三方开发Android锁屏
在Android系统锁屏模块开发中,有两种形式的开发:一种是基于源码开发;另一种是基于第三方开发。 基于源码开发还是比较具有危险性的,而且相对于第三方开发来说要考虑的问题比较多,而且移植后可能会出现问题,不便于维护。 当然,基于源码开发锁屏要做的工作相对于第三方开发锁屏要做的工作就少了很多,比如在时间和日期的获取和实时更新、充电时显示的电量状态、运营商名字的显示等等。这些在源码中是已经原创 2013-07-11 23:12:54 · 35930 阅读 · 109 评论 -
java中原生(native)函数的用法
1、原生(Native)函数的概念 在Java程序中,可以使用由其他编程语言实现的函数,这种函数,在Java中被称之为 原生(Native)函数。 2、在Java程序中使用原生函数的优缺点 1)优点 A、在Java程序中,可以复用已由其他语言实现的各种库。 可能已存在很多由其他语言编写的库,为了在Java程序中能够复用这些库, 就转载 2012-09-19 14:29:07 · 1973 阅读 · 0 评论 -
进程和线程模型(android)
Android进程模型在安装Android应用程序的时候,Android会为每个程序分配一个Linux用户ID,并设置相应的权限,这样其它应用程序就不能访问此应用程序所拥有的数据和资源了。在 Linux 中,一个用户ID 识别一个给定用户;在 Android 上,一个用户ID 识别一个应用程序。应用程序在安装时被分配用户 ID,应用程序在设备上的存续期间内,用户ID 保持不变。默认情况转载 2012-10-13 16:02:30 · 1484 阅读 · 0 评论 -
进程和线程(android)
当一个应用程序组件启动并且应用还没有运行任何其他组件时,Android系统会给应用程序启动一个新的带有单一执行线程的Linux进程。默认情况下,同一应用程序的所有组件都运行在相同的进程和线程(被叫做“主”线程)中。如果应用程序组件启动,并且针对这个应用的进程已经存在(因为应用程序中的其他组件的存在),那么这个组件就会在应用对应的进程中被启动,并且使用相同的执行线程。但是你能够安排应用程序中不同的组转载 2012-10-10 14:44:35 · 1509 阅读 · 0 评论 -
浅析android锁屏开机绘制流程(基于android4.0源码分析)
最近大体看了一下android源码锁屏模块,顺便把自己的收获在此记录下来,希望对研究锁屏的同行们有所帮助(对于锁屏模块,本人也没什么时间去真正的深究,只是摸清了个大概,若有奇异和错误之处,恳请指出) 好了,废话不多说了。 Android源码模块锁屏大体分为两种: 1.LockScreen: 系统默认的锁屏,就是我们所常见的系统原生波纹解锁(涉及MultiWave原创 2013-01-10 21:55:36 · 7389 阅读 · 2 评论 -
Android单元测试
本文相关的代码下载链接: http://download.csdn.net/detail/stevenhu_223/4895796 本文是在上一篇文章《java单元测试》的基础上继续讲解android的单元测试,android源码中引入了java单元测试的框架(android源码原创 2012-12-16 22:57:01 · 24278 阅读 · 8 评论 -
android悬浮窗口的实现
当我们在手机上使用360安全卫士时,手机屏幕上时刻都会出现一个小浮动窗口,点击该浮动窗口可跳转到安全卫士的操作界面,而且该浮动窗口不受其他activity的覆盖影响仍然可见(多米音乐也有相关的和主界面交互的悬浮小窗口)。那么这种不受Activity界面影响的悬浮窗口是怎么实现的呢? 竟然它能悬浮在手机桌面,且不受Activity界面的影响,说明该悬浮窗口是不隶属于Activity界面的,原创 2013-01-16 21:16:36 · 178476 阅读 · 75 评论 -
单元测试UI界面的实现
在前面两篇文章分别介绍了《java单元测试》和《android单元测试》,本文是在结合这两篇文章的基础上,通过开发一个在手机上可以直接查看这些单元测试的结果的UI界面,和以及获取相关的测试信息。 界面的效果图如下: 废话少说,上代码: 1.布局文件main.xml: <LinearLayout xmlns:android="http://schemas原创 2012-12-15 16:40:36 · 4169 阅读 · 1 评论 -
实现一个视图在固定圆圈内移动
我们知道,在android4.0系统原生的滑动锁屏中,用户可以拖动中心的图标在固定的圆圈内移动。本文将以一个小Demo来实现类似这种绕着固定圆圈内拖动图标。 这个Demo有两个类: 1. MainActivity:继承Activity,主要用来承载MainView这个自定义ViewGroup类; 2. MainView:自定义ViewGroup,继承ViewGroup原创 2013-06-16 17:01:46 · 3073 阅读 · 0 评论 -
枚举类型的理解和应用
相信学习java的人,在平时开发时是很少用到枚举。说实在的,本人对枚举类型一向都是云里雾里,直到最近在看android源码时,才微探到其中的妙处。 接下来就以一个例子结合枚举和手势知识点的应用开发来讲解枚举类型在android应用开发中的活用(很多知识点都是借鉴android源码,学习android,源码是最好的教程,对开源致敬!)。 示例代码如下:packa原创 2013-06-10 22:51:22 · 5200 阅读 · 1 评论 -
Android中Path类的lineTo方法和quadTo方法画线的区别
但我们需要在屏幕上形成画线时,Path类的应用是必不可少的,而Path类的lineTo和quadTo方法实现的绘制线路形式是不一样的; 1. Path--->quadTo(float x, float y) : 该方法实现的是当我们不仅仅是画一条线而且是画弧线时会形成平滑的曲线,该曲线又称为"贝塞尔曲线"(Bezier curve),下面以一个Demo来结合理解quad原创 2013-07-02 23:42:54 · 79498 阅读 · 22 评论 -
Android快捷开关实现
在Android源码中,提供的快捷开关相对是比较少的,Android4.0系统默认提供的桌面快捷开关AppWidget上只有5种开关(分别是Wifi开关、蓝牙开关、GPS开关、同步开关、亮度设置开关)如下图所示: 当然,有时候就需要开发实现承载更多的快捷开关的AppWidget来实现用户体验,所以,本文主要针对这些开关的主要代码实现来重点解决开发这些快捷开关。 本原创 2013-06-13 14:48:25 · 25498 阅读 · 12 评论 -
android4.0 屏幕切换(避免重走Activity的生命周期)
最近在学习基于android4.0新增加的新特性ActionBar和Fragment的开发,在android4.0 系统中ActionBar是在启动Activity(ActionBar内置在其中)后都会展现的,一般是在Activity上方预留空间,最左侧显示应用程序的图标和标题。我们知道android2.3以前,应用程序的主Activity上方会预留一栏空白处显示应用程序标题。而4.0系统将这个空原创 2012-09-13 16:33:48 · 6050 阅读 · 6 评论 -
Git和Repo管理使用简要介绍
在Linux平台下进行Android系统项目开发时,需要git或repo管理。 一. Git和Repo的区别: 1. Git:Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 2. Repo: Repo是谷歌用Python脚本写的调用git的一个脚本。主要是用来下载、管理Android项目的软件仓库(也就是说Repo是用原创 2013-04-22 11:28:02 · 68100 阅读 · 3 评论 -
Android中Parcelable接口的应用
在前面的一篇文章基于Android应用开发的跨进程通信实现(IPC)>介绍了通过跨进程实现基本数值类型(String)的传递,但是有的时候,需要跨进程实现传递相对较复杂的数据(比如图片之类的资源),而不仅仅是基本数据。那么,实现复杂数据跨进程的传递使用呢?这时候就不得不把Parcelable接口搬出来了,假设我们需要跨进程的数据都包装在一个我们自定义的类里面,那么这个类就需要实现Parcelabl原创 2013-06-30 22:47:56 · 9004 阅读 · 1 评论 -
Android Studio 问题解决记录
问题1:提示Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try editing the distributionUrl in /Users/lee/Downloads/AS Demo/MiLaDouSupplierApp/app/gradle/wrapper/gradle原创 2016-07-06 20:00:02 · 1206 阅读 · 0 评论