- 博客(158)
- 资源 (12)
- 收藏
- 关注
原创 j2ee入门01——从一个简单例子开始
本系列打算从最基础开始,详细介绍j2ee开发技术的原理及相应框架; 本文例子来自如下文章《Java Servlet 技术简介》。 本文qian1 servlet 简介1.1 servlet 的作用当使用交互式 Web 站点时,您所看到的所有内容都是在浏览器中显示的。在这些场景背后,有一个 Web 服务器接收会话 中来自于您的请求,可能要切换到其他
2014-10-13 00:05:21
887
转载 android基础知识42:使用内部(com.android.internal)和隐藏(@hide)API —— 定制ADT
在前面的文章中,我讲述了如何创建定制的original-android.jar和创建定制的android平台以使用original-android.jar。这仅仅能够使用隐藏API,还为内部API留有一个障碍: ADT。ADT定义了一个规则禁止使用来自com.android.internal的类。有几种方法可以越过该限制规则:1)完整的ADT源代码可以下载,可以移除或者
2013-01-20 19:17:19
1376
转载 android基础知识42:使用内部(com.android.internal)和隐藏(@hide)API —— 定制android平台
在前一篇文章中我展示了如何创建定制的original-android.jar,包含内部API和隐藏API中的所有类。接下的步骤很明显,就是修改现有的android平台(SDK_DIR/platforms/platform-X/android.jar)。您可以简单的用第2部分创建的original-android.jar替换android.jar,但这样您的所有工程都能够无限制的使用内部AP
2013-01-20 19:09:12
1086
转载 android基础知识42:使用内部(com.android.internal)和隐藏(@hide)API ——定制android.jar
在前一篇文章中,我解释了为什么不通过反射机制,不太容易使用com.android.internal包的内部API和标记为@hide的隐藏API,这是由于android.jar文件没有包含内部API和隐藏API的类,这样在编译时刻就没有办法引用这些类了。本文将说明如何恢复原始的android.jar,这样就可以使用内部API和隐藏API了,就如同使用公开API一样。如何获得原始(未裁
2013-01-20 19:06:13
1297
转载 android基础知识42:使用内部(com.android.internal)和隐藏(@hide)API ——介绍
Android有两类API在SDK中不能使用。第一类就是位于包com.android.internal的API,我将这些API称为内部API。第二类API就是用@hide标记的类和函数,虽然严格说这不是一个API而是一系列隐藏API的集合,我仍然假定这是一个API,称为隐藏API。隐藏API的例子你阅读android的源码,就会发现有些常量、函数和类标记为@hide.
2013-01-20 19:01:52
2158
转载 android基础知识41:android apk反编译和odex转dex
大家好,这里介绍apk反编译操作:1:apk反编译2:odex转dex操作环境:ubuntuA:apk反编译.到code.google上下载apktool.jar以及相关文件:http://code.google.com/p/android-apktool/downloads/list点击下载apktool-1.0.0.tar.bz2 和apktool-in
2013-01-20 18:52:53
1444
转载 android基础知识40:Android网络连接
1、android网络连接的类型2、判断网络是否连接3、监听网络4、网络有问题时提示用户设置网络5、添加中国移动代理1、android网络连接的类型很多朋友在android开发中,都会遇到手机网络类型判断,因为就目前的android平台手机来说:可能会存在4中状态 1.无网络(这种状态可能是因为手机停机,网络没有开启,信号不好等原因)
2013-01-07 00:17:13
1476
转载 android基础知识30:Dialog02——showDialog()、onPrepareDialog()和onCreateDialog()的关系
Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过 getOwnerActivity()方法返回该Activity管理的对话框(dialog).
2013-01-04 23:29:58
1207
转载 android基础知识39:App列表之拖拽ListView
研究了很久的拖拽ListView的实现,受益良多,特此与尔共飨。 鉴于这部分内容网上的资料少而简陋,而具体的实现过程或许对大家才有帮助,为了详尽而不失真,我们一步一步分析,分成两篇文章。 一、准备。1.需求问题 初步:实现列表的拖拽效果(可参考Android源码下packages/apps/Music中的播放列表TouchInterceptor.java
2012-12-13 23:14:02
1336
转载 android基础知识38:ant 01——编写ant:build.xml的方法
ant 是apache的java子项目"jakarta"的子项目.你可以选择当前的版本,,window版解压后ant_home用来方便访问。并确保你也设置了java_home 。set ant_home=D:\java\kit\ant\jakarta-ant-1.5.1 这是我的目录 hello ant我们要开发一个java类:其内容只有一句,输出"hello ant"字符串。并使
2012-12-12 21:35:00
1847
转载 android基础知识12:android自动化测试08—Emma 进行覆盖测试
引言EMMA 是一个开源、面向 Java 程序测试覆盖率收集和报告工具。它通过对编译后的 Java 字节码文件进行插装,在测试执行过程中收集覆盖率信息,并通过支持多种报表格式对覆盖率结果进行展示。 EMMA 所使用的字节码插装不仅保证 EMMA 不会给源代码带来“脏代码”,还确保 EMMA 摆脱了源代码的束缚,这一特点使 EMMA 应用于功能测试成为了可能。注意:在
2012-12-12 17:09:24
2797
转载 android基础知识12:android自动化测试07—EclEmma 进行覆盖测试
覆盖测试是衡量测试质量的一个重要指标。在对一个软件产品进行了单元测试、组装测试、集成测试以及接受测试等繁多的测试之后,我们能不能就此对软件的质量产生一定的信心呢?这就需要我们对测试的质量进行考察。如果测试仅覆盖了代码的一小部分,那么不管我们写了多少测试用例,我们也不能相信软件质量是有保证的。相反,如果测试覆盖到了软件的绝大部分代码,我们就能对软件的质量有一个合理的信心。本文将介绍一个优秀的开源软件
2012-12-12 15:42:47
1466
转载 android基础知识12:android自动化测试06—Instrumentation 06 adb shell am
[adb shell am instrument]注意:-e选项需要放在-w选项之前-w / (和在测试工程的AndroidManifest.xml中查找)作用:保持adb shell打开直至测试完成举例:-w com.android.phone.tests/com.android.phone.runners.FunctionalTestRunner-e 作用:提供了以
2012-12-12 14:57:19
3453
转载 android基础知识12:android自动化测试07 启动测试
[adb shell am instrument]注意:-e选项需要放在-w选项之前-w / (和在测试工程的AndroidManifest.xml中查找)作用:保持adb shell打开直至测试完成举例:-w com.android.phone.tests/com.android.phone.runners.FunctionalTestRunner-e 作
2012-12-12 14:42:44
276
转载 android基础知识37:BitmapFactory.Options
BitmapFactory.Options这个类的信息:http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html;其相关信息如下:这个表格是从android sdk文档里摘出来的,简单看一下说明就明白是什么意思了。下面我们回到我们的主题上来:怎样获取图片的大小?思路很
2012-12-10 23:34:53
5690
转载 android基础知识37:BitmapFactory.Options
BitmapFactory.Options这个类的信息:http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html;其相关信息如下:这个表格是从android sdk文档里摘出来的,简单看一下说明就明白是什么意思了。下面我们回到我们的主题上来:怎样获取图片的大小?
2012-12-10 23:31:14
177
原创 android Launcher源码解析07:Workspace 02——设置壁纸
本文分为两个部分,第一部分介绍launcher中如何设置壁纸;第二部分介绍WallpaperChooser; 1、设置壁纸 长按 Home 可以弹出下面的 Dialog(图 1) 其中有一项就是选择 “壁纸”,当选择之后,出现一个选择器(不是 Dialog)哟!(图 2)这个时候,你可以选择是一般的壁纸,还是比较炫的动态壁纸或者是从设备中寻找存在
2012-12-10 22:41:23
2478
原创 android Launcher源码解析07:Workspace 01——概述
launcher最重要部分是几个屏幕,其中涉及到一个Workspace布局。Workspace的主要功能是完成多个屏幕及壁纸的显示,同时完成屏幕之间的切换及壁纸添加。1、初始化/** * Used to inflate the Workspace from XML. * * @param context The application's context.
2012-12-10 00:02:29
2290
转载 android基础知识36:VelocityTracker
翻译自:http://developer.android.com/reference/android/view/VelocityTracker.html参照自: http://blog.jrj.com.cn/4586793646,5298605a.html android.view.VelocityTracker主要用跟踪触摸屏事件(flinging事件和其他gestures手势事
2012-12-09 23:11:28
868
转载 android基础知识35:Interpolator
做了些动画,发现动画都有一个Interpolator的属性,它到底是个啥东西? 网上也有很多解释Interpolator的文章,基本上都是停留在直接翻译SDK的意思层面上。看了,也就明白一个大概。 Interpolator英文意思是: 篡改者; 分类机; 校对机 SDK对Interpolator的描述是:An interpolator defines the rate
2012-12-09 22:37:03
1435
原创 android Launcher源码解析06:长按桌面添加图标
在原生launcher中,长按桌面会触发很多种行为。其分类包括:1、空白桌面;2、桌面内容(文件夹、快捷方式、文件夹等);3、桌面既有控件(左右两个屏幕切换按钮,all app list按钮)等;因此我们很容易理解Launcher.java文件中onLongClick函数的行为:public boolean onLongClick(View v) { switch (v.g
2012-12-09 21:29:21
1873
转载 android Launcher源码解析05:CellLayout
CellLayout的设计主要为了存放大小不一的控件。为了更好的控制item的添加和删除,选择直接继承ViewGroup来实现该控件。我们长按桌面的时候,有两种情况,一种是我们按的是一个item,还有一种是我们按的是一个空的位置。这里,就有一个问题。1、我怎么知道当前按下的位置上是空白区域还是item呢?2、就算我知道了当前的位置坐标,我又如何知道当前的坐标属于哪个单元格呢
2012-12-09 19:52:51
832
转载 Thinking in Java:第十八章 JAVA I/O 系统
第一次看这一章,没怎么看懂,很头大,网上找到一篇很简单的总结文档,比较适合初学者。 JAVA_IO流学习总结.pdf 当然,在看这篇文章之前,先看一下如下内容: 我不知道各位是师弟师妹们学java时是怎样的,就我的刚学java时的感觉,java.io包是最让我感到一头雾水的。所以现在这篇文,尽可能简单地描述java.io包的结构,希望对java.io同样一
2012-12-05 16:57:24
557
转载 android基础知识34:android手机定位技术概述
目前主流定位技术分为3种:GPS定位、基站定位和Wifi定位。GPS篇GPS是英文Global Positioning System(全球定位系统)的简称,而其中文简称为“球位系”。GPS是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统 。其主要目的是为陆、海、空三大领域提供实时、 全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的,经
2012-11-29 16:34:50
1300
原创 android Launcher源码解析04:DeleteZone
DeleteZone是launcher中比较简单的一部分,其操作为长按桌面上某个图标后,会出现如下内容:1)dock栏消失;2)原dock栏位置出现一个垃圾箱图案;将该图标拖动到垃圾箱位置后,会发现如下内容:1)垃圾箱图标变为打开;2)垃圾箱周围出现一片红色区域;3)图标变为红色;将该图标放到垃圾箱位置后,该图标会被从桌面中删除; 查看DeleteZone的源码,只要
2012-11-20 00:28:43
1126
原创 Thinking in Java:第十四章 类型信息
运行时类型信息使得你可以在程序运行时发现和使用类型信息。14.1 为什么需要RTTI 在java中,所有的类型转换都是在运行时进行正确性检查的。这也是RTTI的含义:在运行时,识别一个对象的类型。14.2 Class对象 Class对象就是用来创建类的所有的”常规“对象的。 所有的类都是在第一次使用时,动态加载到JVM中的。当程序创
2012-10-30 22:16:06
837
转载 Java基础01:常用 Java 静态代码分析工具的分析与比较
1、引言 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷。Java 静态代码分析(static code analysis)工具能够在代码构建过程中帮助开发人员快速、有效的定位代码缺陷并及时纠正这些问题,从而极大地提高软件可靠性并节省软件开发和测试成本。目前市场上的 Java 静态代码分析工具种类繁多且各有千秋,因此本文将分别介绍现有 4 种主
2012-10-29 16:44:59
637
原创 Thinking in Java:第十三章 字符串
可以证明,字符串操作是计算机程序设计中最常见的行为。13.1 不可变String String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容。 没当把String对象作为方法的参数时,都会复制一份引用,而该 引用所指的对象其实一直待在单一的物理位置上,从未动过。13.2 重载“+”与Strin
2012-10-22 00:10:17
576
原创 Thinking in Java:第十二章 通过异常处理错误
java的基本理念是结构不佳的代码不能运行。12.1 基本概念12.2 基本异常 异常情形是指阻止当前方法或作用域继续执行的问题。普通的问题是指在当前的环境下能得到足够的信息,总能处理这个错误;而对于异常情形,就不能继续下去了,因为在当前环境下无法获得必要的信息来解决问题。12.2.1 异常参数 所有标准异常都有两个构造器:一个是默认构造器,一
2012-10-21 22:21:31
1131
转载 android基础知识33:android安全问题 (一)程序锁及钓鱼
一、程序锁导读:本文介绍如何实现对应用加锁的功能,无须root权限某些人有时候会有这样一种需求,小A下载了个软件,只是软件中的美女过于诱惑与暴露,所以他不想让别人知道这是个什么软件,起码不想让别人打开浏览。而这款软件又没有锁,任何人都可以打开,肿么办呢?如果打开它的时候需要输入密码,那该多好阿!于是,程序锁这种应用就产生了程序锁不是最近才有的,很久之前andro
2012-10-20 13:56:20
1381
转载 android基础知识32:android手机root后的安全问题 (四)
导读:本文介绍了如何实现禁止开机启动以及如何使应用失效。希望大家不要制造各种流氓软件或病毒这一期我们来关注以下某些优化软件的开机优化功能禁止开机启动和禁止很多软件都有开机优化功能,比如360,金山,海卓……我觉得海卓页面还不错,所以就截一张海卓的图片吧点击右边的小旗,会有一些选项,这里只说两个开机启动程
2012-10-20 13:03:27
1260
转载 android基础知识32:android手机root后的安全问题 (三)
导读:本文介绍病毒如何篡改superuser,使得用户只是允许病毒请求的一次root权限变成允许病毒永久使用root权限。继续之前两篇文章写,如果路过的同学有疑问,请先看前两篇有同学说,你的Fake.apk需要把应用copy到system下才行,这是需要root权限的。如果用户允许了你一次root请求,你当着用户的面copy,那么copy之后,系统会发送广播,告知有新的
2012-10-20 12:37:50
405
转载 android基础知识32:android手机root后的安全问题 (二)
导读:本文介绍杀毒软件和病毒是如何获取通知栏上的所有通知,并且利用其信息杀死应用。上一篇将过如何利用root权限来做一次静默安装,有的人会说,安装apk就安装呗,反正哥有金山手机卫士,哥有360主动防御……他们都会弹出通知告诉我的!安装了新的应用,手机会发送广播,这些所谓的杀毒软件监听这些广播,然后弹出通知好吧,我承认,他们在一定意义上还是有点用处的,我们先把这个问题放一放
2012-10-20 12:26:09
413
转载 android基础知识32:android手机root后的安全问题 (一)
前提:你有一部已经root的android手机,并且手机中有busybox和superuser导读:本文介绍一种简单的病毒以及如何“防御”。写本博客的原因是:有无数用户觉得root没有什么风险,或者风险不会降临到自己头上。这里告诉大家,其实风险就在身边!这里讲的内容其实对于大多数开发者都不是什么新鲜的事情了,使用的技术也非常一般和普遍。虽然大
2012-10-20 12:04:38
492
原创 Thinking in Java:第十一章 持有对象
java实用类库还提供了一套相当完整的容器类来解决这个问题,其中基本的类型是List,Set,Queue和Map。这些对象类型也称为集合类,但由于java的类库中实用了collection这个名字来指代类库的一个特殊子集,所以我使用了范围更广的术语“容器”称呼他们。11.1 泛型和类型安全的容器 要想定义用来保存Apple对象的ArrayList,你可以申明ArrayList,
2012-10-15 23:12:56
1005
转载 android基础知识09:xml文件解析04 一个简单的读及pull写的例子
在Android平台上可以使用Simple API for XML(SAX) 、 Document Object Model(DOM)和Android附带的pull解析器解析XML文件。1、需要处理的xml文件及person类下面是本例子要解析的XML文件:文件名称:itcast.xml李明30李向梅25例子定义了一个javabean用于存放
2012-10-09 16:37:22
424
转载 android Launcher源码解析03:仿Mac的Dock
之前在网上看到有篇文章:Launcher之Dock细节篇http://www.linuxidc.com/Linux/2011-09/44160.htm 它实现了一个仿Mac的dock。感觉蛮有意思的,所以就照着仿制了一个。 可以动态的添加快捷方式,默认包含AllApp按钮,图标居中显示。DockBar上的图标可以相互交换位置,并且将图标拖拽出去。拖拽释
2012-09-16 20:02:33
3410
原创 android基础知识31:PendingIntent
1、基本概念 intent英文意思是意图,pending表示即将发生或来临的事情。 PendingIntent这个类用于处理即将发生的事情。比如在通知Notification中用于跳转页面,但不是马上跳转。 Intent 是及时启动,intent 随所在的activity 消失而消失。 PendingIntent
2012-09-03 13:17:14
1153
转载 android基础知识12:android自动化测试06—Instrumentation 05 InstrumentationTestRunner
在学习Android、JUnit的过程中,随着学习的深入,发现相关的内容越来越多,将这些类按照继承关系整理如下:Test—TestCase—AndroidTestCaseTest—TestCase—InstrumentationTestCaseTest—TestSuite—InstrumentationTestSuiteTestListener—–BaseTestRunner—Androi
2012-08-21 23:05:06
1437
android中tabhost各种实例及用法
2012-07-18
自己设计Launcher01:MyLauncher V1.0
2012-06-27
android lancher源码
2012-06-20
monkeyrunner应用脚本
2012-04-24
android content provider示例程序(简单记账)
2012-03-21
android基础知识05:四大组件之service 02:远程调用实例程序
2012-03-11
android基础知识05:四大组件之service 01实例程序2
2012-03-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人