
android
蝈蝈俊
蝈蝈俊.net
展开
-
Android 如何把AsyncTask改用非内部类
Android 中我们使用AsyncTask时,一般是把它当Activity的内部类来使用的。原因,这样可以简单的在更新进度onProgressUpdate 和 执行完成时onPostExecute, 直接操作Activity的界面元素控件。但是如果我们想让我们的代码职责更单一,功能划分更清晰,就最好不要用内部类,这时候我们可以借用 Handler 来实现这个需求。 有关 AsyncTask 的用法可以参看我写的这篇博客: http://www.cnblogs.com/ghj1976/archive/20原创 2011-05-16 18:42:00 · 10188 阅读 · 9 评论 -
Android Application Task Activities的关系
什么是Android Application? 简单来说,一个apk文件就是一个Application。 任何一个Android Application基本上是由一些Activities组成,当用户与应用程序交互时其所包含的部分Activities具有紧密的逻辑关系,或者各自独立处理不同的响应。 这些Activities捆绑在一起成为了一个处理特定需求的Application, 并且以“.apk”作为后缀名存在于文件系统中。 Android平台默认下的应用程序 例如:Email、Calendar、原创 2011-04-29 09:40:00 · 6201 阅读 · 0 评论 -
Android四种Activity的加载模式
建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式: Android的进程,线程模型 http://www.cnblogs.com/ghj1976/archive/2011/04/28/2031586.html 其中对“Android的单线程模型”的描述,明白Activity的一些注意事项。 Android Application Task Activities的关系 http://www.cnblogs.com/ghj1976/archive/2011/04/29原创 2011-04-29 10:44:00 · 22387 阅读 · 14 评论 -
Android到底那个Acitivity启动
启动那个Acitivity有两种方式:implicit(隐藏) intent 和 explicit(明确) intent Explicit Intent 明确的指定了要启动的Acitivity 比如以下Java代码,明确指定了要启动B: Intent intent= new Intent(this, B.class) Implicit Intent 没有明确的指定要启动哪个Activity ,而是通过设置一些Intent Filter来让系统去筛选合适的Acitiv原创 2011-04-29 18:39:00 · 6869 阅读 · 1 评论 -
Android 任务共用性Affinity
建议首先阅读下面这篇文章,这样才能对本文有所了解: Android Application Task Activities的关系 http://www.cnblogs.com/ghj1976/archive/2011/04/29/2032412.html 尤其要明白 Task 是啥。 什么是Affinity 在某些情况下,Android需要知道一个Activity属于哪个Task,即使它没有被启动到一个具体的Task里。这是通过任务共用性(Affinities)完成的。任务共用性(Affi原创 2011-04-29 11:37:00 · 10939 阅读 · 2 评论 -
Android启动画面Splash
方法一,两个Activity 核心代码: package ghj1976.HelloWorld;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.Handler;public class SplashActivity extends Activity { private final int SPLASH_DISP原创 2011-05-04 15:22:00 · 7976 阅读 · 0 评论 -
Android 的消息队列模型
Android 的消息队列模型 Android是参考Windows的消息循环机制来实现Android自身的消息循环的。 Android通过Looper、Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都可以有自己的消息队列和消息循环)。 Android系统中,Looper负责管理线程的消息队列和消息循环。我们可以通过Loop.myLooper()得到当前线程的Looper对象,通过Loop.getMainLooper()可以获得当前进程的主线程的Looper对象原创 2011-05-06 08:46:00 · 18497 阅读 · 13 评论 -
Android Runnable 运行在那个线程
Runnable 并不一定是新开一个线程,比如下面的调用方法就是运行在UI主线程中的: Handler mHandler=new Handler();mHandler.post(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub }});官方对这个方法的解释如下,注意其中的:“The runnable will be run on the user in原创 2011-05-06 09:44:00 · 8827 阅读 · 1 评论 -
演化理解 Android 异步加载图片
在学习"Android异步加载图像小结"这篇文章时, 发现有些地方没写清楚,我就根据我的理解,把这篇文章的代码重写整理了一遍,下面就是我的整理。 下面测试使用的layout文件: 简单来说就是 LinearLayout 布局,其下放了5个ImageView。 我们将演示的逻辑是异步从服务器上下载5张不同图片,依次放入这5个ImageView。上下2个TextView 是为了方便我们看是否阻塞了UI的显示。当然 AndroidM原创 2011-05-06 12:17:00 · 7717 阅读 · 4 评论 -
Android的进程,线程模型
Android 包括一个应用程序框架、几个应用程序库和一个基于 Dalvik 虚拟机的运行时,所有这些都运行在 Linux 内核之上。 通过利用 Linux 内核的优势,Android 得到了大量操作系统服务,包括进程和内存管理、网络堆栈、驱动程序、硬件抽象层、安全性等相关的服务。 有关Java虚拟机跟进程,线程的关系请参看下面这篇文章: 进程、线程与JVM、CLR http://blog.youkuaiyun.com/ghj1976/archive/2010/04/13/5481038.aspx原创 2011-04-28 12:23:00 · 6886 阅读 · 1 评论 -
android:layout_gravity 和 android:gravity 的区别
gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思。 android:layout_gravity 和 android:gravity 的区别 从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的。 android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。 比如说button: android:layout_gravity 表示按钮在界面上的位置。 and原创 2011-04-26 17:11:00 · 7497 阅读 · 0 评论 -
ubuntu10.10 下安装android 2.2开发环境
一、安装 Java6 安装jre/jdk sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk 使用这个命令安装后,默认是安装在 /usr/lib/jvm/ 目录下,以我为例,我这里是 /usr/lib/jvm/java-6-sun-1.6.0.24 目录, /usr/lib/jvm/下还有一个快捷方式 java-6-sun 有时候会安装多个jdk,有时候需要相互切换。可以使用下面的命令做到: sudo up原创 2011-04-02 21:40:00 · 2403 阅读 · 6 评论 -
DES加密和解密PHP,Java,ObjectC统一的方法
PHP的加解密函数 pkcs5Pad ( $string, $size ); $data = mcrypt_encrypt(MCRYPT_DES, $this->key, $string, MCRYPT_MODE_CBC, $iv); $data = base64_encode($data); return $data; } function decrypt($string) { $ivArray=array(0x12, 0x34, 0x56,原创 2011-05-26 15:56:00 · 13068 阅读 · 3 评论 -
Android入门--写一个最简单的计算器
这里将写的计算器是借用了下面写的计算器,并把其中需要注意的地方一一补充罗列:http://www.iteye.com/topic/141029 需要演示的结果: 之前假设已经配置好Android开发环境,如果没有,请参看下面2篇文章: Win7 配置Android开发环境 http://www.cnblogs.com/ghj1976/archive/2011/04/15/2017292.html ubuntu10.10 下安装android 2.2开发环境 http://w原创 2011-04-18 15:05:00 · 11865 阅读 · 2 评论 -
Win7 配置Android开发环境
一、安装 JDK 下载JDK最新版本,下载地址如下: http://www.oracle.com/technetwork/java/javase/downloads/index.html 这里我下载的是: Java SE Development Kit 6u24 for Windows x64, Multi-language,即这个文件:jdk-6u24-windows-x64.exe 下载后安装。Windows 下安装完毕后需要设置三个环境变量原创 2011-04-18 16:01:00 · 18253 阅读 · 3 评论 -
Android 使用 TableLayout 布局拉伸宽度
布局文件 布局效果: 显然这不能满足我们的期望,下面我们演示 使用 android:stretchColumns 来自动拉伸我原创 2011-04-21 18:09:00 · 4956 阅读 · 3 评论 -
Android 使用 TableLayout 布局拉伸宽度
布局文件 布局效果: 显然这不能满足我们的期望,下面我们演示 使用 android:stretchColumns 来自动拉伸我们这里简单的给 TableLayout 增加一个属性 android:stretchColumns="*" 表示所有列都要自动拉伸,以便适应屏幕宽度。 布局效果 它的值即可以是数字,也可以是*,注意数字是从0开始的,即:原创 2011-04-21 18:06:00 · 5630 阅读 · 2 评论 -
Android调用天气预报的WebService简单例子
下面例子改自网上例子:http://express.ruanko.com/ruanko-express_34/technologyexchange5.html 不过网上这个例子有些没有说明,有些情况不一样了,所以我重新写了。 一、获取并使用KSOAP包 在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService。PC版本的WebService库非常丰富,但这些对Android来说过于庞大。适合手机的WebService客户端的SDK有一些原创 2011-04-26 09:26:00 · 22704 阅读 · 11 评论 -
Android设置窗口的背景图
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别: Android2.1(含)以后的版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个目录,这三个目录主要是为了支持多分辨率。 dpi是“dot per inch”的缩写,每英寸像素数。 四种密度分类: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high) 一般情况下的普通屏幕:ldpi是120原创 2011-04-26 15:22:00 · 8044 阅读 · 0 评论 -
Android 的Margin和Padding属性以及支持的长度单位
Android的Margin和Padding跟Html的是一样的。如下图所示:黄色部分为Padding,灰色部分为Margin。 通俗的理解 Padding 为内边框,Margin 为外边框 对应的属性为 android:layout_marginBottom="25dip" android:layout_marginLeft="10dip" android:layout_marginTop="10dip" android:layout_marginRight="10dip原创 2011-04-26 18:53:00 · 7627 阅读 · 1 评论 -
Android TouchEvent 分发流程
消息分发知识基础动作序列的三个事件TouchEvent 分三种事件:down、move、up。其中move事件在一个操作中(这里说的一个操作就是用户与屏幕的交互,即由down到up的动作序列)可能会发生多次。 但是,我们认为一个动作序列会包含以上三种事件,因此,在事件处理中就是要处理好这个过程,而最重要的就是down事件,这是一个动作序列的起始,没有down谈不上后面的事件原创 2012-04-13 12:10:56 · 9376 阅读 · 0 评论