摘要:
在一些应用中,无法事先知道使用者将加载什么类,而必须让使用者指定类名称以加载类,可以使用 Class 的静态 forName() 方法实现动态加载类。下面的范例让你可以指定类名称来获得类的相关信息。package cn.sunzn.demo;public class ClassDemo { public static void main(String[] args) { try { Class c = Class.forName(args[0]); System.out.println("类名称:" + c.getName());... 阅读全文
摘要:
package cn.sunzn.demo;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Demo { public static void main(String[] args) { System.out.println(isContainChinese("中国China")); } public static boolean isContainChinese(String str) { Pattern p = Pattern.compile(... 阅读全文
摘要:
用真机调试程序的时候,eclipse 的 Console 总是出现如下的错误"Adb connection Error:远程主机强迫关闭了一个现有的连接"。[2013-07-12 10:37:36 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接。[2013-07-12 10:37:38 - DeviceMonitor] Connection attempts: 1问题出现的原因:这是 DDMS 调用 adb 引发的。经过一番搜索,发现这是 Windows 环境下,adb 的一个限制,也可以说是 bug。当手机上同 阅读全文
摘要:
即使有一个类并对它一无所知,但其实它本身就包含了许多信息,Java 在需要使用到某个类时才会将类加载,并在 JVM 中以一个 java.lang.Class 的实例存在。从 Calss 实例开始,可以获得类的许多信息。Java 在真正需要使用一个类时才会加以加载,而不是在程序启动时就加载所有的类。因为大多数的使用者都只使用到应用程序的部分资源,在需要某些功能时才加载某些资源,可以让系统的资源运用更有效率(Java 本来就是为了资源有限的小型设备而设计的,这样的考虑是必然的)。一个 java.lang.Class 对象代表了 Java 应用程序在运行时所加载的类或接口实例,也用来表达 enum( 阅读全文
摘要:
Android 应用开发中,有一种场景,就是我们不希望用户按 Back 键直接退出 Activity,而是希望应用隐藏到后台,类似于按 Home 键的效果。参考如下代码即可实现这样的效果: public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { Intent intent = new Intent(Intent.ACTION_MAIN); intent.setFlags(Intent.FLAG_A... 阅读全文
摘要:
Android 开发过程中部分 Activity 在显示的时候就要求给用户显示一个进度框来改善用户体验,比如:Activity 在启动的时候就去联网请求数据、读取数据库内容等。进度框显示样式如下,采用帧动画,而非 ProgressBar。帧动画的启动方式有四种,代码分别如下:▐ 第一种方式在 Activity 启动时自动运行动画package cn.sunzn.anim;import android.app.Activity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import an 阅读全文
摘要:
Why is Thread.stop deprecated?Because it is inherently unsafe. Stopping a thread causes it to unlock all the monitors that it has locked. (The monitors are unlocked as the ThreadDeath exception propagates up the stack.) If any of the objects previously protected by these monitors were in an inconsis 阅读全文
摘要:
Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGro 阅读全文
摘要:
对于每一个基于相同类所产生的对象而言,它们会拥有各自的域成员,然而在某些时候,你会想要这些对象拥有共享的域成员。举个例子来说,在 Ball 类中,打算使用到圆周率 PI 这个数据,因为对于任何一个 Ball 的实例而言,圆周率都是相同的,你不需要让不同的 Ball 实例拥有各自的圆周率域成员。1.静态成员变量可以将 PI 域成员声明为 static,被声明为 static 的域成员又称静态域成员。静态域成员是属于类所有,而不是个别的对线。可以将静态成员视为每个对象实例所共享的域成员。要声明静态域成员,只要在声明域成员时加上 static 关键字即可。例如:public final class 阅读全文
摘要:
final 关键字可以使用在变量声明时,表示该变量一单设定之后,就不可以再改变该变量的值。例如在下面的程序代码片段中,PI 这个变量一旦设定,就不可以再有指定值给 PI 的动作:final double PI = 3.14159;如果在定义方法成员时使用 final,则表示该方法成员再也无法被子类重写(Override)。例如:public class Ball { private double radius; public final double getRadius() { return radius; }}在继承 Ball 类后,由于 getRadius(... 阅读全文