Android进阶
xiechengfa
5年+的移动应用开发经验, 主要从事Android应用开发, 有股票、K歌、音乐播放器软件等相关项目经历。从事项目设计、架构、接口文档、代码编写工作。
展开
-
对ContentProvider中getType(Uri uri)和android.intent.category.DEFAULT的理解
学习了ContentProvider,想做个通讯录,结果在Intent和getType(Uri uri)上卡住了,经过查找资料发现了问题的所在。在这里解释下getType(Uri uri)何时被调用,和android.intent.category.DEFAULT 的理解。 我们需要什么时候加android.intent.category.DEFAULT呢?1、要弄清楚这个问...原创 2012-02-27 09:21:07 · 107 阅读 · 0 评论 -
android Theme使用总结
http://henzil.easymorse.com/?p=364原创 2011-04-01 22:46:22 · 64 阅读 · 0 评论 -
关于Android线程优先级设置
http://hi.baidu.com/%CE%D2%BA%DC%B0%AE%D5%C5%B2%AE%C2%D7/blog/item/85a4b051d1205f77843524f1.html http://android.tgbus.com/Android/tutorial/200901/174644.shtml原创 2011-04-02 11:38:28 · 130 阅读 · 0 评论 -
关于MediaPlayer或AudioRecord中的IllegalStateException错误
必须在mediaPlay.isPlaying()返回true时才能执行stop,否则就会出现IllegalStateException的错误,AudioRecord类似。原创 2011-04-06 11:54:25 · 139 阅读 · 0 评论 -
Android 内存泄露
android application被限制到16M堆内存。越多的application保存在内存中,那么在他们之间切换的时候,速度就会更快。a Context 能被在很多方面应用,但是最多的是加载访问资源,这就是为啥widget接受一个a Context 参数在构造函数里。在一个规则的application中,你通常用俩中Context,activity和...原创 2011-04-06 22:40:02 · 91 阅读 · 0 评论 -
asset下的文件与res/raw /drawable下文件的区别
一、Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自 动生成ID,所以读取/assets目录下的文件必须指定文件的路径。我们可以通过AssetManager类来访问这些文件。比如我要读取/assets/background.png Java代码Bitmap bgImg = g...原创 2011-08-11 09:44:33 · 170 阅读 · 0 评论 -
android资源目录---assets与res/raw区别
android资源目录---assets与res/raw的不同 Android 2011-05-24 14:40:21 阅读20 评论0 字号:大中小 订阅assets:用于存放需要打包到应用程序的静态文件,以便部署到设备中。与res/raw不同点在于,ASSETS支持任意深度的子目录。这些文件不会生成任何资源ID,必须使用/assets开始(不包含它)的相对路径名。 ...原创 2011-08-11 09:45:41 · 80 阅读 · 0 评论 -
Android中资源文件夹res/raw和assets的使用
*res/raw和assets的相同点:1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。*res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。2.r...原创 2011-08-11 10:20:12 · 396 阅读 · 0 评论 -
android asset中 zip包解压sdcard
//定义assetmanager对象 AssetManager assetManager = getAssets(); // 需要解压的对象 InputStream dataSource = assetManager.open("...原创 2011-08-11 10:20:34 · 425 阅读 · 0 评论 -
详解MediaPlayer与SoundPool的利弊以及各个在游戏中的用途
Himi 原创, 欢迎转载,转载请在明显处注明! 谢谢。原文地址:http://blog.csdn.net/xiaominghimi/archive/2010/12/28/6101737.aspx游戏开发中,通过资料和书籍了解到在有两种播放音频形式可以用在我们的游戏开发中,第一个:MediaPlayer 类 ;第二个:SoundPool 类!PS:当然还有一个JetP...原创 2011-04-01 18:21:16 · 261 阅读 · 0 评论 -
android UI进阶之弹窗的使用
其实这是第二遍写这篇博客……浏览器崩溃了。。。我还以为博客园和CSDN的一样自动保存,竟然没有!好吧,没事,重新写过。年就算过完啦。新年第一篇来讲下android中的PopupWindow。姑且就叫做弹窗吧,其实和AlertDialog一样,也是一种对话框,两者也经常混用,但是也各有特点。下面就看看使用方法。首先初始化一个PopupWindowPopupWindo...原创 2011-03-30 23:10:16 · 139 阅读 · 0 评论 -
关于listview
1 listview中在设置了背景之后,会发生listview的上边和下边有黑色的阴影。,使用android:fadingEdge="none" 即可解决。2 自定义的listview,在拖动的时候出现一个空间黑色底色的情况,使用android:cacheColorHint=“#00000000”即可解决、3 默认会显示选中listview的item为橙黄底色,有时候我们...原创 2011-07-22 13:46:11 · 52 阅读 · 0 评论 -
屏幕分辨率适配
屏幕分辨率:1024x600density:1(160)文件夹:values-mdpi-1024x600屏幕分辨率:1024x600density:1.5(240)文件夹:values-hdpi-683x400 由1024/1.5 600/1.5得到,需要四舍五入。屏幕分辨率:800x480density:1(160)文件夹:values-mdpi-800x480屏幕分辨率:800x4...原创 2011-10-19 18:55:18 · 143 阅读 · 0 评论 -
在Android的Notification中显示进度条
最近研究了Notification,参考了一些文档,写了一些心得。在官方文档中得知在Android的Notification中可以显示进度条 ,就想做个例子试一下。在网上查了下,没有找到 。决定自己写下,费了九牛二虎之力搞定了,现在拿出与大家分享下。最后标注下:notify的次数不能太多,当然一百次就没问题的,机器会随着notify次数越多机器会越来慢慢。如果你是更新下载的...原创 2011-03-25 14:31:05 · 315 阅读 · 0 评论 -
Android中ContentProvider和ContentResolver使用入门
在Android中,我们的应用有的时候需要对外提供数据接口,可以有如下几种方法:1)AIDL 2)Broadcast 3)ContentProvider。使用AIDL需要我们编写AIDL接口以及实现,而且对方也要有相应的接口描述,有点麻烦;使用Broadcast,我们不需要任何接口描述,只要协议文档就可以了,但是有点不好就是,这种方式不直接而且是异步的;使用ContentProvider我们不...原创 2011-03-29 10:27:40 · 79 阅读 · 0 评论 -
使用Android自带Gallery组件实现CoverFlow,源码+解析
http://www.eoeandroid.com/thread-39709-1-1.html原创 2011-03-29 11:18:19 · 85 阅读 · 0 评论 -
抽屉 Panel 研究
大家对抽屉控件的第一反应就是系统提供的 如下: 其实 该控件的原理说白了 很简单 即:* ViewGroup 如:LinearLayout 用于放置各种View* Button 用于 展开/收起 ViewGroup 所以该控件的大致布局应如下: 为了降低开发难度 我打算 定义 Panel extends LinearLayout...原创 2011-03-30 13:57:50 · 90 阅读 · 0 评论 -
DIalog与popWindow布局
Android默认的PopupWindow和EditText的外观是矩形框,看起来不是太好,本示例通过设置布局View的背景和PopupWindowd对象的背景,实现有白色圆角边框的对话框效果和圆角文字编辑框。代码如下(关键部分是背景布局XML): 对话框弹出效果图: Java代码 package com.test; ...原创 2011-03-30 22:55:23 · 140 阅读 · 0 评论 -
android UI进阶之汇总贴
http://dev.10086.cn/cmdn/bbs/thread-36868-1-1.html原创 2011-03-30 23:08:03 · 173 阅读 · 0 评论 -
google免费获取天气预报的信息的API
http://www.google.com/ig/api?hl=zh-cn&weather=Beijing原创 2011-04-07 21:41:51 · 174 阅读 · 0 评论 -
关于google api的支持
在论坛泡了好几天,终于摸清了moto中国把xt702行货版的rom里的核心框架framework.jar修改并删除了某些google api的支持,也就是说市面上所有汉化的milestone rom在调用google map服务的时候只能看到黑屏的结果,但是官方的google map完全不受影响,要想看到程序结果只能刷原版rom。 这还只是小问题,大问题是我试了无数网上介绍的...原创 2011-04-08 09:58:45 · 85 阅读 · 0 评论 -
Android中自定义Dialog外形,去除黑底和白色边框
在做Android开发中经常会使用到自定义样式的Dialog,尤其是在游戏当中,大家通常都是通过自定义一个布局文件来设置Dialog中显示的内容,但是仅仅这样还是不行的~会有黑色的框和白色的边。这就需要我们自定义Dialog的样式了。 首先上图: 首先是Dialog的布局文件: <?xml version="1.0" encoding="utf-8"?>...原创 2011-12-08 16:29:31 · 266 阅读 · 0 评论 -
编码问题(UTF-8、gb2312、unicode)
相信大家很多人跟我一样,对于编码一直感觉云山雾罩,说知道吧?就知道gb2312是中文编码,一看见乱码,就知道是编码出了问题,但是是哪儿出问题,为什么出问题,除了蒙,还是蒙。尤其是弄好了之后,有人问:为什么呢。自己也不知道,就说:反正就是这样的,用什么编码就用什么解码。为什么,鬼知道。 其实问题还是理解了之后,才能真正的明白为什么会这样,而且编码这个问题,也不是那么深奥,在网上搜索了一些资料,算是...原创 2012-02-14 09:38:44 · 172 阅读 · 0 评论 -
Android Intent和PendingIntent的区别详细分析
刚才一个例子中用到了PendingIntent,与之前学过的Intent有些类似,所以百度了一下结合自己的理解做个整理: Intent是一个意图,一个描述了想要启动一个Activity、Broadcast或是Service的意图。它主要持有的信息是它想要启动的组件(Activity、Broadcast或是Service)。 PendingIntent可以看作是对Inten...原创 2012-02-16 14:08:45 · 57 阅读 · 0 评论 -
android 如何判断程序是否在前台运行
private boolean isTopActivity(String packageName) { System.out.println("**********************top packageName:" + packageName); ActivityManager activityManager = (ActivityManager) thi...原创 2012-02-16 15:31:03 · 251 阅读 · 0 评论 -
NotificationManager和Notification的使用总结
这几天一直在修改twigee的源代码,其中一个要加入的功能是常驻Notification栏,以前写的时候只能出现在“通知”这一组中,想把它放在“正在运行”组中却不知道怎么放,查了下官方文档,找到了方法,在notification的flags字段中加一下“FLAG_ONGOING_EVENT”就可以了。同时我也把Notification的使用方法给总结了一下。详见下文:(1)、使用系...原创 2012-02-16 15:55:58 · 93 阅读 · 0 评论 -
Android网络电台的一种实现方案
随着电子产品的飞速发展,广播电台几乎已经远离了人们的娱乐生活,但是近年来由于网络电台的兴起,广播电台又逐渐有了市场,手机上如果有一个网络电台软件,使用率应该是比较高的。目前的主流智能手机平台中,iphone和symbian都已经有了这类软件,android平台虽然推出的时间不是很长,但是也已经有这类软件了,最近我也正在Android上做这方面的工作,下面就把我的一些经验介绍一下。 ...原创 2012-02-20 15:12:31 · 524 阅读 · 0 评论 -
一个常见的android内存泄露 问题
最近在公司看一个算比较大的android项目的源码,发现了一个很严重的问题,就是项目里使用单例模式,构造函数要传入Context做参数的类,基本上都存在内存泄露问题。我想这个项目这么多人做也没有人发现问题,这问题应该会挺常见的,同时也挺严重的。 存在内存泄露问题的一些代码片段像下面这样:Util.java public class Util { ...原创 2012-02-20 16:11:18 · 142 阅读 · 0 评论 -
Android ContentProvider的介绍(很详细)
一、ContentProvider的概念 ContentProvider:为存储和获取数据提供统一的接口。可以在不同的应用程序之间共享数据。Android已经为常见的一些数据提供了默认的ContentProvider 1、ContentProvider使用表的形式来组织数据 无论数据的来源是什么,ContentProvider都会认为是一种表,然后把数据组织成表格 2、Content...原创 2012-02-21 17:46:15 · 186 阅读 · 0 评论 -
汉字排序
Comparator comparator = Collator.getInstance(java.util.Locale.CHINA); Collections.sort(List list, comparator);原创 2011-12-07 09:44:50 · 112 阅读 · 0 评论 -
关于androidSDK登录时出现oauth2.0空白页的BUG
在RenrenListenerFactory中,line 126 onPageStart的注释放开就行了。 放开后RenrenAuthListener中onComplete方法会被回调两次,这里的逻辑要做适当的处理。原创 2012-02-09 16:21:52 · 146 阅读 · 0 评论 -
控制android弹出框不消失(用到反射的方法)
Android中的弹出框在被点击时, 无论点击哪个按钮都会关闭窗口。 但是有的情况下我们不需要立即关闭窗口。下面的情况是弹出框中要求用户输入文件名, 并在点击确定时检查文件名的合法性, 不合法则提示用户重新输入, 弹出框要保持在界面上。 点击取消时弹出框消失。 这里通过对控件的反射来实现: /**our button handler**/ private ButtonHan...原创 2011-04-11 21:45:25 · 430 阅读 · 0 评论 -
在任意位置获取应用程序Context
Android程序中访问资源时需要提供Context,一般来说只有在各种component中(Activity, Provider等等)才能方便的使用api来获取Context, 而在某些工具类中要获取就很麻烦了。为此,我们可以自定义一个Application类来实现这种功能。import android.app.Application; public class MyAp...原创 2011-04-12 18:06:52 · 95 阅读 · 0 评论 -
新浪微博SDK
DEMO程序:http://code.google.com/p/weibo4j/downloads/detail?name=weibo4android-1.2.1.zip JAR包:http://code.google.com/p/sina-weibo4android/downloads/list?can=1&q=原创 2011-12-28 16:38:49 · 81 阅读 · 0 评论 -
关于混淆外包jar包出错的解决方法
-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontpreverify-verbose-dontwarn-dontskipnonpubliclibraryclassmembers-optimizations !code/simplification/arithmeti...原创 2012-01-18 11:30:59 · 173 阅读 · 0 评论 -
Android主流屏幕分辨率介绍
对于Android游戏开发我们不得不像iPhone那样思考兼容Android平板电脑,苹果要考虑iPad、iPhone 3GS和iPhone 4等屏幕之间的兼容性,对于开发Android游戏而言也不例外,考虑的机型更多。 常规的我们可能只考虑QVGA,HVGA,WVGA,FWVGA和DVGA,但是抛去了手机不谈,可能平板使用类似 WSVGA的1024x576以及WXGA的1280x76...原创 2012-01-18 14:45:50 · 64 阅读 · 0 评论 -
Toast大全(五种情形)建立属于你自己的Toast
Toast用于向用户显示一些帮助/提示。下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast。 1.默认效果 Java代码 Toast.makeText(getApplicationContext(), "默认Toast样式",Toast.LENGTH_SHORT).show(); 2.自定义显示位置效果...原创 2012-01-29 17:23:51 · 188 阅读 · 0 评论 -
java中yield(),sleep()以及wait()的区别
往往混淆了这三个函数的使用。 从操作系统的角度讲,os会维护一个ready queue(就绪的线程队列)。并且在某一时刻cpu只为ready queue中位于队列头部的线程服务。但是当前正在被服务的线程可能觉得cpu的服务质量不够好,于是提前退出,这就是yield。或者当前正在被服务的线程需要睡一会,醒来后继续被服务,这就是sleep。sleep方法不推荐使用,可用wait。线程退...原创 2012-01-31 18:41:50 · 94 阅读 · 0 评论 -
Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
在Android中,TextView是我们最常用的用来显示文本的控件。 一般情况下,TextView中的文本都是一个样式。那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下。 res-layout-main.xmlview plainprint?...原创 2011-11-29 19:29:55 · 333 阅读 · 0 评论 -
有关中文朗读
http://www.eoeandroid.com/thread-35405-1-1.htmlhttp://www.eoeandroid.com/thread-34589-1-1.html原创 2011-03-16 12:46:45 · 77 阅读 · 0 评论