ANDROID
文章平均质量分 67
叶飘飘
这个作者很懒,什么都没留下…
展开
-
android 拖动控件例子
在百度新闻和网易新闻app里看到了自定义栏目的效果,它们都采用了拖动控件的方式来定制属于自己的栏目。想了会,没思路,google了一把在android中,拖放控件的原理大致如下:重写某控件(比如TextView)的onTouchEvent方法,监听其MotionEvent的事件(一般就是按下、移动、释放等),在其中记录移动该控件的实时坐标并设置为当前坐标即可。更具有借鉴性的转载 2013-06-15 16:12:01 · 2686 阅读 · 0 评论 -
Android内存之VSS/RSS/PSS/USS
TermsVSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)一般来说内转载 2013-07-15 11:43:20 · 8135 阅读 · 0 评论 -
浅谈ANR及如何分析解决ANR
一:什么是ANRANR:Application Not Responding,即应用无响应二:ANR的类型ANR一般有三种类型:1:KeyDispatchTimeout(5 seconds) --主要类型按键或触摸事件在特定时间内无响应2:BroadcastTimeout(10 seconds)BroadcastReceiver在特定时间内无法处理完成3:Ser转载 2013-07-01 17:59:57 · 1035 阅读 · 0 评论 -
android ANR 案例分析
案例1:关键词:ContentResolver in AsyncTask onPostExecute, high iowaitProcess:com.android.emailActivity:com.android.email/.activity.MessageViewSubject:keyDispatchingTimedOutCPU usage from 2550ms to -原创 2013-07-02 11:03:08 · 2843 阅读 · 0 评论 -
Android系统上cp命令的替代方法
今天把玩手头的那部Android手机时碰到一个问题,即因为权限问题无法将文件复制到/system/和/data/分区中,经过一番折腾后,算是解决了,在此记录一笔。本方所涉及到的命令输入,均用斜体字表示。情况是这样的:该台Android手机不提供adbroot的权限,但又不能装破解root权限的软件,若要往Android手机的/system/和/data/分区下拷一些文件,是否有其它方法转载 2013-07-02 16:00:25 · 9732 阅读 · 0 评论 -
Android网络通信库Volley简介(Google IO 2013)
1. 什么是Volley在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google I/O 2013上,Volley发布了。Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。这是Volley名称的由来:翻译 2013-07-02 12:44:26 · 1356 阅读 · 0 评论 -
android监控SIM卡状态的广播示例代码
/* 监听sim状态改变的广播,返回sim卡的状态, 有效或者无效。 双卡中只要有一张卡的状态有效即返回状态为有效,两张卡都无效则返回无效。 */ import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import and转载 2013-07-05 10:52:36 · 14608 阅读 · 1 评论 -
Android监听应用程序安装和卸载
第一、 新建监听类:BootReceiver继承BroadcastReceiver package com.rongfzh.yc;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class BootRece原创 2013-07-30 18:53:34 · 1620 阅读 · 0 评论 -
Android代码实现APK文件的安装与卸载
Android程序使用代码的安装和卸载!!! 安装:String str = "/CanavaCancel.apk"; String fileName = Environment.getExternalStorageDirectory() + str;Intent intent = new Intent(Intent.ACTION_VIEW); intent.set原创 2013-07-30 18:57:47 · 2034 阅读 · 0 评论 -
android 设置Spinner文字标题颜色 字体大小样式
// 在初始化之前改变 Spinner文字标题颜色 mySpinner.xml 样式文件放在main.xml 同一目录mySpinner.xml <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" androi原创 2013-07-30 14:42:16 · 79321 阅读 · 5 评论 -
Android 跨应用调用Activity及Service
如何调用另外一个app应用的activity或者service,本文提供一个验证可行的方法。调用方法: Intent intent=new Intent("youActionName"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addCategory(Intent.CATEGORY_DE原创 2013-07-30 16:01:20 · 9559 阅读 · 1 评论 -
Android AIDL使用详解
1.什么是aidl:aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口icp:interprocess communication :内部进程通信 2.既然aidl可以定义并实现进程通信,那么我们怎么使用它呢?文档/android-sdk/docs转载 2013-07-30 16:15:52 · 978 阅读 · 0 评论 -
Android监控软键盘变化实例
public class ResizeLayout extends FrameLayout { private OnkeyboardShowListener mChangedListener; private boolean misKeyboardshow = false; private RRSharedPreferences preferences;原创 2013-07-29 15:34:04 · 2531 阅读 · 2 评论 -
android 多媒体数据库详解
主要分为几节:1. Android的媒体文件内部是如何存储的?2. Andoid的媒体文件如何获取?3. 在使用媒体文件的一些小技巧。1. Android的多媒体如何存储的?Android的多媒体文件主要存储在/data/data/com.android.providers.media/databases目录下,该目录下有两个db文件,一个是内部存储数据库文件(internal原创 2013-09-10 13:06:49 · 18146 阅读 · 4 评论 -
android中Camera setDisplayOrientation使用
在写相机相关应用的时候遇到捕获的画面方向和手机的方向不一致的问题,比如手机是竖着拿的,但是画面是横的,这是由于摄像头默认捕获的画面byte[]是根据横向来的,而你的应用是竖向的,解决办法是调用setDisplayOrientation来设置PreviewDisplay的方向,效果就是将捕获的画面旋转多少度显示。设置 preview 的顺时针旋转角度。这将影响 preview frames和拍照原创 2013-09-12 18:12:16 · 43440 阅读 · 8 评论 -
ADB server didn't ACK,adb无法正常启动
adb server is out of date. killing...ADB server didn't ACK* failed to start daemon *error: unknown host service 使用adb时,若出上面的错,使用adb kill-server是没有用的,因为此时是其他进程的监听了abd端口(5037),而不是adb。我用cmd+命令原创 2013-10-09 10:52:21 · 8456 阅读 · 0 评论 -
Android4.0以下Margin设置失效解决方法
Android4.0以下系统FrameLayout布局的子View设置的Margin常常出现失败的情况,而同样的代码在Android4.0及以上的系统中则没有问题。相信此时大多数屌丝程序员都气得很抓狂吧,当初遇到此问题时我也是如此,用百度、谷歌各种搜索都没有很好的解决问题,最后经过自己的研究终于找到了解决问题的方法。1、在xml布局设置margin失效情况在要设置Margin的View中加原创 2013-06-21 19:04:26 · 9361 阅读 · 6 评论 -
使用getIdentifier()获取资源Id
使用getIdentifier()方法可以方便的获各应用包下的指定资源ID。主要有两种方法:(1)方式一Resources resources = context.getResources();int indentify = resources.getIdentifier(org.loveandroid.androidtest:drawable/icon",null,null);转载 2013-07-12 18:35:30 · 54570 阅读 · 4 评论 -
Android升级ADT22后会报ClassNotFoundException的原因分析
最近有个同事跟我报怨说,他的系统重装Eclipse使用新的ADT22后,编译的android apk运行总会报ClassNotFoundException错误。我说这怎么可能,谷歌这么大的公司出来的东西怎么可能有这种问题。他说不信你试试,我说试试就试试。我之前用的是ADT21,结果升到ADT22后一运行,晕,不得不服,还果真是ClassNotFound了。接下来我又换了几个工程编译运行,发现并转载 2013-06-27 16:19:20 · 1543 阅读 · 0 评论 -
如何解决ADT17下Android第三方jar包NoClassDefFoundError的错误
原文:Posted by Foxykeep on 22/03/2012http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17在升级了我的Android SDK和ADT到版本17后,我又遇到了一个大问题:)在使用了第三方JAR包的工程中,我仍然能正常编译,但只要在转载 2013-06-27 16:17:05 · 970 阅读 · 0 评论 -
eclipse 导入报错 Invalid project description
估计是Eclipse ADT插件的bug,导入android工程时有时候会提示这个错误:按照提示,说是当前的工作空间内已经有同名的工程了,但实际是没有的。。。多次碰到这种问题后,无意间找到解决办法。。。不要选择导入android工程,而是General工程。。上图!转载 2013-06-15 16:36:59 · 7225 阅读 · 0 评论 -
复合嵌套查询实例
/*SELECT contact.* t2.t1.history.* FROM contact INNER JOIN (SELECT room_contact.contact t1.history.* FROM (SELECT room.Id, history.* FROM room INNER JOIN his原创 2013-06-15 10:39:15 · 1781 阅读 · 0 评论 -
Android TextUtils类介绍
对于字符串处理Android为我们提供了一个简单实用的TextUtils类,如果处理比较简单的内容不用去思考正则表达式不妨试试这个在android.text.TextUtils的类,主要的功能如下:是否为空字符 boolean android.text.TextUtils.isEmpty(CharSequence str)拼接字符串 String android.text.Te原创 2013-06-15 17:29:41 · 52648 阅读 · 6 评论 -
2013年Android 开源框架和开源的代码汇总
FBReaderJ FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb、ePub和fb2。此外还支持直接读取zip、tar和gzip等压缩文档。更多FBReaderJ信息 Angle Angle是一款专为Android平台设计的,适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全部用Java代码编写,并且可以根据自己的转载 2013-06-15 19:20:16 · 4709 阅读 · 0 评论 -
android利用数字证书对程序签名
签名的必要性1、 防止你已安装的应用被恶意的第三方覆盖或替换掉。2、 开发者的身份标识,签名可以防止抵赖等事件的发生。 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的。另外由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名这时可以可以防止你已安装的应用被恶意的第转载 2013-06-17 19:02:14 · 1339 阅读 · 0 评论 -
原生Android缩略图填满SD卡的问题
google原生Android中,MiniThumbFile.java里存储图片/视频的缩略图的算法有问题。该算法的漏洞造成微缩略图文件(DCIM\.thumbnails\.thumbdata4--1967290299)非常庞大和臃肿,多达1G,理论上可以无限大,直到填满SD卡重现步骤:第一步:插入一张拥有10万张图片的外部SD卡,第二步:等待手机扫描完整个SD卡,转载 2013-06-18 10:41:56 · 5441 阅读 · 0 评论 -
clipse只显示单个方法或一个方法的解决办法
使用Eclipse时,遇到过一个问题,很烦人。就是在IDE的Edit区域,类的方法显示不全,只能显示一个方法,类的其他部分都看不到。 后来发现,原来是不小心,勿点了Eclipse工具栏的一个属性: Show Source of Selected Element Only。顾名思义,该属性就是只显示选中元素的SRC。 如果发现工具栏没有这个按钮,可以进入Window-Customize原创 2013-06-19 10:51:29 · 1079 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo错误解决
java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Soloat com.skymobi.android.qc.test.RobotTest.setUp(RobotTest.java:46)at android.test.AndroidTestRunner.runTest(AndroidTestRunner.ja转载 2013-06-18 16:42:53 · 1731 阅读 · 0 评论 -
android 里 thumbdata3 数据格式
/mnt/sdcard/DCIM/.thumbnails/.thumbdata3--1967290299 这个文件的一些细节介绍如下:是通过MiniThumbFile.java这个文件提供的接口来访问这个文件的。其中saveMiniThumbToFile 是把小图存到这个文件里getMiniThumbFromFile是把小图从这个文件里取出来这个文件名是从这样来的:sd卡的目录名转载 2013-06-18 11:06:26 · 4379 阅读 · 0 评论 -
从Eclipse Memory Analyzer中获取内存中未释放的bitmap到bmp图片
Eclipse Memory Analyzer并不提供从一个bitmap buffer直接观察图片内容的功能,下面的步骤教你从bitmap buffer中导出一个我们能够直接浏览的图片:1. 存储要浏览的bitmap buffer2. 将bitmap buffer存到本地电脑中输入或选择要存放图片的本地路径3. 在Eclipse中打开inspector视图原创 2013-06-19 18:38:36 · 2944 阅读 · 1 评论 -
android 项目更改包名的方法
1、在项目上右键,选择android tools->rename application package,输入需要改为的名称,然后选择需要改的包,有部分包可能不需要更名 2、上一步并没有修改源码的包,只是将工程中涉及包名的地方改了,下面修改源码的包名,右键要改包名的源码包,选择refactor->rename,注意一定要将rename subpackages选上,否则子包不会原创 2013-06-24 11:07:19 · 1681 阅读 · 0 评论 -
Android应用签名详解(INSTALL_PARSE_FAILED_NO_CERTIFICATES问题解决)
为什么要签名? 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的。 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名可以保证相当名字,但是签名不同的包不被替换。 APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已原创 2013-06-24 10:42:01 · 38692 阅读 · 1 评论 -
Android中View绘制流程以及invalidate()等相关方法分析
整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为 根据之前设置的状态,判断是否需要重新计算视图大小(measure)、是否重新需要安置视图的位置(layout)、以及是否需要重绘 (draw),其框架过程如下:转载 2013-06-26 17:55:18 · 946 阅读 · 0 评论 -
Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(上)
Android View 绘制流程的三个步骤,即: 1、 measure过程 --- 测量过程 2、 layout 过程 --- 布局过程 3、 draw 过程 --- 绘制过程 要想对Android 中View转载 2013-06-26 17:56:49 · 1451 阅读 · 0 评论 -
Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(下)
主要知识点如下: 1、MeasureSpc类说明 2、measure过程详解(揭秘其细节); 3、root View被添加至窗口时,UI框架是如何设置其LayoutParams值得。 在讲解measure过程前,我们非常有必要理解MeasureSpc类的使用,否则理解转载 2013-06-26 17:58:57 · 1946 阅读 · 1 评论 -
Android升级ADT22后会报ClassNotFoundException的原因分析
最近有个同事跟我报怨说,他的系统重装Eclipse使用新的ADT22后,编译的android apk运行总会报ClassNotFoundException错误。我说这怎么可能,谷歌这么大的公司出来的东西怎么可能有这种问题。他说不信你试试,我说试试就试试。我之前用的是ADT21,结果升到ADT22后一运行,晕,不得不服,还果真是ClassNotFound了。接下来我又换了几个工程编译运行,发现并转载 2013-06-27 14:50:06 · 1097 阅读 · 0 评论 -
Android防止内存溢出浅析
Android的虚拟机是基于寄存器的Dalvik,它的最大堆大小一般是16M。但是Android采用的是Java语言编写,所以在很大程度上,Android的内存机制等同于Java的内存机制,在刚开始开发的时候,内存的限制问题会给我们带来内存溢出等严重问题。在我们不使用一些内存的时候,我们要尽量在Android或者其他平台上避免在运行其他程序时,保存必要的状态,使得一些死进程所带来的内存问题,应该尽原创 2013-07-12 17:52:22 · 2342 阅读 · 0 评论 -
Android5.0全透明状态栏效果
Android 5.0 状态栏全透明效果原创 2015-03-19 17:22:38 · 56033 阅读 · 20 评论