`
justdoit2000
  • 浏览: 23603 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
文章列表
本文讨论以下两个内容:1. 回调函数2. 回调机制在 Android框架 监听用户界面操作中的作用一 回调函数回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。    为什么要使用回调函数 因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。  如果想知道回调函数 ...
         今天用到了android的preferences组件,可是android定义的preferrence组件只有:CheckboxBoxPrefrence、EditTextPreference、ListPreference等几个组件,可是公司要求我在preferences中用RadioButton,没办法只好自定义一个RadioPreference,方法如下:      一、写一个只有RadioButton的layout:      <?xml version="1.0" encoding="utf-8"?> & ...
在Java中,获取数组的长度和String的长度是两种不同的方法,这引起了我的一番思考。本文从JVM的角度,探讨了Java数组在JVM中是什么对象,有哪些成员,以及声明方法。      记得有人问我:“为什么获取数组的长度用.length(成员变量的形式),而获取String的长度用.length()(成员方法的形式)?”      我当时一听,觉得问得很有道理。做同样一件事情,为什么采用两种风格迥异的风格呢?况且,Java中的数组其实是完备(full-fledged)的对象,直接暴露成员变量,可能不是一种很OO的风格。那么,设计Java的那帮天才为什么这么做呢?      ...
    最近将一个windows下的小项目放到linux下,一直出问题,主要是因为在windows下和在linux下或得ip地址的方法不一样:     在linux获得ip地址方法如下:        import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; public class NetworkInfo { public static void main(String[] a ...
Handler应用总结    先从自己之前遇到的一个问题讲起吧:我想在应用里面实现两件事:点击Button后,1)每隔三秒更换一次桌面。2)每隔三秒在ImageView里面更换一张图片 图片是从资源里面随机得到的。想单纯实现换桌面和换图片是容易的,只要调用setWallpaper(bmp); 和 mImageView.setImageDrawable(getResources().getDrawable(bgs[r]));就可以了,但是要周期改变图片就有点小麻烦了。我们最容易想到的就是开个线程来控制,于是就想用如下代码: mButton.setOnClickListener(new OnCli ...
     最近做了个android 手机上的ftp服务器,由于ftp服务器要通过接收到的命令来做相应的处理,对于每一个ftp命令,我都要写一个相关的处理类。这样的话,当一个命令传过来之后,怎么实例化相应的命令类呢,最简单的方法就是用一个简单工厂设计模式了。不过这么多命令,我可不想对30命令用if else来处理,这样实在是太麻烦了。最后发现可以用java反射来做比较好。 public abstract class CommandManager implements Runnable { protected static CommandMap[] cmdClasses = { new ...
Java 的内存分配一直是初学 Java 的一个重难点,下面就一起来分析一下.     Java程序运行时的内存结构分成:方法区、栈内存、堆内存、本地方法栈几种。   1:方法区     方法区存放装载的类数据信息包括:     (1):基本信息:            1)每个类的全限定名            2)每个类的直接超类的全限定名(可约束类型转换)            3)该类是类还是接口            4)该类型的访问修饰符            5)直接超接口的全限定名的有序列表     (2):每个已装载类的详细信息:            1)运行时常量池:   ...
    最近看java编程思想看到协办返回类型有点迷糊,百度知道里有位兄弟总结挺好,在这分享下: 在Java1.4及以前,子类方法如果要覆盖超类的某个方法,必须具有完全相同的方法签名,包括返回值也必须完全一样。 Java5.0放宽了这一限制,只要子类方法与超类方法具有相同的方法签名,或者子类方法的返回值是超类方法的子类型,就可以覆盖。 注意:"协变返回(covariant return)",仅在subclass(子类)的返回类型是superclass(父类)返回类型的extension(继承)时才被容许。 举例: ============================ ...
  记得有次面试管问我java new一个对象占多少内存,当时没答对,现在终于清楚了: Object o=new Object():     在java中空对象占八个字节,对象的引用占四个字节。所以上面那条语句所占的空间是4byte+8byte=12byte.java中的内存是以8的倍数来分配的,所以分配的内存是16byte. 举个例子: Class O{   int i;   byte j;   String s; }   其所占内存的大小是空对象(8)+int(4)+byte(1)+String引用(4)=17byte,因要是8的整数倍,所以其占大小为24byte.    当然,如果类 ...
使用dex2jar和JD-GUI这2个工具可以很方便的方编译android的apk文件。 首先下载这两个工具:    dex2jar下载地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip   JD-GUI下载地址:       windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip       Linux版JD-GUI:http://laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz ...
Global site tag (gtag.js) - Google Analytics