- 浏览: 11621 次
- 性别:
- 来自: 广西
最近访客 更多访客>>
最新评论
-
sdlcweichaohui:
请问代码中 mGameView 是什么东东? 新手学习,谢谢 ...
界面刷新invalidate(),postInvalidate() -
lenomon:
alienjun 写道lenomon 写道 这篇文章说了几个方 ...
TextView垂直滚动 -
alienjun:
lenomon 写道 这篇文章说了几个方法可以看看 andro ...
TextView垂直滚动 -
lenomon:
这篇文章说了几个方法可以看看 android自定义View- ...
TextView垂直滚动
文章列表
1.JVM如何加载一个class?
Java中类的加载是通过ClassLoader实现的,它的目的是动态加载Java类和Resource。Class文件由编辑器生成,可以被任何一种JVM加载。
JVM使用类加载器加载类文件,并创建Class 对象,类加载器都是ClassLoader的子类实例。ClassLoader子类需要重载loadClass方法以实现用户自己的类加载方式。ClassLoader 其实就是读取文件,按照CLASSPATH配置的顺序。然后解析后转化为类。
loadClass方法中使用findLoadedClass方法检查类是否已经被加载,如果返回为null,则 ...
1.通常的做法就是锁定,必须等一个执行完了,才给第二个执行,
关键字:synchronized ,锁定当前对象或者代码
当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码
class Timer{
private int num=0;
public synchronized void add(String name){
//synchronized (this) {
num++;
try {
Thread.sleep(1);
} catch (InterruptedException e) ...
线程——程序内部不同的执行路径。
创建线程有两种方式:
A、继承java.lang.Thread类。
class ThreadTest extends Thread{
public void run() {
System.out.println ("someting run here!");
}
public void run(String s){
System.out.println ("string in run is " + s);
...
1、内部类分为成员内部类、静态嵌套类、方法内部类、匿名内部类。
几种内部类的共性:
A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。
B、内部类不能用 ...
精确计算避免用float,double
- 博客分类:
- Java
在精确计算的时候不能采用float和double,
System.out.print(1.03-0.42);得到的是0.61000000000001
相关正确的做法是使用BigDecimal,int,long
BigDecimal有个好处,允许你完全控制舍入,可以从八种模式中选择。没有超过9位十进制数字,可以使用int,不超过18位,可以使用long,如果超过了18位,必须使用BigDecimal。
dip,px,pt,sp 的区别
- 博客分类:
- Android
dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。
pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;
sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。由此,根据 google 的建议,TextView 的字号最好使用 sp 做单位,而且查看Tex ...
TextView垂直滚动
- 博客分类:
- Android
代码来源于网络:
TextView垂直滚动
package com.alienjun;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Typeface;
import android.os.Handler;
impo ...
第一种解决方案是:
class UIUpdateThread implements Runnable{
public void run() {
try {
Thread.sleep(1000*5);
mHandler.post(mUpdateResults);
} catch (InterruptedException e) {
e.printStackTrace();
...
Paint 类,一些常用方法
- 博客分类:
- Android
// 1.图形绘制
setARGB(int a,int r,int g,int b); 设置绘制的颜色,a代表透明度,r,g,b代表颜色值。
setAlpha(int a); 设置绘制图形的透明度。
setColor(int color); 设置绘制的颜色,使用颜色值来表示,该颜色值包括透明度和RGB颜色。
setAntiAlias(boolean aa); 设置是否使用抗锯齿功能,会消耗较大资源,绘制图形速度会变慢。
setDither(boolean dither); 设定是否使用图像抖 ...
HashMap的遍历有两种常用的方法,那就是使用keyset及entryset来进行遍历,但两者的遍历速度是有差别的
第一种:
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey();
Object val = entry.getValue();
}
效率高,以后一定要使用此种方式!
第 ...
//判断输入的一个数是不是正整数
jQuery(".amount").keyup(function(){
var value = jQuery(this).val();
if((/^(\+|-)?\d+$/.test( value ))|| value<0){
return true;
}else{
alert("数量中请输入正整数!");
jQuery("#amount").val("0");
return false;
}
)};
用数组的排序:sort()方法. 但sort()方法本身是按ASCII字符代码从小到大排列的.所以说,如果是数字的话,会出现下面这种情况:
var arr = [3, 32, 3, 5];
arr.sort();
alert(arr.toString());//输出:2,3,32,5
但是: sort()方法可以接收一个参数,就是一个比较函数;也就是说,可以自己写个比较函数;这样的话,不管要排序的数组里的值是什么类型的,都可以排序,前提是自己写的方法够好.如下:
function compare(str1, str2){
if(str1 str2){
retur ...