
┣ Android ┫
文章平均质量分 85
billpig
这个作者很懒,什么都没留下…
展开
-
GreenDAO系列之(1)入门
关于greenDao简介greenDAO 是一个开源的ORM数据库框架。它帮助开发者从日常的数据库的读写sql语句中解放出来,开发者只需要关注具体的Java对象,就能够进行数据库的访问操作。greenDao features1.强大的性能,可能是ORM数据库中性能最好的。官方把greenDao和OrmLite、ActiveAndroid做的性能对比,数据如下:原创 2017-02-12 21:16:45 · 1527 阅读 · 0 评论 -
GreenDao系列之(2)设计及机制介绍
总体设计类图以下会分拆成两个部分进行说明: 1、总体机制部分 2、Sql操作细节部分总体机制可以看到,有几个重要的类: 1. AbstractDaoMaster : 总入口类,每个db有相应的AbstractDaoMaster去管理,一般情况下用于创建AbstractDaoSession,并且创建xxxDao的DaoConfig,然后交给AbstractSession进行xxxDao的实例创建原创 2017-02-14 18:34:51 · 1093 阅读 · 0 评论 -
Android内存(内存溢出 内存不足 内存低 )优化详解
本文转自:http://blog.youkuaiyun.com/wangqilin8888/article/details/7752528Android内存泄露前言 不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造转载 2012-07-23 14:04:54 · 5463 阅读 · 2 评论 -
Android优化之优化Java代码
1、如果需要用很多对象时可以使用Cache,经常写Java的人可能会使用HashMap去实现Cache,但当Key是Integer的值时,Android为我们定义了一个更有效率的一个类:SparseArray类,它具有比HashMap更高的效率。2、不同的API版本针对不同的功能已经做了优化,有些函数被弃用,启用新的调用函数,因此,在实现不同的API版本的时候,可针对不同的API进行不同程度的原创 2012-04-21 23:04:18 · 7615 阅读 · 2 评论 -
Ubuntu 10.04 LTS 安装 sun-java6-jdk 错误解决办法
Ubuntu 10.04 LTS 安装 sun-java6-jdk ,出现错误。Reading package lists... DoneBuilding dependency tree Reading state information... DonePackage sun-java6-jdk is not available, but is referred to by a转载 2012-03-09 12:39:21 · 2237 阅读 · 0 评论 -
使用internal(com.android.internal)和hidden(@hide)APIs – Part 1
Android有两种类型的API是不能经由SDK访问的。 第一种是位于com.android.internal包中的API。我将称之为internal API。第二种API类型是一系列被标记为@hide属性的类和方法。从严格意义上来讲,这不是一个单一的API,而是一组小的被隐藏的转载 2011-07-22 11:18:52 · 946 阅读 · 1 评论 -
使用internal(com.android.internal)和hidden(@hide)APIs – Part 3
在上一篇中,我已经展示了如何创建一个包含所有internal和hidden API的original-android.jar。 接下来的工作就是要修改已经存在的Android平台(SDK_DIR/platforms/platform-X/android.jar,X表示API等级)转载 2011-07-22 11:23:07 · 1311 阅读 · 0 评论 -
使用internal(com.android.internal)和hidden(@hide)APIs – Part 4
在上一篇文章里,我描述了如何创建一个自定义的original-android.jar,以及如何创建一个自定义的Android平台来使用这个original-android.jar。这对Hidden API来说足够了。但对Internal API来说,仍然还有一个包袱:Eclips转载 2011-07-22 11:26:20 · 1585 阅读 · 1 评论 -
使用internal(com.android.internal)和hidden(@hide)APIs – Part 2
在上一篇中,我解释了为什么我们不通过反射就会很难使用internal和hidden API。这是因为android.jar中就没包含这些API,因此,没人能够在编译时引用这些类。 这篇文章将描述如何还原最初的android.jar。这将允许我们像使用公开的API那样使用inter转载 2011-07-22 11:20:43 · 1060 阅读 · 0 评论 -
Android开发学习收藏文章
http://marshal.easymorse.com/archives/2950转载 2011-07-21 14:53:30 · 114 阅读 · 0 评论 -
底层调用 Web Services
以前一直把Web Services说在嘴边,都没亲自去试验下,或者都是通过别人的API去调用,没有从底层去实验,今天病好很多,下午也闲来无事,便把这个一直留在心里的任务给完成了,以满足自己。 Web Services的原理我就不仔细说了,可以参考一本《Web Services技术、架构和应用》,书虽有点厚,但很经典。 本文调用http://www.webxml.com.cn/zh_cn/index.aspx提供的Web Services,该网站提供了几种WEB服务。本文以手机原创 2011-02-10 22:40:00 · 1665 阅读 · 0 评论 -
Android平台下实现渐变效果
<br />Android平台下实现渐变效果。在android.graphics中我们可以找到有关Gradient字样的类,比如LinearGradient 线性渐变、RadialGradient径向渐变和 角度渐变SweepGradient 三种,他们的基类为android.graphics.Shader。为了显示出效果,使用一个简单的例子来说明。<br />一、LinearGradient线性渐变<br />在android平台中提供了两种重载方式来实例化该类分别为,他们的不同之处为参数中第转载 2011-01-31 23:01:00 · 3444 阅读 · 0 评论 -
更严格的手机号码正则表达式写法
文章转自:http://ipc.javaeye.com/blog/689257要更加准确的匹配手机号码只匹配11位数字是不够的,比如说就没有以144开始的号码段, 故先要整清楚现在已经开放了多少个号码段,国家号码段分配如下: 移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188 联通:130、131、132、152、155、156、185、186 电信:133、153、180、189、(1349卫通)详见:[url=http://blog.my转载 2011-01-31 23:10:00 · 2311 阅读 · 0 评论 -
纪念自己进入Android 应用开发中国大学生挑战赛复赛
<br /> 2010年11月25日,宿舍的勇哥告诉我Google Android 应用开发中国大学生挑战赛复赛的结果出来了,便去看了,首先迅速查找自己的程序,眼前一亮,嘿嘿~~~也看勇哥的作品有没上,哎,可惜了,毕竟我觉得那是一个非常不错的应用,应该是服务端出问题了,要不应该也能上,这届感觉有些作品进复赛有些勉强。<br /> 这次作品花了我差不多一个月的时间,几乎每天都在写代码,在某一阶段也经常翘课写代码,有时候感觉代码写到腰都酸死了。这次的作品本来想做一个活动管理+活动分享程序,由于无原创 2010-11-25 22:26:00 · 1488 阅读 · 1 评论 -
Android doc 之应用程序基础
由于发现市面上的Android教程很肤浅,还是官方的文档比较好。从今天开始,重新看一遍Android的官方文档,深入了解Android的体系结构应用程序基础Android应用程序是通过Java语言编写的。这些被编译的Java代码,还有应用程序所需要的其他数据和资源文件,通过app翻译 2010-12-03 15:22:00 · 1235 阅读 · 0 评论 -
Android Doc学习之Service
Service,简单的理解就是一个没有UI界面的应用程序组件,它适合于执行长时间运行的操作。它有两种形式:1、Started:通过startService()启动,一旦启动,如果没有显式stop的话,它就会一直执行下去,即使程序退出2、Bound:通过bindService()启原创 2011-07-21 17:15:00 · 1310 阅读 · 0 评论 -
使用internal(com.android.internal)和hidden(@hide)APIs – Part 5
为了能够使用Internal和Hidden API,你需要: 1. 创建自定义的original-android.jar,包含所有的.class文件 2. 创建自定义的Android平台来使用original-android.jar 3. 修改ADT插件,允许使用com.andr转载 2011-07-22 11:28:39 · 1421 阅读 · 0 评论 -
如何向android的framework里添加新类
google对于所有的类和API,分为开放式和不开放式两种。所谓的开放式就是值javadoc所包含的,并不是java中有public和private,而是跟javadoc有关系,代码 没有关系。在开放式的类中增加了一个变量,而又没隐藏,导致和原API的doc不一致造成的就会有错。通过提示,有2个方法可以解决 该问题:1、将新增加的变量或方法加上"@hide" 的注释,注意一点,加"@h转载 2012-03-06 11:21:22 · 269 阅读 · 0 评论 -
ubuntu 更换 jdk
Ubuntu 很有趣的采用 OpenJDK 作为预设的 Java 版本,但因为某些缘故,往往我们需要更换成 Sun Java,例如更换成 JDK 1.5 或 JDK 6。此时,有两种方式可以使用:方法一:分別修改 java、javac (compiler) 及 javah 這三个程序指向的版本。sudo update-alternatives --config原创 2011-12-13 16:44:25 · 2629 阅读 · 1 评论 -
Android 唯一识别码
本文转载自:http://blog.youkuaiyun.com/billpig/article/details/6728573我们在项目过程中或多或少会使用到设备的唯一识别码,我们希望能够得到一个稳定、可靠的设备唯一识别码。今天我们将介绍几种方式。 1. DEVIC原创 2011-08-29 12:48:43 · 24054 阅读 · 6 评论 -
Android 多线程文件下载
原理一:HTTP多线程下载原理1、发送一个含有Rang头的Head请求,如果返回状态码为206,则允许多线程下载 原理二:多线程下载原理1、使用HttpClient的Head请求获取请求文件的信息2、发送一个Rang的Head请求判断是否允许多线程下载3、原创 2011-09-16 11:41:36 · 6211 阅读 · 4 评论 -
选择对话框:自定义组合控件+自定义对话框 实现
由于项目的需要,需要用到选择对话框,虽然可以使用系统自带到控件就可以实现,但是从长远的角度上去看,还是不利于本项目的发展,于是自己做了一个自定义的控件,使用到了组合控件,顺便也学习了下组合控件的创建。自定义控件有多种方式,具体就不提及了,本次俺只使用组合控件,先上个图,让大家原创 2011-08-05 20:59:21 · 9701 阅读 · 4 评论 -
Tips from Android SDK Articles
本文的内容均来自SDK文档Resources下的Articles,本文对一些比较有用、常用的知识做一个简要的总结。1、避免内存泄露Context经常用来加载访问各种Resources,这就是为什么很多控件在创建的时候都要传入一个Context的原因。我们的程序大多数会使用原创 2011-08-09 17:19:20 · 5269 阅读 · 2 评论 -
ViewPager example -实现左右两个屏幕的切换
起初最早接触到左右两个屏幕切换的是在 《创新源于模仿之三:实现左右两个屏幕的切换》 这篇文章上,感谢作者为我们提供了这么好的DEMO。什么是ViewPager呢?它是实现左右两个屏幕平滑地切换的一个类,它是Google提供的,作为Android的一个补原创 2011-08-01 13:58:30 · 33306 阅读 · 19 评论 -
TabActivity探索
最近在做项目的时候,由于公司使用到TabActivity去做分页,之前自己一直是使用自定义按钮去做分页的。既然公司使用TabActivity,索性也就用它去尝试下跳转及探索下其他功能。关于TabActivity,也就不介绍了,本文只介绍更深入更有趣到内容,了解的知识请Goog原创 2011-07-29 23:47:03 · 6128 阅读 · 3 评论 -
风格化的 Toggle Buttons
目标: Android到默认UI比iOS到默认UI在美观程度上还是有一定到差距的,我们希望能够美化UI,并且替换掉系统默认的UI风格,使得程序在使用这些UI的时候都默认使用我们自定义到UI。本文以ToggleButton为例,介绍如何使用,下图是效果图。步骤:1、设置XML属性我原创 2011-07-26 13:44:01 · 16462 阅读 · 7 评论 -
Intent Filter匹配
应用程序的组件为了告诉Android自己能响应、处理哪些隐式Intent请求,可以声明一个甚至多个Intent Filter。每个Intent Filter描述该组件所能响应Intent请求的能力——组件希望接收什么类型的请求行为,什么类型的请求数据。比如之前请求网页浏览器这个例子中,网页浏览器程序的Intent Filter就应该声明它所希望接收的Intent Action是WEB_SEARCH_ACTION,以及与之相关的请求数据是网页地址URI格式。如何为组件声明自己的Intent Fil原创 2010-09-27 16:51:00 · 775 阅读 · 0 评论