导航

随笔分类 -  Android

摘要:我把设置相对布局的属性分成下面几类一、相对于父容器的布局定义属性即指定widget在container的相对位置,包括:android:layout_alignParentTop,android:layout_alignParentBottom,android:layout_alignParentLeft,android:layout_alignParentRight,android:layout_centerHorizontal,android:layout_centerVertical,android:layout_centerInParent,他们的值是false|true。二、相对于其 阅读全文

posted @ 2011-11-16 15:36 蝈蝈俊 阅读(710) 评论(0) 推荐(0) 编辑

摘要:WEB APP的跨平台特性确实很吸引人,但是大家普遍都认为WEB APP在用户体验上,目前软硬件环境下,还是不如Native APP。 具体是那些方面不如呢?下面是我的总结: 一、进程切换的体验差异 不考虑机器性能和网速,WEB APP 最大的不足在于进程切换。 比如:Native APP 中,我能在Mail里面直接拖入图片作为附件,GMail就只能attach a file。 ... 阅读全文

posted @ 2011-10-06 16:58 蝈蝈俊 阅读(3513) 评论(0) 推荐(1) 编辑

摘要:UUID 和 GUID 的区别 UUID是一个由4个连字号(-)将32个字节长的字符串分隔后生成的字符串,总共36个字节长。比如:550e8400-e29b-41d4-a716-446655440000 http://gohands.blogbus.com/logs/147479174.html GUID 是微软对UUID这个标准的实现。UUID是由开放软件基金会(OSF)定义的。UUID还... 阅读全文

posted @ 2011-09-21 15:07 蝈蝈俊 阅读(3414) 评论(0) 推荐(0) 编辑

摘要:之前我在Win环境装过Android开发环境,只不过当时是装的 Eclipse 的 Helios 版本,原因是当时的ADT不支持最新的Indigo的版本,下面就是最新版本的安装 这里安装的细节我没有写,安装的细节可以参看我之前版本的安装文章: http://www.cnblogs.com/ghj1976/archive/2011/04/15/2017292.html 一、安装JDK 下载地址: ... 阅读全文

posted @ 2011-08-10 11:31 蝈蝈俊 阅读(2638) 评论(0) 推荐(0) 编辑

摘要:由于Android内置的地图是google地图,它需要访问google服务器获取地图信息,所以首先你需要注册一个使用Google地图的API的Key,没有它Google地图不会为你提供服务。 地图API的Key是跟你程序的签名证书紧密相关的。所以你如何要申请地图API的Key,首先要明白你的签名证书文件,有关签名证书文件以及签名应用的知识请参看我前篇文章:《Android应用签名》 整个Googl... 阅读全文

posted @ 2011-07-18 16:22 蝈蝈俊 阅读(1379) 评论(0) 推荐(0) 编辑

摘要:为了要签名? 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的。 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名可以保证相当名字,但是签名不同的包不被替换。 APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆... 阅读全文

posted @ 2011-07-18 12:40 蝈蝈俊 阅读(33544) 评论(4) 推荐(2) 编辑

摘要:PHP的加解密函数 <?phpclass DesComponent { var $key = '12345678'; function encrypt($string) { $ivArray=array(0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF); $iv=null; foreach ($ivArray as $element) $iv.=CHR... 阅读全文

posted @ 2011-05-26 15:55 蝈蝈俊 阅读(3892) 评论(0) 推荐(0) 编辑

摘要:Android 中我们使用AsyncTask时,一般是把它当Activity的内部类来使用的。原因,这样可以简单的在更新进度onProgressUpdate 和 执行完成时onPostExecute, 直接操作Activity的界面元素控件。但是如果我们想让我们的代码职责更单一,功能划分更清晰,就最好不要用内部类,这时候我们可以借用 Handler 来实现这个需求。 有关 AsyncTask 的用... 阅读全文

posted @ 2011-05-16 18:40 蝈蝈俊 阅读(1281) 评论(0) 推荐(0) 编辑

摘要:在有界面的Android应用中,后台异步执行一些事情是常见的场景,这时候我们从底层开始写起的话,就需要了解比较深层的东西,比如这篇文章“Android 的消息队列模型”提到的Looper、Handler、Message、MessageQueue。 Android为了降低这个开发难度,提供了AsyncTask。AsyncTask就是一个封装过的后台任务类,顾名思义就是异步任务。 AsyncTask直... 阅读全文

posted @ 2011-05-06 17:49 蝈蝈俊 阅读(4612) 评论(0) 推荐(1) 编辑

摘要:在学习"Android异步加载图像小结"这篇文章时, 发现有些地方没写清楚,我就根据我的理解,把这篇文章的代码重写整理了一遍,下面就是我的整理。 下面测试使用的layout文件: 简单来说就是 LinearLayout 布局,其下放了5个ImageView。 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="htt... 阅读全文

posted @ 2011-05-06 12:14 蝈蝈俊 阅读(19967) 评论(19) 推荐(8) 编辑

摘要:Runnable 并不一定是新开一个线程,比如下面的调用方法就是运行在UI主线程中的: Handler mHandler=new Handler();mHandler.post(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub }});官方对这个方法的解释如下,注意其中的:“The ru... 阅读全文

