- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 Android AsyncTask完全解析,站在源码的角度上
我们都知道,Android UI是线程不安全的,如果想要在子线程里进行UI操作,就需要借助Android的异步消息处理机制。也就是Handler,Message, Thread。不过为了更加方便我们在子线程中更新UI元素,Android从1.5版本引入了AsyncTask类,使用它我们可以更灵活方便的实现子线程更新UI元素。AsyncTask基本用法首先来看一下AsyncTas
2015-04-10 14:20:06 617
原创 Android 中的Touch事件分发机制
起源:1.ScrollView+EditText结合使用时出现触摸事件异常2.自定义控件使用时,touch相应不对3.面试问到事件分发主要分为两部分:view的事件分发和viewgroup的事件分发。在探讨事件分发机制之前,先需要搞清楚android两个基础控件view和viewgroup,以及它们之间的关系:view是没有子控件的,像button,textview都是view
2015-03-23 16:19:31 796
原创 DownloadManager使用
前一章写到使用HttpUrlConnection或HttpClient做APP下载更新,这章来说下DownloadManager。DownloadManager系统下载管理的使用主要代码public class MainActivity extends Activity implements android.view.View.OnClickListener { private st
2015-01-27 15:20:47 884
原创 Android 更新模块
APP版本更新是产品使用必要功能,写它主要是因为该模块是基本模块,还有就是在其中出现了问题,记录下来。下载使用的方法有a.使用系统知道DownloadManager进行下载,这在下个文章中介绍b.HttpUrlConnection或者HttpClient下载,今天的主要讲解因为包括了网络请求和下载保存必须加入权限 MainActivity代码()public c
2015-01-27 15:09:26 687
转载 string正则表达式
一个正则表达式测试(只可输入中文、字母和数字) 在项目中碰到了正则表达式的运用,正则还是非常强大的,不管什么编程语言,基本上都可以用到。之前在用java时特别是对用户名或密码使用正则非常爽,写脚本上用正则也非常爽,可是到了OC这却把我虐了一把,可能是对OC掌握的不够。这里就罗列了从网上找的很有用的资料,感谢大神们的贡献。首先举一个例子:匹配9-15个由字母/数字组成的字符
2014-06-23 13:37:14 1833
转载 不容错过!开发者必备的十二大Android开发资源
摘要:无论你是经验丰富的专业Android开发者,还是初出茅庐的新人,开发应用最忌讳的就是闭门造车。不能把自己圈在自己的思维里,要学会借助外在现有的资源去协助开发,这样既不会让自己固步自封,还能够提高工作效率。无论你是经验丰富的专业Android开发者,还是初出茅庐的新人,开发应用最忌讳的就是闭门造车。不能把自己圈在自己的思维里,要学会借助外在现有的资源去协助开发,这样既不会让自己固步
2014-05-16 16:11:38 607
原创 android proguard webview javascript interface
项目中使用WebView + Javascript 相互使用时,在签名打包后发现,js无效,问题就是proguard造成的。解决方法如下:-keepclassmembers class * { @android.webkit.JavascriptInterface ;}webView = (WebView) findViewById(R.id.webview);//
2014-02-19 11:54:17 3432 1
原创 java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
在Android中不允许Activity里新启动的线程访问该Activity里的UI组件,这样会导致新启动的线程无法改变UI组件的属性值。出现java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()异常然而,我们实际需要,在很多时候都需要异步获取数据
2014-02-11 11:29:32 3412
原创 EditText和ScrollView共存,无法获取焦点,不能滚动的解决方法
在程序UI设计时,我们用遇到,界面内容太多,显示不下,而使用ScrollView进行内容的填充在使用时,需要注意,ScrollView作为parent时,只能有一个child<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_p
2014-01-03 15:59:48 4922
转载 消灭Bug!十款免费移动应用测试框架推荐
无论是iOS还是Android应用,各种Bug、终端测试都很让人头疼,而移动应用测试框架则可以帮助开发者简化测试流程,从而很好地解决这一问题。本文详细介绍了当下最受开发者喜爱的十款免费应用测试框架,快来看一看吧。对于移动应用开发者而言,Bug往往是最让人头疼的一大问题。不同于时时刻刻可以修补的Web App,移动App中的Bug往往隐藏得很深,甚至有时候等到用户使用才显现出来,这么一来
2013-12-27 16:18:44 662
原创 Android自动化测试之Monkey
猴子是一个命令行工具,它可以运行在任何模拟器实例或设备上。它向系统发送伪随机的用户事件流,作为一个压力测试的应用软件开发。 猴子包含许多选项,但是他们分解成四个主要类别:1.基本配置选项,如设置事件的数量。2.操作的限制,例如限制测试到一个包中。3.事件类型和频率。4.调试选项。 猴子在运行时,会生成事件,并将它们发送给系统。它还观察被测试的系统和寻找三个特别的条件
2013-12-27 16:14:59 856
原创 <activity>标签中activity:windowSoftInputMode的属性详解
android:windowSoftInputMode 属性activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题。这个属性能影响两件事情:【一】当有焦点产生时,软键盘是隐藏还是显示【二】是否减少活动主窗口大小以便腾出空间放软键盘它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。在任一组设置
2013-12-27 14:10:32 583
原创 三星I9300手机在调用系统摄像头拍照onActivityResult data为null的解决方法
程序需求,需要上传头像,所以就调用了三星盖三的系统拍照方法调用系统拍照方法如下:// 调用系统拍照程序自定义保存文件路径private void takePhoto() { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); Uri uri = getOutputMediaFileUri(MEDIA_TYP
2013-12-19 11:31:08 3324 2
原创 Android 屏幕切换和onConfigurationChanged不调用的原因
Activity的生命周期大家都知道,通常我们会指定activity的屏幕方向,这样避免屏幕旋转改变后activity生命周期变化 android:screenOrientation="portrait" 竖屏 android:screenOrientation="landscape" 横屏上面通过指定Activity显示屏幕方向,代码很方便也很多应用是这样
2013-12-19 11:06:43 3105
原创 Android开发项目经验
1.是不是应该把数据刷新操作放在onResume()中? @Override public void onResume() { super.onResume(); refresh(); } public void refresh(){ initData();
2013-11-27 15:43:37 858
转载 直接拿来用!最火的Android开源项目(完结篇)
转自:http://www.csdn.net/article/2013-05-21/2815370-Android-open-source-projects-finale摘要:截至目前,在GitHub“最受欢迎的开源项目”系列文章中我们已介绍了40个Android开源项目,对于如此众多的项目,你是Mark、和码友分享经验还是慨叹“活到老要学到老”?今天我们将继续介绍另外34个Andro
2013-11-21 09:38:06 931
转载 直接拿来用!最火的Android开源项目(二)
转自:http://www.csdn.net/article/2013-05-08/2815145-Android-open-source-projects-two摘要:GitHub上的开源项目不胜枚举,通过这些项目,也能让开发者在应用开发过程中事半功倍,作为开发者的你,在用这些开源项目吗?今天我们将介绍另外20个在GitHub上备受欢迎的Android开源项目,你准备好了吗?
2013-11-21 09:34:22 850
转载 直接拿来用!最火的Android开源项目(一)
转自:http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects 摘要:对于开发者而言,了解当下比较流行的开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。为此,CSDN特整理了GitHub上最受欢迎的Android及iOS开源项目,本文详细介绍了20个Android开源项目。
2013-11-21 09:28:49 830
原创 Android Activity定制需要的Title
Activity界面默认的Title是只有文字描述的,当我们想要做成类似微信中Tilte行带有导航和多功能效果的时候,我们就需要自己去定义需要的布局来加载它。 上次我们讲到了Activity的全屏显示和去掉Title
2013-11-04 17:07:24 1300
原创 给TextView中的文字添加阴影效果和样式Style的使用
<TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:shadowCo
2013-10-24 15:25:04 910
转载 Android优秀开源项目
Android经典的开源项目其实非常多,但是国内的博客总是拿着N年前的一篇复制来复制去,实在是不利于新手学习。今天爬爬把自己熟悉的一些开源项目整理起来,希望能对Android开发同学们有所帮助。另外,如果你有比较好的项目推荐,也烦请在评论里分享出来,我会定期更新博客内容。项目篇:Apollo音乐播放器:就一个播放器,但是实现的很好oschina客户端:oschi
2013-10-22 10:46:58 1076 2
原创 如何将Activity设置为Dialog样式
如何将Activity设置成Dialog样式有二种方法在AndroidManifest.xml中设置activity的主题即可第一种: android:theme="@android:style/Theme.Dialog" 第二种: android:theme="@android:style/Theme.Translucent"
2013-10-10 14:46:25 3855
原创 如何设置Activity全屏显示和没有Title
在产品设计我们,我们会遇到需要将Activity设置成全屏和去掉Title,如何实现呢第一种方法,是在AndroidManifest.xml清单文件中对activity加入android:theme="@android:style/Theme.NoTitleBar.Fullscreen" <activity android:theme="@android:sty
2013-10-10 14:24:41 1628
原创 定制自己的Toast通知
在Android系统中,消息提醒有Notification通知栏消息提醒,Dialog对话框消息提示,还有一种就是Toast消息通知。其中Toast消息通知,它是不获取焦点,不接受触摸事件,透明的短时间的友好提示,如网络超时,编写短信保存到草稿箱等等。首先我们要使用Toast提示消息Context context = getApplicationContext();Cha
2013-10-10 14:08:25 921
原创 Android FastJson,json解析
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。FastJson wiki地址
2013-09-25 15:48:52 955 1
原创 Android 第三方Jar包FastJson 代码混淆时的解决方法
我们做AndroidApp软件的时候,经常会对App进行签名打包和代码混淆,在工程中没有使用第三方Jar文件的时候不用考虑很多因素,现在要说的是当你在你的工程使用使用了FastJson这个快速解析Json数据的Jar后进行代码混淆出现问题的解决方法fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。主要特点:
2013-09-25 15:32:38 4940
原创 Android 悬浮框的实现
类似360的悬浮框实现布局文件android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical" >android:id="@+id/ray_menu"android:background="@drawable/a"an
2013-09-08 14:07:00 848
原创 Android 在Service开启对话框的方法
在项目中,我们可能会需要在service中进行对话框的全局开启。如何实现呢,Dialog的方法中有getWindow()方法,然后setType(int type)在官方文档中有介绍模仿当电量不足时,弹出对话框。mDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
2013-09-08 10:42:36 876
原创 Android中使用其他格式的字体
在项目使用我们可能会遇到客户要求不使用系统自带的字体,这时我们就需要网上找字体资料,下载下来放入到工程下的assets资源目录下,同时规范格式,在下面建立fonts文件夹,将已下载好的字体文件放入其中,android系统支持的是ttf格式的字体文件。在程序中如何调用:public static Typeface getTypeface(Context context, String pat
2013-09-08 10:26:56 913
原创 Android在Activity中取消EditText自动获取焦点的默认行为
在项目我们经常会在Activity中使用EditText,但是它经常会默认获取焦点,让界面显示不美观,如何在进入的时候不让它获取焦点,触摸后才获取焦点。方法,可以在XML布局文件中在EditText所在的父控件中加入下面属性即可。android:focusable="true" android:focusableInTouchMode="true"
2013-09-06 11:09:44 1860
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人