- 博客(102)
- 收藏
- 关注
android开源项目总结
Android开源项目分类汇总 第一部分 个性化控件(View)主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、 GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、 FlipView、ColorPickView、...
2014-08-13 16:46:47 381
Android捕获全局异常信息并实现上传
在做项目时,经常会把错误利用异常抛出去,这样在开发时就可以通过手机抛出的异常排查错误。但是当程序开发完毕,版本稳定,需要上线时,为了避免抛出异常影响用户感受,可以用UncaughtExceptionHandler捕获全局异常,对异常做出处理。比如我们可以获取到抛出异常的时间、手机的硬件信息、错误的堆栈信息,然后将获取到的所有的信息发送到服务器中,也可以发送到指定的邮件中,以便及时修改bug。...
2014-01-08 14:00:51 161
android webkit 内核
关于android内核的一些基础知识,更详细请见附件一、WebKit简介WebKit是一个开源的浏览器网页排版引擎,包含WebCore排版引擎和JSCore引擎。WebCore和JSCore引擎来自于KDE项目的KHTML和KJS开源项目。Android平台的Web引擎框架采用了WebKit项目中的WebCore和JSCore部分,上层由Java语言封装,并且作为API提供给A...
2013-12-22 19:44:13 197
android 在一个应用中启动另一个应用
在程序开发过程当中,常遇到需要启动另一个应用程序的情况,比如在点击软件的一个按钮可以打开地图软件。如果既有包名又有主类的名字,那就好 办了,直接像下面就行:[html] Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); Com...
2013-10-18 14:37:25 1298
Android触摸事件分发机制
最近做了一个类似桌面应用图标可以点击,长按拖动效果,然后研究了下android触摸事件机制。Android中的事件分为按键事件和触摸事件,这里对触摸事件进行阐述。Touch事件是由一个ACTION_DOWN,n个ACTION_MOVE,一个ACTION_UP组成onClick,onLongClick,onScroll等事件。Android中的控件都是继承View这个基类的,而控件分为两种:一...
2013-09-20 16:45:04 111
android图片的异步加载和双缓存学习笔记——DisplayImageOptions
DisplayImageOptions 用于设置图片显示的类。 1.此类的功能: 1 //设置图片在下载期间显示的图片 2 showStubImage(R.drawable.ic_launcher) 3 4 //设置图片Uri为空或是错误的时候显示的图片 5 showImageForEmptyUri...
2013-07-03 15:20:32 101
android layout_weight 使用总结
今天在使用androidlayout_weight的时候遇到点奇怪的问题,就上网查了一下,发现这篇文章很详细,就转了过来,谢谢分享者,写的很详细。 在 android开发中LinearLayout很常用,LinearLayout的内控件的android:layout_weight在某些场景显得非 常重要,比如我们需要按比例显示。android并没用提供table这样的控件,虽然有Tab...
2013-05-29 14:55:21 80
原创 JAVA多线程与并发学习总结
1. 计算机系统使用高速缓存来作为内存与处理器之间的缓冲,将运算需要用到的数据复制到缓存中,让计算能快速进行;当运算结束后再从缓存同步回内存之中,这样处理器就无需等待缓慢的内存读写了。缓存一致性:多处理器系统中,因为共享同一主内存,当多个处理器的运算任务都设计到同一块内存区域时,将可能导致各自的缓存数据不一致的情况,则同步回主内存时需要遵循一些协议。乱序执行优化:为了使得处...
2013-05-25 19:55:37 66
面向对象设计原则与设计模式
公司的技术分享会上,和大家分享了一下面向对象七大设计原则与设计模式之间的联系以及运用。现在也拿出来分享给大家,希望高手们批评指正。详细PPT见附件。...
2013-05-07 16:22:27 184
android进程间通信:AIDL
欢迎阅读本文,你能关注本文,你知道你需要进程间通信、需要AIDL(以及Binder),那么可以默认你对这些概念已经有了一些了解,你(大致)知道它们是什么,它们有什么用,所以为了节约大家的眼力和时间,在此我不复制粘贴网上泛滥的博客或者翻译冗长的android文档。 关于AIDL的介绍在文档:docs/guide/developing/tools/aidl.html ...
2013-05-04 09:57:17 71
Activity堆栈管理
task就好像是能包含很多activity的栈。 默认情况下,一个activity启动另外一个activity时,两个activity是放在同一个task栈中的,第二个activity压入第一个 activity所在的task栈。当用户按下返回键时,第二个activity从栈中弹出,第一个activity又在当前屏幕显示。这样,从用户角度来看,这两个activity就好像是属于同一个应用程序的,...
2013-05-03 17:55:10 293
android监听虚拟键盘隐藏和显示事件
刚开始在onconfigurationChanged中监听,结果发现该方法在configuration变化即配置文件发生变化时才会被调用,如横竖屏切换,android重新载入配置文件时。而键盘隐藏不会触发该方法。后来采用如下方法完美解决了键盘隐藏监听事件。 //该Activity的最外层LayoutfinalView activityRootView = findViewB...
2013-04-27 17:09:02 396
onSaveInstanceState和onRestoreInstanceState触发的时机
先看Application Fundamentals上的一段话: Android calls onSaveInstanceState() before the activity becomes vulnerable to being destroyed by the system, but does not bother calling it when the instance is ...
2013-04-26 14:09:22 84
java中自动实现生产者消费者模式的队列
/** 本例介绍一个特殊的队列:BlockingQueue,如果BlockQueue是空的,从BlockingQueue取东西的操作将会被阻断进入等待状 态,直到BlockingQueue进了东西才会被唤醒.同样,如果BlockingQueue是满的,任何试图往里存东西的操作也会被阻断进入等待状 态,直到BlockingQueue里有空间才会被唤醒继续操作. 本例再次实...
2013-03-22 13:54:41 298
android中使用线程池和临时缓存优化网络图片加载
研究了android从网络上异步加载图像:(1)由于android UI更新支持单一线程原则,所以从网络上取数据并更新到界面上,为了不阻塞主线程首先可能会想到以下方法。 在主线程中new 一个Handler对象,加载图像方法如下所示查看源码 打印?01private void loadImage(final String url, ...
2013-03-19 15:43:01 183
android adapter中到converView机制
以前一直在用BaseAdapter,对于其中的getview方法的重写一直不太清楚。今天终于得以有空来探究它的详细机制。下面先讲讲我遇到的几个问题:一.View getview(int position, View convertview, ViewGroup parent )中的第二个参数是什么含义;二.View的SetTag和getTag方法的用途;先来解决第一个问题:android SDK...
2013-03-11 17:20:34 333
android面试题收集
1. 请描述下Activity的生命周期。2. 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?3. 如何将一个Activity设置成窗口的样式。(Edited by Sodino)4. 如何退出Activity?如何安全退出已调用多个Activity的Application?5. 请介绍下Android中常...
2013-03-11 09:34:06 93
java中如何避免空指针异常
java中的空指针是最常见的错误之一,要尽量避免空指针异常,首先在使用对象前,先对其进行初始化。另外,要完全避免空指针,最好做到以下几点: 1:对于所有 public 方法传入的对象参数进行 null 值检查 2:对于所有从数据库获取的对象进行 null 值检查 3:对于所有从网络、IO 中获取的数据(对象)进行 null 值检查 同时,也要注意编码的形式,如:有时检察输入的Strin...
2013-03-08 17:12:37 197
提高编程效率总结
从毕业到现在,从事android编程已经3年了。3年的编程经验,从一个菜鸟成长为一名还算合格的工程师,下面是这几年编程经验的一些体会: 个人认为,菜鸟和大牛的区别,就在于编程的效率,一个菜鸟,让他天天百度谷歌,拼凑一些乱七八糟的代码,也能写出一个应用来。大牛的区别就在于,能将一个菜鸟一个月做完的事,一个星期内就把它做完。能将菜鸟用十万行代码做出来的东西,用一万行...
2013-03-07 17:42:40 134
java中的try-catch finally执行顺序
先看一个没有finally的异常处理try-catch语句:假设count为要使用到的资源,并且用完要求释放此资源。那么我们可以把释放资源的语句放到try-catch后执行,当前的程序不管是在执行完try语句块还是catch语句块,都会顺序执行到下面释放资源的语句。int count = 0; //初始化资源try{ count++; if(count == 1) throw new Ex...
2013-03-03 20:45:02 72
ContentObsever类浅析
ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理,它类似于 数据库技术中的触发器(Trigger),当ContentObserver所观察的Uri发生变化时,便会触发它。触发器分为表触发器、行触发器, 相应地ContentObserver也分为“表“ContentObserver、“行”ContentObserver,...
2013-03-01 18:16:06 175
原创 使用PhoneGap开发Android程序小记
PhoneGap实在是伟大!当然在此之前是HTML5/CSS3/JS很伟大,可以做出那么酷的应用,然后变成本地应用才有意义。简介PhoneGap是一款开源的手机应用开发平台,它仅仅只用HTML和JavaScript语言就可以制作出能在多个移动设备上运行的应用。 PhoneGap将移动设备本身提供的复杂的API进行了抽象和简化,提供了一系列丰富的API供开发者调用,只要你会HTML和J...
2013-02-26 11:27:55 74
原创 Android的webview研究
最近做的项目大量用到了 webview ,用网页来布局。 Android 的 webview 是基于 webkit 内核,不过他的运行效果和 firefox 上一模一样,所以写的时候都是先用 firefox 测试,测试 OK 了再放到程序里面看效果,基本上不会有什么问题。其实 android 的 webview 跟 iphone 的 webview 差不多, iphone上的 webview 比...
2013-02-23 09:24:05 78
Android WebView详解(加速加载篇)
当我们在使用WebView时,如果加载的网友比较大,这加载速度将非常慢。现总结几种加速WebView加载的方法1、提高渲染的优先级webView.getSettings().setRenderPriority(RenderPriority.HIGH);2、使用webView.getSettings().setBlockNetworkImage,把图片加载放在最后来加载渲染。参照...
2013-02-19 14:03:08 1411
原创 Android的WebView控件载入网页显示速度慢的究极解决方案
Android客户端中混搭HTML页面,会出现虽然HTML内容载入完成,标题也正常显示,但是整个网页需要等到近5秒(甚至更多)时间才会显示出来。研究了很久,搜遍了国外很多网站,也看过PhoneGap的代码,一直无解。一般人堆WebView的加速,都是建议先用 webView.getSettings().setBlockNetworkImage(true); 将图片下载阻塞,然后在浏览器的On...
2013-02-19 10:16:45 156
原创 android SeekBar美化的问题
①:SeekBar的背景图片和进度的填充图片无法重叠 --- 未解决首先第一个问题是SeekBar使用图片美化,有一个是background的图片,还有一个progress的图片,但是发现用了图片之后两个图片明明尺寸大小一样却无法重叠,progress的图片可以正常垂直居中,而背景图片却没法垂直居中。bgpg结果效果如下:(问题竟然没法重现,我勒个去)。没有找到解...
2013-02-02 18:28:43 290
Android自定义对话框(Dialog)位置,大小
package angel.devil; import android.app.Activity; import android.app.Dialog; import android.os.Bundle; import android.view.Gravity; import android.view.Window; ...
2012-10-16 16:29:09 434
eclipse 不能自动编译源文件 导致web-info classes文件夹下没有自己码文件
1. 确保 project->build automatically 已经被选上. 2. 如果选上了,也不好使, 使用这一招: project->clean..->选第2个clean select project, 勾上start build immediatelly 3.删除现在的项目,提前设置好编译文件输出路径,重新导入源文件,设置eclipse为保存时编译,然后在保存...
2012-09-13 10:55:12 142
Java与XML(三)web上的读写应用
利用(二)中我写的两个函数(放在package src中),这次实现web页面的操作。index.html:<%@ page language="java" pageEncoding="GB2312"%><body><p>&nbsp;</p><p>&nbsp;</p>&a
2012-09-10 11:01:31 55
Java与XML(二)用java编写xml的读写程序
这是读取xml文件的java程序,我调试好的。采用的是dom方式读取xml文件到Vector中。package src;import java.io.*;import java.util.Vector;import javax.xml.parsers.*;import org.w3c.dom.*;public class readxml { static Document document; pr...
2012-09-10 10:56:53 95
WebView完全退出flash
import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.webkit.WebSettings;impo...
2012-09-09 17:28:59 103
原创 android中返回登陆页
前言 Android项目中一旦涉及到登录就基本会遇到这个问题:打开多个Activity之后再登录超时的情况下如何才能跳转到登录界面,参见帖子这里。暂时没有完美解决方案,本文是对该帖子的补充说明: 声明 欢迎转载,但请保留文章原始出处:) 农民伯伯: http://over140.blog.51cto.com/ 正文 一、流程截图 二、问题说明...
2012-09-09 12:00:13 361
原创 ProGuard总结和混淆Android代码中遇到的问题的解决方法以及寻找getSomething游戏
先说点题外的,前一秒我心想干点什么呢,想到写篇博文吧,最近写的频率有点低了。另外标题有点长了。进正文。前些日子几次遇到ProGuard的问题,想偷个懒,没好好RTFM,后来通读了一下ProGuard的Manual,有点收获,总结一下。主要是读了Usage部分,http://proguard.sourceforge.net/#manual/usage.html命令:java -jar...
2012-09-06 17:45:48 96
android打包apk流程
最近研究了一下Android打包apk的流程,简要描述一下。我们可以跟随android的sdk目录下的tools/ant/build.xml文件的描述来一窥打包apk流程究竟。首先这是用ant打包的过程,eclipse打包流程应该大抵一样。用ant打包前,如果project不是用ant创建的,先需要执行android update project -p /path/to/project。该...
2012-09-06 17:38:14 113
命令行中通过ant打包apk
参考自:http://developer.android.com/guide/developing/building/building-cmdline.html 第一步:安装ant,从官网下载最新版ant并解压缩,配置ant环境变量,ant_home和path第二步:在cmd下切换到项目根目录,执行以下命令: android update project -t 14 -p E:\...
2012-09-06 16:21:02 149
通过Ant将android project打包成apk并安装到手机
本文简要介绍如何通过Ant脚本Android project编译打包成APK文件并安装到手机。主要步骤:1生成R.java类文件:利用ant和命令行使用android SDK提供的aapt.ext程序生成R.java。2将.aidl文件生成.java类文件:利用ant和命令行使用android SDK提供的aidl.exe生成.java文件。3第三步 编译.java类文件生成class文件...
2012-09-05 16:47:34 104
原创 js中的this
this是Javascript语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如, function test(){ this.x = 1; }随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。下面分四种情况,详细讨论this的用法。情况一:纯粹的函数调用这是...
2012-08-31 17:07:33 53
JS中的匿名函数的用法及优缺点
JS中的匿名函数的用法及优缺点匿名函数可以有效的保证在页面上写入Javascript,而不会造成全局变量的污染。这在给一个不是很熟悉的页面增加Javascript时非常有效,也很优美。一、什么是匿名函数? 在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面...
2012-08-31 15:07:59 3123 1
java中的浅拷贝和深拷贝
首先我们看看浅拷贝和深拷贝的定义 浅拷贝:只复制一个对象,对象内部存在的指向其他对象数组或者引用则不复制 深拷贝:对象,对象内部的引用均复制 为了更好的理解它们的区别我们假设有一个对象A,它包含有2对象对象A1和对象A2 对象A进行浅拷贝后,得到对象B但是对象A1和A2并没有被拷贝 对象A进行深拷贝,得到对象B的同时A1和A2连同它们的引用也被拷贝 在理解了深拷...
2012-07-23 17:56:53 50
android中的push机制实现:android push notification serfice
APNS 是什么? APNS (Android Push Notification Service) 是一种在 android 上轻松实现 push notification 的功能的解决方案. 只需申请一个 API Key, 经过简单的步骤即可实现 push notification 的功能. 特点:快速集成:提供一种比C2DM更加快捷的使用方式,避免各种限制.无需架设服务...
2012-07-21 15:27:23 525
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人