posted @ 2011-05-06 09:38 蝈蝈俊 阅读(23228) 评论(1) 推荐(3) 编辑

摘要:Android 的消息队列模型 Android是参考Windows的消息循环机制来实现Android自身的消息循环的。 Android通过Looper、Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都可以有自己的消息队列和消息循环)。 Android系统中,Looper负责管理线程的消息队列和消息循环。我们可以通过Loop.myLooper()得到当前线程的Loop... 阅读全文

posted @ 2011-05-06 08:42 蝈蝈俊 阅读(15173) 评论(5) 推荐(7) 编辑

摘要:方法一,两个Activity 核心代码: package ghj1976.HelloWorld;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.Handler;public class SplashActivity extends Activit... 阅读全文

posted @ 2011-05-04 15:18 蝈蝈俊 阅读(3251) 评论(0) 推荐(0) 编辑

摘要:启动那个Acitivity有两种方式:implicit(隐藏) intent 和 explicit(明确) intent Explicit Intent 明确的指定了要启动的Acitivity 比如以下Java代码,明确指定了要启动B: Intent intent= new Intent(this, B.class) Implicit Intent 没有明确的指定要启动哪个Activity ,而... 阅读全文

posted @ 2011-04-29 18:37 蝈蝈俊 阅读(1002) 评论(0) 推荐(0) 编辑

摘要:建议首先阅读下面这篇文章,这样才能对本文有所了解: Android Application Task Activities的关系 http://www.cnblogs.com/ghj1976/archive/2011/04/29/2032412.html 尤其要明白 Task 是啥。 什么是Affinity 在某些情况下,Android需要知道一个Activity属于哪个Task,即使它没有被启... 阅读全文

posted @ 2011-04-29 11:35 蝈蝈俊 阅读(3249) 评论(0) 推荐(0) 编辑

摘要:建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式: Android的进程,线程模型 http://www.cnblogs.com/ghj1976/archive/2011/04/28/2031586.html 其中对“Android的单线程模型”的描述,明白Activity的一些注意事项。 Android Application Task Activities的关系 ht... 阅读全文

posted @ 2011-04-29 10:37 蝈蝈俊 阅读(21134) 评论(2) 推荐(3) 编辑

摘要:什么是Android Application? 简单来说,一个apk文件就是一个Application。 任何一个Android Application基本上是由一些Activities组成,当用户与应用程序交互时其所包含的部分Activities具有紧密的逻辑关系,或者各自独立处理不同的响应。 这些Activities捆绑在一起成为了一个处理特定需求的Application, 并且以“.apk”... 阅读全文

posted @ 2011-04-29 09:26 蝈蝈俊 阅读(11826) 评论(0) 推荐(1) 编辑

摘要:Android 包括一个应用程序框架、几个应用程序库和一个基于 Dalvik 虚拟机的运行时,所有这些都运行在 Linux 内核之上。 通过利用 Linux 内核的优势,Android 得到了大量操作系统服务,包括进程和内存管理、网络堆栈、驱动程序、硬件抽象层、安全性等相关的服务。 有关Java虚拟机跟进程,线程的关系请参看下面这篇文章: 进程、线程与JVM、CLR http://blog.cs... 阅读全文

posted @ 2011-04-28 12:18 蝈蝈俊 阅读(13875) 评论(4) 推荐(6) 编辑

摘要:Android的Margin和Padding跟Html的是一样的。如下图所示:黄色部分为Padding,灰色部分为Margin。 通俗的理解 Padding 为内边框,Margin 为外边框 对应的属性为 android:layout_marginBottom="25dip" android:layout_marginLeft="10dip" android:layout_marginTop="1... 阅读全文

posted @ 2011-04-26 18:41 蝈蝈俊 阅读(15976) 评论(0) 推荐(2) 编辑

摘要:gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思。 android:layout_gravity 和 android:gravity 的区别 从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的。 android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置... 阅读全文

posted @ 2011-04-26 17:07 蝈蝈俊 阅读(79844) 评论(8) 推荐(14) 编辑