
Android
文章平均质量分 73
阳光岛主
阳光、快乐、创新
展开
-
Android 项目编译过程
Android 工程构建的持续集成,需要搭建一套编译和打包自动化流程,比如建立每日构建系统、自动生成发布文件等等。这些都需要我们对Android工程的编译和打包有一个比较深入的理解,例如知道它的每一步都做了什么,需要什么环境和工具,输入和输出是什么,等等。首先,假定你的系统(Windows、Linux、Mac OS都行,本文默认使用Linux系统来举例子,但在 Windows中几乎没有什么差别)已原创 2013-05-17 23:58:19 · 6538 阅读 · 5 评论 -
Android 编译工具 Ant
Ant,是一种基于Java的build工具,类似于(Unix)C中的make ,与基于shell命令的扩展模式不同,Ant用Java的类来扩展,用户不必编写shell命令。Ant本身是一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于Java是平台无关的外,脚本的格式是基于XML(默认为build.xml),比make脚本来说还要好维护一些。1, 下载官方下载: ant原创 2013-05-12 21:47:26 · 13797 阅读 · 0 评论 -
GitHub Android 开源项目汇总
GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。1. ActionBarSherlock(推荐)ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者原创 2013-05-09 01:33:20 · 32477 阅读 · 12 评论 -
Android MotionEvent 坐标获取
Android MotionEvent中getX()与getRawX()都是获取屏幕坐标(横),但二者又有区别getX() : 是获取相对当前控件(View)的坐标getRawX() : 是获取相对显示屏幕左上角的坐标演示示例代码Java代码:public class MainActivity extends Activity implements OnTouchL原创 2013-04-05 07:40:44 · 14541 阅读 · 0 评论 -
Android中visibility属性
Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为“visible ”、“invisible”、“gone”。主要用来设置控制控件的显示和隐藏。1) 可见(visible)XML文件:android:visibility="visible"Java代码:view.setVisibility(View.VISIBLE);2) 不可见(invisible)XML文件:原创 2013-04-04 07:44:20 · 14296 阅读 · 3 评论 -
Android与js交互实例
Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为trueAndroid(Java)与JavaScript(HTML)交互有四种情况:1) Android(Java)调用HTML中js代码2) Android(Java)调用HTML中js代码(带参数)3) HTML中js调用Android(Java)代码4) HTML原创 2013-03-29 23:43:49 · 20912 阅读 · 5 评论 -
Intent 和 PendingIntent 区别
intent 英文意思是意图,pending 表示即将发生或来临的事情。 PendingIntent 这个类用于处理即将发生的事情,比如在通知Notification中用于跳转页面,但不是马上跳转。 Intent 是及时启动,intent 随所在的activity 消失而消失。 PendingIntent 可以看作是对intent的包装,通常通过getActivity,getBroadcast,g原创 2012-12-23 00:17:34 · 11219 阅读 · 0 评论 -
Google Play In-app Billing
0, 概述应用程序内部付费机制(Google Play In-app Billing, 以下简称应用内支付)是Google Play的一项服务,这种服务为应用内购买提供支付流程。要使用这项服务,你的应用会对一个特定的应用内产品发送一个结账请求。然后该服务会处理这笔交易的所有细节,包括请求和确认支付形式和处理金融方面的交易。支付流程完成后,该服务会发送购买细节到你的App,比如订单号、订单时间、价格原创 2012-12-19 00:08:27 · 29775 阅读 · 15 评论 -
libgdx 图形绘制
纹理(texture)一个图片从原始格式解码并上传到GPU就被称为纹理。OpenGL要求纹理的高度和宽度都必须是2的n次方大小,只有满足这个条件纹理图片才是有效的。 一旦获取了像素值,我们就可以将这些数据传给OpenGL,让OpenGL生成一个纹理贴图为了绘制texture,常常使用几何来描述,通过几何对应的顶点来描述纹理。比如要描述一个矩形,可以通过矩形的四个顶点来描述。要绘图时,首先要绑定纹理原创 2012-12-15 00:03:09 · 9045 阅读 · 0 评论 -
libgdx 环境搭建
一、 开发包下载1) libgdx 开发包下载: google code(最新 libgdx-0.9.7.zip 2012.11.12)2) libgdx 主干源码下载: github tags二、 环境搭建 1) 添加开发jar包libgdx的android开发包主要有 gdx.jar, gdx-backend-android.jar,以及 armeabi 和 armeabi-v7a (区原创 2012-12-13 23:40:42 · 17797 阅读 · 0 评论 -
libgdx 概述
libgdx 是一个跨平台的2D/3D的游戏开发框架,由Java/C/C++语言编写而成,基于 Apache License 2.0 协议,对商业使用和非商业使用均免费,代码托管于github优点1、 兼容性强libgdx兼容大多数平台,采用标准JavaSE实现,能运行在Mac、Linux、Windows等系统,与Android平台(Android1.5以上即可使用,Android2.1以上可满功原创 2012-12-05 21:38:52 · 17186 阅读 · 2 评论 -
Android Intent Action 大全
1.Intent的用法:(1)Action跳转1、 使用Action跳转,当程序AndroidManifest.xml中某一个 Activity的IntentFilter定义了包含Action,如果恰好与目标Action匹配,且其IntentFilter中没有定义其它的Type或Category过滤条件,那么就正好匹配了。如果手机中有两个以上的Action程序匹配,那么就会弹出一个对话可框来提示说原创 2012-12-01 00:36:09 · 63645 阅读 · 14 评论 -
Android 开机自启动应用
Android启动时,会发出一个系统广播 ACTION_BOOT_COMPLETED,它的字符串常量表示为 “android.intent.action.BOOT_COMPLETED”开机自启动程序,只需要“捕捉”到这个消息再启动你的程序即可,我们要做的是接收这个消息,并实现一个BroadcastReceiver。1 xml 配置在AndroidManifest.xml中Application节原创 2012-11-29 20:27:44 · 58110 阅读 · 10 评论 -
Android 监听安装和卸载
Android 应用程序的安装和卸载事件,是由系统进行监听并全局广播的,支持1.5(android 3)以上因此,如果想要监听获取应用的安装和卸载事件,只需要自定义一个BroadcastReceiver,来对系统广播进行监听和处理BroadcastReceiver 是系统全局广播监听类, 其主要方法是onReceive(),自定义的广播类继承于它并实现自己的onReceive()处理逻辑Broad原创 2012-11-29 19:05:17 · 54255 阅读 · 19 评论 -
Android Hierarchy Viewer
Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率。其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地帮助开发者分析,设计,调试和调整UI界面,提高开发效率。本文将以一个实际例子讲解如何使用该款工具运用在Android的开发过程中。1 设计界面在我们的这个例子中,有三个不同的界面,以方便我们演示使用Hier原创 2012-11-07 21:27:14 · 10365 阅读 · 6 评论 -
Android NDK Hello
Android应用程序访问android的根文件系统中的文件时,由于应用程序的权限限制,无法访问这些文件,怎么办?这时就要用到NDK编程了,既用C/C++代码实现访问系统文件,并将其生成本地库,供android中的java代码调用,这样就可以在java代码中通过调用C/C++编写的库的接口来实现对系统文件的访问。为何要用到NDK?概括来说主要分为以下几种情况:1. 代码的保护,由于apk的java原创 2012-11-04 00:22:29 · 9610 阅读 · 3 评论 -
Android 开发常用代码片段
1、图片旋转Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.moon);Matrix matrix = new Matrix();matrix.postRotate(-90);//旋转的角度 Bitmap resizedBitmap = Bitmap.c原创 2012-11-03 00:43:41 · 12788 阅读 · 10 评论 -
Android Manifest.xml 结构详解
关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities,services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services,和Intent Recei原创 2012-11-01 20:31:44 · 27626 阅读 · 9 评论 -
Android 布局属性详解
RelativeLayout第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom原创 2012-10-29 21:39:40 · 9383 阅读 · 2 评论 -
Android AsyncTask异步处理
在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则: 1. 不要阻塞UI线程 2. 确保只在UI线程中访问Android UI工具包 当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,原创 2012-10-23 19:56:04 · 21612 阅读 · 14 评论 -
Android Context 详解
Android中context可以作很多操作,但是最主要的功能是加载和访问资源。在android中有两种context,一种是application context,一种是activity context,通常我们在各种类和方法间传递的是activity context。继承关系:区别联系:public class MyActivity extends Activity { public原创 2012-09-28 11:27:55 · 11185 阅读 · 14 评论 -
Android 进程和线程模型
Android进程模型在安装Android应用程序的时候,Android会为每个程序分配一个Linux用户ID,并设置相应的权限,这样其它应用程序就不能访问此应用程序所拥有的数据和资源了。在 Linux 中,一个用户ID 识别一个给定用户;在 Android 上,一个用户ID 识别一个应用程序。应用程序在安装时被分配用户 ID,应用程序在设备上的存续期间内,用户ID 保持不变。默认情况下,每个ap原创 2012-09-28 10:02:27 · 12944 阅读 · 3 评论 -
Android 获取版本号
As described in the android documentation, the SDK level (integer) the phone is running is available in:android.os.Build.VERSION.SDK_INT;The enum corresponding to this int is in the android.os.Build.V原创 2012-09-27 11:31:06 · 8167 阅读 · 1 评论 -
Android 应用程序签名
Android应用程序签名相关的理论知识包括:什么是签名、为什么要给应用程序签名、如何给应用程序签名等。1、什么是签名? 如果这个问题不是放在Android开发中来问,如果是放在一个普通的版块,我想大家都知道签名的含义。可往往就是将一些生活中常用的术语放在计算机这种专业领域,大家就开始迷惑了。计算机所做的事情,或者说编程语言所做的事情,不正是在尽可能地模拟现实吗?所以,计算机中所说的签名原创 2012-09-04 13:39:44 · 8062 阅读 · 4 评论 -
Android 手机开机密码破解锁定
Android 手机使用Pattern图案加密后,如果忘记密码或多次解锁失败后,会被google自动锁定,无法再次进入开机首页。本文就是针对这种情况,研究探索了一种破解锁定的方法,具体锁定环境和操作步骤如下。一、手机被锁定Android 手机使用Pattern图案加密后,如果忘记密码、解锁多次失败后(5次+10次+n次错误),如下图上图解锁多次失败后,google 账户会自动锁定手机,用户无法再次原创 2012-09-01 23:55:29 · 73351 阅读 · 4 评论 -
Android 检测网络连接状态
Android连接网络的时候,并不是每次都能连接到网络,因此在程序启动中需要对网络的状态进行判断,如果没有网络则提醒用户进行设置。首先,要判断网络状态,需要有相应的权限,下面为权限代码(AndroidManifest.xml): 然后,检测网络状态是否可用 /** * 对网络连接状态进行判断 * @return true, 可用; false, 不可用 */ private原创 2012-08-22 20:19:25 · 30100 阅读 · 4 评论 -
Android Market 链接的生成与分享
通过Java包名直接定位到你的Apphttp://market.android.com/details?id=或者market://details?id=范例:market://details?id=com.skyd.luckywheel这将直接在菜市场中显示你的App详细介绍页。 通过Java包名搜索Apphttp://market.android.com/search?q=pname:或者ma原创 2012-08-21 13:19:24 · 14115 阅读 · 0 评论 -
Android 平铺背景图片
Android的图片平铺效果,主要有三种方法:1)系统API; 2)XML配置; 3)自定义绘制方法1: 系统api实现Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic);//bitmap = Bitmap.createBitmap(100, 20, Config.ARGB_8888);Bit原创 2012-07-30 17:59:54 · 9529 阅读 · 0 评论 -
Android 学习小结
Android 学习已有一年半有余,先后做过两款游戏、三款应用和搭建一台服务端,也了解过一些Android相关的源码(JDK、SDK和NDK)后来想学深入点,搞过两款开源项目(LGame 和 AChartEngine),还发布过自己的开源项目(wsi-lgame-pro 和 mobilesurvey),现在总结一下自己的经验和心得Android 入门一开始学Android,主要看了三本书《Andr原创 2012-06-13 23:11:24 · 10078 阅读 · 11 评论 -
Android 读写文件的N种写法
Android 读写文件的N种写法(待续。。。)读取raw文件// 读取raw文件 private void rawRead(){ String ret = ""; try { InputStream is = getResources().openRawResource(R.raw.my_raw); int len = is.available(); b原创 2012-05-31 23:08:03 · 8745 阅读 · 0 评论 -
Android 智能指针原理
Android系统的运行时库层代码是用C++来编写的,用C++来写代码最容易出错的地方就是指针了,一旦使用不当,轻则造成内存泄漏,重则造成系统崩溃。不过系统为我们提供了智能指针,避免出现上述问题,本文将系统地分析Android系统智能指针(轻量级指针、强指针和弱指针)的实现原理。一、内存泄露与智能指针 在使用C++来编写代码的过程中,指针使用不当造成内存泄漏一般就是因为new了一个对转载 2012-05-05 23:17:31 · 8976 阅读 · 0 评论 -
Android Animations动画使用详解
一、动画类型Android的animation由四种类型组成:alpha、scale、translate、rotateXML配置文件中alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果rotate画面转移旋转动画效果Java Code代码中 AlphaAnimation渐变透明度动画效果ScaleAnimation渐变尺寸伸缩动画效果Transla原创 2012-04-30 00:15:21 · 40439 阅读 · 7 评论 -
Android 创建与解析XML(六)—— 比较与使用
前面介绍了四种创建、解析XML的方式:0、 Android 创建与解析XML(一)—— 概述1、 Android 创建与解析XML(二)—— Dom方式2、 Android 创建与解析XML(三)—— Sax方式3、 Android 创建与解析XML(四)—— Pull方式4、 Android 创建与解析XML(五)—— Dom4j方式其中,从处理方式看,有的采用了Java处理XML的标准方式,原创 2012-04-29 00:02:11 · 7516 阅读 · 6 评论 -
Android 创建与解析XML(五)—— Dom4j方式
1、Dom4j概述dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP. dom4j官原创 2012-04-28 23:15:51 · 18575 阅读 · 3 评论 -
Android 创建与解析XML(四)—— Pull方式
1、Pull概述Android系统中和创建XML相关的包为org.xmlpull.v1,在这个包中不仅提供了用于创建XML的 XmlSerializer,还提供了用来解析XML的Pull方式解析器 XmlPullParserXmlSerializer没有像XmlPullParser那样提取XML事件,而是把它们推出到数据流OutputStream或Writer中。XmlSerializer提供了很原创 2012-04-28 23:12:48 · 13230 阅读 · 1 评论 -
Android 创建与解析XML(三)—— Sax方式
1. Sax概述SAX是一种占用内存少且解析速度快的解析器,它采用的是事件启动,不需要解析完整个文档,而是按照内容顺序看文档某个部分是否符合xml语法,如果符合就触发相应的事件,所谓的事件就是些回调方法(callback),这些方法 定义在ContentHandler中,下面是其主要方法:startDocument():当遇到文档的时候就触发这个事件 调用这个方法 可以在其中做些预处理工作,如:申原创 2012-04-28 23:12:28 · 10113 阅读 · 0 评论 -
Android 创建与解析XML(二)—— Dom方式
1. Dom概述Dom方式创建XML,应用了标准xml构造器 javax.xml.parsers.DocumentBuilder 来创建 XML 文档,需要导入以下内容javax.xml.parsersjavax.xml.parsers.DocumentBuilder javax.xml.parsers.DocumentBuilderFactory javax.xml.parsers.Parser原创 2012-04-26 22:03:52 · 15046 阅读 · 3 评论 -
Android 创建与解析XML(一)—— 概述
Android 是最常用的智能手机平台,XML 是数据交换的标准媒介,Android 中可以使用标准的XML生成器、解析器、转换器 API,对 XML 进行解析和转换。XML,相关有DOM、SAX、JDOM、DOM4J、Xerces、JAXP等一堆概念,但是很多人总是会弄混他们之间的关系,这对我们理解XML文件的创建和解析很不利。要挑选一个适合在Android平台上使用的XML解析方案,我们还是得原创 2012-04-25 12:49:39 · 93589 阅读 · 1 评论 -
Android Listener侦听的N种写法
Android中,View的Listener方法,在是否使用匿名类匿名对象时,有各种不同的写法。OnClickListener和其他Listener方法一样,都是View类的接口,重载实现后就能使用,其接口定义如下: public interface OnClickListener { /** * Called when a view has been cl原创 2012-04-23 13:29:27 · 31554 阅读 · 3 评论 -
Android 滑动效果高级篇(八)—— 自定义控件
自定义控件,较常用View、ViewGroup、Scroller三个类,其继承关系如下:本示例自定义控件,实现一个Gallery效果,并添加了一个显示View个数和位置的bar条,效果图:自定义控件,包含通过继承实现的自定义控件和自定义控件属性两部分,即控件和属性1、自定义属性自定义属性,分为定义属性、解析属性、设置属性三部分,具体步骤:首先,在res/valus/attrs.xml属性资源文件中原创 2012-04-20 23:01:21 · 18721 阅读 · 13 评论