
App
文章平均质量分 88
知行合一365
这个作者很懒,什么都没留下…
展开
-
AsyncTask使用的问题
有时候,我们在调用了execute()方法后,AsyncTask并没有马上执行,而是等了很久后才执行,这是为什么呢?原因在于AsyncTask默认自己维护一个静态的线程池,而该线程池只允许同时执行一个线程,也就是说,不管多少个AsyncTask,只要是调用execute()方法,都是共享这个默认进程池的,你的任务必须在之前的任务执行完以后,才能执行。可以理解为,默认情况下,所有的AsyncTa转载 2015-02-10 20:19:54 · 1285 阅读 · 0 评论 -
Android如何立即退出整个程序
采用Intent.FLAG_ACTIVITY_CLEAR_TOP退出整个程序(多activity)问题: 多activity中退出整个程序,例如从A->B->C->D,这时我需要从D直接退出程序。 网上资料:{ finish()和system(0)都只能退出单个activity。杀进程等的等方式都不行~~~ 解决问题: 我们知道Android的窗口类提供了历史栈,我们可转载 2014-12-13 13:37:34 · 4103 阅读 · 0 评论 -
ActivityGroup可以得到startActivity返回的View对象
ActivityGroup简介1.ActivityGroup的核心就是继承了该类,能够通过getLocalActivityManager()得到一个LocalActivityManager如,LocalActivityManager am= getLocalActivityManager();2.然后通过LocalActivityManager通过startActivit转载 2014-12-13 15:07:46 · 638 阅读 · 0 评论 -
Eclipse中文乱码终极解决方法
使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码 格式解决乱码问题。在Eclipse可以从几个层面设置编码格式:Workspace、Project、Content Type、File 本文以Eclipse 3.3(英文)为例加以说明: 1. 设置Workspace的编码格式: Windows转载 2014-12-13 09:03:59 · 2198 阅读 · 0 评论 -
复杂ListView:微信对话列
这篇文章的效果也是大家常见的,各种通讯应用的对话列表都是这种方式,像微信、whatsapp、易信、米聊等。我们这篇文章也权当为回忆,形成简单的笔记。这篇文章参考了2009年Google IO中的《TurboChargeYourUI-How to make your AndroidUI fast and efficient》和2010年Google IO中的《The World of List转载 2014-12-11 20:35:06 · 607 阅读 · 0 评论 -
Activity间切换动画例子
大家可能遇到过跟小马一样的问题,就是在项目中不给Activity添加动画感觉好烂,特此,小马找个时间学习下Activity跳转时添加动画,网上资料一堆,但有些讲的是错的,而且只有文字没有效果,不如自己来,顺带试下什么效果,这个工程里面小马收集了一些常用的动画文件在工程目录anim下(我都加了注释,大家可以直接用),至于动画标签里面的属性大家可以参考如下路径的官方文档:太全了,有些还可以直接使用的.转载 2014-12-12 09:48:57 · 468 阅读 · 0 评论 -
【UI特效】FrameLayout实现ListView顶部悬停效果
首先上效果图,实现如下效果:起初在网上搜了下实现这样的效果,美团网,大众点评的“购买框”悬浮效果也是这样的,不过作者实现比较麻烦,自己想了想就根据ListView提供的一些特性进行了简单实现。整个主要布局就是一个ListView,如果listview的上面有内容且高度比较高,可以把它当做listview的header,这样也可以避免ScrollV转载 2014-08-23 16:46:05 · 3736 阅读 · 1 评论 -
【UI布局】android之Fragment(官网资料翻译)
目录(?)[-]Fragment要点设计哲学 创建Fragment添加一个用户界面 将fragment添加到activity撰写代码将fragment添加到一个已存在的ViewGroup添加一个无UI的fragment管理Fragment处理Fragment事务与Activity通信为Activity创建事件回调方法添加项目到ActionBar处理转载 2014-08-21 10:33:22 · 607 阅读 · 0 评论 -
Activity四种LaunchMode透彻理解
本文转自: http://marshal.easymorse.com/archives/2950. 写的非常好,分享给大家!!!在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认转载 2014-12-11 13:22:59 · 540 阅读 · 0 评论 -
ListView基础例子
由于google doc 很多人都打不开,故更新了源码下载地址 【源码下载】----2011-01-18 在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理,并写了个小例子,如下图。 列表的显示需要三个元素:1.ListVeiw 用来展示列表的View。转载 2014-12-11 14:33:39 · 531 阅读 · 0 评论 -
APK反破解之签名比对
发布过Android应用的朋友们应该都知道,Android APK的发布是需要签名的。签名机制在Android应用和框架中有着十分重要的作用。例如,Android系统禁止更新安装签名不一致的APK;如果应用需要使用system权限,必须保证APK签名与Framework签名一致,等等。在《APK Crack》一文中,我们了解到,要破解一个APK,必然需要重新对APK进行签名。而这个签名,一转载 2014-12-11 10:34:14 · 772 阅读 · 0 评论 -
自定义ContentProvider例子
1.适用场景1) ContentProvider为存储和读取数据提供了统一的接口2) 使用ContentProvider,应用程序可以实现数据共享3) android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,通讯录等)2.相关概念介绍1)ContentProvider简介 当应用继承Cont转载 2014-12-11 17:41:18 · 720 阅读 · 0 评论 -
【UI布局】fragment学两个demo就会用
首先,如果你想在android3.0及以下版本使用fragment,你必须引用android-support-v4.jar这个包然后你写的activity不能再继承自Activity类了,而是要继承android.support.v4.app.FragmentActivity,一些其他的父类也有相应的变化.由于在android的实现机制中fragment和activit转载 2014-08-21 10:29:59 · 518 阅读 · 0 评论 -
Android View Focus详解
焦点事件是对某一组件的状态的监听事件。比如说我们在注册页面输入自己的用户名时,这当光标点击到高文本框时,我们可以理解为该文本框获得了焦点;但是,当光标离开了该文本框,则可以理解为该文本框失去了焦点。焦点事件常用来处理该组件的验证处理等功能,例如输入框内容的清空功能,文本框的验证、提示功能等等。在Android中的View类中专门提供了一个接口——View.OnFocusChange转载 2014-12-12 15:08:49 · 13666 阅读 · 2 评论 -
View的显示和隐藏动画
显示动画[java] view plaincopymShowAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.R转载 2014-12-11 20:17:24 · 1015 阅读 · 0 评论 -
解决AsyncTask引发的RejectedExecutionException(继承AsynTask)
解决AsyncTask引发的RejectedExecutionExceptionAsyncTask是google为易用和有效的异步操作UI线程的所开发的一个封装类。使用者可以很轻易的使用其进行后台操作,然后将结果传给UI线程,而不需要使用Thread和Handler。这样好用的一个类,显然可以在ListView异步加载图片时大显身手,本着这样的想法,笔者瞬间就完成了一段这样转载 2015-02-10 20:40:46 · 716 阅读 · 0 评论 -
Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面
本博文地址:http://blog.youkuaiyun.com/mylzc/article/details/6736988 转载请注明出处Android异步处理系列文章索引Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handle转载 2015-02-10 20:43:49 · 632 阅读 · 0 评论 -
AndroidManifest.xml中的minSdkVersion、targetSdkVersion、maxSdkVersion和project.properties中target API leve
AndroidManifest.xml中的minSdkVersion、targetSdkVersion、maxSdkVersion和project.properties中target API level 四个数值区别 新建工程的时候minSdk和target API level 是一致的(1)minSdkVersion与maxSdkVersion :在安装程序的时候,如果转载 2015-02-03 08:13:03 · 7572 阅读 · 0 评论 -
IntentService和Service高级应用
上一篇博客讲解了一下Android下Service组件的基本使用,对Service组件还不了解的朋友可以先去看看另外一篇Service基础的博客:Android--Service之基础。这篇博客讲解一下Service组件的一些需要注意的地方以及高级的应用,并用几个例子讲解一下本文中提到的功能,最后依然会提供示例源码下载。 既然是深入讲解Service,本片博客涉及的内容有点杂乱,这里列个转载 2014-12-12 17:56:27 · 1830 阅读 · 0 评论 -
Service跨进程的绑定和交互
前言 开篇名义,这篇博客介绍一下Android下使用绑定服务进行时数据交互的几种方法。关于Android下Service的内容,前面两篇博客已经介绍了,不清楚的可以移步过去先看看:Android--Service之基础、Android--Service之提高。 在前面的博客中已经介绍到了,对于Service组件而言,它只有在绑定模式下才可以与客户端进行时交互,这里讲解几个方法进行绑定服转载 2014-12-12 17:58:48 · 785 阅读 · 0 评论 -
为何Thread代替不了Service
1)Thread 是程序执行的最小单元,它是分配CPU的基本单位,可以用 Thread 来执行一些异步的操作。如果是Local Service,那么对应的 Service 是运行在主进程的main 线程上的。如果是Remote Service,那么对应的 Service 则是运行在独立进程的main 线程上。因此 Service不是线程! 2)Thread 的运行是独立于转载 2014-12-13 16:50:15 · 1819 阅读 · 0 评论 -
Android中的Handler, Looper, MessageQueue和Thread
前几天,和同事探讨了一下Android中的消息机制,探究了消息的发送和接收过程以及与线程之间的关系。虽然我们经常使用这些基础的东西,但对于其内部原理的了解,能使我们更加容易、合理地架构系统,并避免一些低级错误。对于这部分的内容,将分成4小节来描述:1.职责与关系2.消息循环3.线程与更新4.几点小结--------------------------转载 2014-12-13 21:41:01 · 435 阅读 · 0 评论 -
Java内部类使用总结
1.定义内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为static,可用public、protected、private修饰。(而外部类不可以:外部类只能使用publi和default)。2.分类在一个类(外部类)中直接定义的内部类(成员内部类)、局部内部类、静态内部类、匿名内部类。转载 2014-12-13 20:54:06 · 392 阅读 · 0 评论 -
Runnable并不一定新开线程
前面谈到过Threads与Runnable的区别,这里再补充一个特殊的区别。extends Thread一定新开一个线程,但Runnable不一定新开线程(所谓新开线程,指非UI线程):① 如果是implements Runnable,像extends Thread一样,是新开了线程。②如果是匿名Runnable对象new Runnable() {...},是把Runnab转载 2014-12-13 18:52:20 · 3623 阅读 · 0 评论 -
DisplayMetrics用法
Android 可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题。手机的分辨率信息是手机的一项重要信息,很好的是,Android 已经提供DisplayMetircs 类可以很方便的获取分辨率。下面简要介绍 DisplayMetics 类:Andorid.util 包下的DisplayMetrics 类提供了一种转载 2014-12-14 13:47:02 · 1470 阅读 · 0 评论 -
线程的两种玩法:extends Thread和implements Runnable
我们知道java中是不存在多继承的,如果一个类已经继承了父类,同时又想这个类有多线程功能,显然就不能通过再继承Thread类乃实现了,那么应该如何让这个类具有多线程功能呢?解决的办法就是通过让这个类再实现接口Runnable来实现,其中run方法是这个Runnable接口所声明的唯一方法。——从这里我们也学到了,java中废除了多重继承,其实是让你用“继承+实现”接口来代替多重继承。在ja转载 2014-12-13 18:27:10 · 1238 阅读 · 0 评论 -
Activty与Service通信的所有情况(相同进程、不同进程)
一、使用Messenger 上面的方法只能在同一个进程里才能用,如果要与另外一个进程的Service进行通信,则可以用Messenger。 其实实现IPC(Inter-Process Communication,进程间通信)的方式,还有AIDL,但推荐使用Messenger,有两点好处: 1. 使用Messenger方式比使用AIDL的方式,实现起来要简转载 2014-12-13 17:48:07 · 953 阅读 · 1 评论 -
Paint高级效果
在Paint中有很多的属性可以设置,比如可以设置阴影,颜色过滤等等,这些会产生不同的奇妙效果,今天就对各种属性探索一下。方法一:1 //设置绘制的颜色,a代表透明度,r,g,b代表颜色值。 2 setARGB(int a,int r,int g,int b); 这个不多说了,还有两个类似的方法,将设置alpha和rgb分割开来了。注意的是这里的a值是0~255的范围转载 2014-12-11 14:11:39 · 692 阅读 · 0 评论 -
Activity单例模式与onNewIntent
在Android应用程序开发的时候,从一个Activity启动另一个Activity并传递一些数据到新的Activity上非常简单,但是当您需要让后台运行的Activity回到前台并传递一些数据可能就会存在一点点小问题。首先,在默认情况下,当您通过Intent启到一个Activity的时候,就算已经存在一个相同的正在运行的Activity,系统都会创建一个新的Activity实例并显示出来转载 2014-11-22 23:42:43 · 6157 阅读 · 1 评论 -
用Eclipse签名并发布APK
生成apk最懒惰的方法是:只要你运行过android项目,到工作目录的bin文件夹下就能找到与项目同名的apk文件,这种apk默认是已经使用debug用户签名的。如果想要自己给apk签名:1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们转载 2014-12-11 10:35:51 · 3419 阅读 · 0 评论 -
Android Touch事件传递机制
Android Touch事件传递机制介绍Android Touch事件的传递机制。不少朋友私信问到这个问题,那就推荐一篇我看到的对传递机制介绍最清楚的国外文章吧。本文略作翻译。 1、基础知识(1) 所有Touch事件都被封装成了MotionEvent对象,包括Touch的位置、时间、历史记录以及第几个手指(多指触摸)等。 (2) 事件类转载 2014-12-19 20:59:38 · 515 阅读 · 0 评论 -
Android公共库(图片缓存、网络缓存、下拉及底部更多ListView公共类)
Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类介绍总结的一些android公共库,包含缓存(图片缓存、预取缓存、网络缓存)、公共View(下拉及底部加载更多ListView、底部加载更多ScrollView、滑动一页Gallery)、及Android常用工具类(网络、下载、shell、文件、json等等)。 TrineaAndroid转载 2014-12-19 20:57:43 · 593 阅读 · 0 评论 -
Trinea性能优化之数据库优化
性能优化之数据库优化http://www.trinea.cn/android/database-performance/本文为性能优化的第一篇——数据库性能优化,原理适用于大部分数据库包括Sqlite、Mysql、Oracle、Sql server,详细介绍了索引(优缺点、分类、场景、规则)和事务,最后介绍了部分单独针对Sqlite的优化。 性能优化专题已完转载 2014-12-19 20:06:06 · 452 阅读 · 0 评论 -
Android基础面试题
1、如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?当你的程序中某一个Activity A 在运行时中,主动或被动地运行另一个新的Activity B这个时候A会执行Java代码public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState);转载 2014-12-15 14:10:40 · 1312 阅读 · 0 评论 -
Handler多线程通信例子(post和sendMessage)
前言 Android的消息传递机制是另外一种形式的“事件处理”,这种机制主要是为了解决Android应用中多线程的问题,在Android中不允许Activity新启动的线程访问该Activity里的UI组件,这样会导致新启动的线程无法改变UI组件的属性值。但实际开发中,很多地方需要在 工作线程中改变UI组件的属性值,比如下载网络图片、动画等等。本篇博客主要介绍Handler是如何发送与处转载 2014-12-16 10:32:03 · 919 阅读 · 0 评论 -
GridView展示War3英雄
GridView就是先将控件横向显示,然后纵向显示效果如上所示先看一下GridView的布局文件?123456789101112131415xmlversion="1.0"encoding转载 2014-11-30 21:11:44 · 535 阅读 · 0 评论 -
关于dp,px深度解析
dip: device independent pixels(设备独立像素)。不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 与密度无关的像素,这是一个基于屏幕物理密度的抽象单位。密度可以理解为每英寸包含的像素个数(单位是dpi),1dp实际上相当于密度为160dpi的屏上的一个点(可否理解为物理尺寸?)。也就是说,如转载 2014-11-27 10:49:53 · 1037 阅读 · 0 评论 -
Android App全局变量Application
多个Activity都是一个APP进程的buto在Android中编写过程序的开发人员都知道。在Activity、等组件之间传递数据(尤其是复杂类型的数据)很不方便。一般可以使用Intent来传递可序列化或简单类型的数据。看下面的代码。 Intent intent = new Intent(this, Test.class); intent.putExt转载 2014-10-23 13:04:30 · 1296 阅读 · 0 评论 -
Android XML解析学习——创建XML
一.基础知识在前面的学习过程中,我们基本上比较全面的学习了Android平台上读取XML文档的方法,介绍了使用Java SAX、Android SAX、DOM和Pull等各种方式来读取XML文档内容。目前为止,我们一直专注于解析已有的XML文档,实际上我们也是需要读XML的情形比较多。但是我们可能也有写XML的需要,应用程序可能需要将 XML 发送到远程服务器,或者需要以XML的形式保存数转载 2014-10-23 13:04:12 · 545 阅读 · 0 评论 -
【UI布局】用XML的selector实现按钮样式自动切换
如果你曾经是一名WEB前台设计师,如果你曾经有过设计的功底,那么你很荣幸,如果你切到Android平台中,以前的知识和经验都能很好的移植到Android平台中。本人以为,学习是一个长期的积累过程,经验很重要,为什么有的人不管做神马生意都赚钱,因为他有经验,经验加上变通,就是智慧。布局是根本,不管在WEB设计还是在手机客户端设计中,都是如此。如果一开始局就没有布好,就算你的细节做得再精美,到转载 2014-08-23 17:29:37 · 1032 阅读 · 0 评论