摘要: ListView和适配器的基础:它是如何工作的:ListView 向适配器说“给我的每个条目一个布局”一个新的布局创建出来并显示出来下一个问题:当我们有10亿个条目的时候怎么办,难道新创建一个新的布局并显示出来吗?答案肯定是“不”。Android会为你把布局缓存起来。这一部分在Android中称呼为"Recycle - 回收利用"。以下为它的具体实现过程图。当你有一亿个条目的时候, 只有可看见的View保存在内存中+Recycle过的View当ListView第一次向适配器请求一个VIew的时候,convertView为null,因此需要新建一个convertView.当L 阅读全文
posted @ 2012-01-01 12:21 卡马克 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 来自金旭亮老师Java编程系列抽象类和抽象方法有abstract修饰的类称为“抽象类”,它只定义了什么方法应该存在,不能创建对象,必须派生出一个子类,并在子类中实现其未实现的方法之后,才能使用new关键字创建对象。在方法前加上abstract就形成抽象方法,只有方法声明,没有实现代码一个抽象类中可以包含非抽象方法和成员变量。包含抽象方法的类一定是抽象类,但抽象类中的方法不一定是抽象方法抽象类的三种“类型”1. 直接定义了一个抽象方法2. 继承了一个抽象父类,但没有完全实现父类包含的抽象方法3. 实现了一个接口,但没有完全实现此接口所包容的抽象方法。从抽象类继承的子类必须实现父类的所有抽象方法, 阅读全文
posted @ 2012-01-01 12:20 卡马克 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 来自金旭亮老师Java编程系列掌握多态概念的关键点多态的最本质特征就是父类变量可以引用子类对象。换句话说:子类对象可以被当成基类对象使用! Parent p=new Child();总是可以让更一般的对象容纳更具体化的对象.特别地,Java类库的最顶层类是Object。因此每个对象都可以赋值给Object变量。子类对象可以直接赋给基类变量。基类对象要赋给子类对象变量,必须执行类型转换,语法: 子类对象变量=(子类名)基类对象名;可以使用instanceof运算符判断一个对象是否可以转换为指定的类型 阅读全文
posted @ 2012-01-01 12:20 卡马克 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 原文地址:一个应用通常包含不同的Activity。每个Activity应该要设置具体的动作以便用户可以执行或启动其他的Activity。例如邮件应用,应该有一个Activity用来显示邮件列表。当用户选择一个邮件,新的Activity会打开。一个Activity甚至可以打开设备中别的应用里存在的Activity。例如,当你的应用希望发送一封邮件,你可以定义一个Intent用来执行“发送”操作并且包含一些数据,像邮件地址,邮件内容等信息。别的应用里的Activity可以声明自己用来处理这些Intent并打开。这种情况,这个Intent就发送了一封邮件,因此邮件应用里的“创作”Activity会打 阅读全文
posted @ 2012-01-01 12:19 卡马克 阅读(237) 评论(0) 推荐(0) 编辑
摘要: How to make a local Service and bind to it in Android这篇文章介绍如何使用Binding方法来创建一个本地服务。不需要太惊讶,当开发人员挣扎在服务的概念里的时候,简单的任务会变得一团糟。以我的经验来开,这不全是开发人员的错误。随着Android的快速发展,过去的几年间功能文档已经有些落后了,因此实例代码不再是最好的联系方式了。例如当你使用LoacalService.java示例的时候,会泄露服务。Application Fundamental建议使用onStart()方法创建服务,但是它已经被遗弃了。Whendo I use a Local 阅读全文
posted @ 2012-01-01 12:18 卡马克 阅读(1077) 评论(0) 推荐(0) 编辑
摘要: package com.api.android.GBApp;import java.util.Vector;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Paint.FontMetrics;import android.util.AttributeSet;import android.view.View;import android.view.Wind 阅读全文
posted @ 2012-01-01 12:16 卡马克 阅读(2718) 评论(1) 推荐(2) 编辑
摘要: Dictionary:定义了键和值之间的一对一关系。类似于Java中的HashTable。 dict = {"a":"a", "b":"b"}。 通过dict["a"]来引用对应Key的值特性:不能有重复的Key,给一个存在的Key赋值会覆盖掉原来的值。Dictionary是无序的。Dictionary的Key对大小写敏感。在单个Dictionary中可以有多种数据类型。操作:删除元素:del d[key]清空元素:d.clear()List:类似于Java中的ArrayList,可以保存任意的 阅读全文
posted @ 2011-12-02 11:08 卡马克 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 函数声明:def buildConnectionString(params):静态类型语言:编译期间就确定数据类型的语言。 例如C, Java动态类型语言:运行期间确定数据类型的语言。 例如Python, VBScript强类型语言:总是强制类型定义的语言。例如Python, Java弱类型语言:类型可以忽略的语言。例如VBScript, 例如字符串'12'和'3'可以拼接起来成为‘123’,也可以跟数字123进行比较,而不需要进行任何转换。文档化函数(注释):""" """ 三重字符串。Python 阅读全文
posted @ 2011-12-02 11:07 卡马克 阅读(127) 评论(0) 推荐(0) 编辑