文章列表
学习J2ME,首先要了解MIDlet的生命周期。本文主要是深入了解一下MIDlet的生命周期。
首先在你运行一个程序的时候,JAM会调用该midlet的构造函数来生成midlet的对象,然后被JAM置于Paused状态。一旦JAM认为这个midlet对象 ...
J2ME的生命周期
我觉得J2ME的生命周期从MIDlet类从上向下阅读代码行比较容易理解和记忆。
AMS应用程序管理器是通过相应的方法来管理MIDlet的行为。
MIDlet的构造函数
虚拟机JVM调用MIDlet的构造函数初始化MIDlet对象。此时MIDlet还处于Paused()暂停状态。
StartApp()用来初始化MIDlet所需要的资源。此时MIDlet处于Active()活动状态。
PauseApp()用来释放MIDlet中的所有资源。暂停正在运行的线程。此时处于Paused()暂停状态
DestroyApp()用来销毁MIDlet。处于销毁状态。
drawSubstring(str,offset,len,startx,starty,maodian);
它的几个参数的含义:
str,是要截取的字符串。
offset截取的起始位置。
len截取的长度。
startx,starty,截取的子字符串绘制的位置。
maodian,绘制的锚点。
手机屏幕截取字符串的常用方法:
首先在屏幕上setclip出我们用来填充字符串的子屏幕,也就是从整个屏幕中截取屏幕的一部分用来填充字符串。
g.setClip(x,y,w,h);
然后把字符串str合理地切割成n个子字符串,并绘制到我们setclip出来的屏幕部分
for(x=0;x<str.leng ...
sleep与wait
- 博客分类:
- java基础
1 sleep
sleep方法使调用该方法的线程暂停,但不释放对象锁,也就是其他线程还是无法访问共享数据。
sleep方法用于调配高优先级和低优先级线程的执行顺序。
2wait
wait方法使调用该方法的线程暂停,会释放对象锁,其他线程此时可以访问共享数据。
用于处理多个线程对共享数据的访问。
关于synchronized
- 博客分类:
- java基础
synchronized是一个关键字,代表这个方法加锁,相当于不管哪一个线程A访问这个方法时都要检查是否其它线程访问这个方法(例如线程B),只有当线程B访问完这个方法时,线程A才可以访问。
定义这个规范的目的是让项目中所有的文档看起来像是一个人写的,增加可读性,减少项目组中因为换人带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)。
(package)包的命名
java包的名字都是由小写单词组成。但是由于java面向对象编程的特性,每一名java程序员都可以编写属于自己的java包,为了保障每个java包命名的唯一性,在最新java编程规范中,要求程序员在自己定义的包的名称前加上为的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。
例如: net.frontfree.javagroup
(Cl ...
巩固一下J2ME读写,下面是常用的一种读写方式。
我们通常是把数组数据写到文件里节省存储空间(不过在读取文件的时候会占用部分内存来读取数据),然后把自定义格式的文件放到资源文件夹res里,程序运行时需要时在从文件里读取。
这个过程分为读和写两步。
一。先把数据写入文件。
public class writeToFile {
int data[][]={ {1,2,3}
{4,6,5}
{7,8,9} };
int map[][]=new int [3][3];
public writeToFile() {
} ...
以前一直不太了解何为状态机,最近查找了一些网上的资料,对状态机有了一定的认识,在此在巩固一下状态机一些概念知识。
可以把状态机看做一个用来处理事情的机器,这个机器中含有好多事情需要处理,如何处理就要看“状态了”,状态机就是在不同的状态下指定的时间来处理这些事情。
例如:
while(true){
if(状态)
处理事情;
}这就是程序中的一个状态机。
(转载地址)http://hi.baidu.com/liweicheng1986/blog/item/1fe5f0f95a163205d8f9fd63.html
The Road of Java to EXE【将Java转换为exe文件发布的方法】【转】2009年10月19日 星期一 11:20转自:A Boy's Dream
最近一个项目要求我本地测试好的Java Socket服务端程序上传到客户的服务器并部署。
第一个想到的问题就是我第一次运行Java程序时繁琐的安装配置(这在很大程度上影响了我对Java的好感),如果使用同样的方法在客户的服务 器上安装配置的话,基本是不可能的,客户 ...
了解ASCII码首先要了解一下什么是编码,什么是编码?
在计算机中用二进制数表示符号就是编码
什么是ASII码?
ASII码是美国的编码标准,在内存中占7个bit位
什么是Unicode码?
Unicode码是ASCII码的扩展,在内存中占8个bit位
java有8种数据类型,要注意各个数据类型在内存中所占的空间和它的取值范围:
1 字节型(byte) 字节型在内存中占一个字节的内存空间 它的范围是-255~255
2 字符型(char) 字符型在内存中占两个字节的内存空间 它的范围是‘u00000000’~'ufffffff'
3 短整型(short) 短整型在内存中占2个字节的内存空间 它的范围是-2^15~2^15-1
4 整形(int) 整形在内存中占4个字节的内存空间 它的范围是-2^31~2^31-1
5 长整型(long) 长整型在内存中占8个字节的内存空间 它的范围是-2^63~2^63-1
6 布尔型(boolean) ...
在数据运算时经常会用到位运算符,所以一定要知道各位运算符的意义:
1 按位与&:
按位与表示用按位与运算的两个数的二进制数相同位同时为1才为1否则为0例如6&3
6的二进制数是110,3的二进制数是011.进行运算
110
&
011
————————
010
因此结果应该为2
2.按位或|
按位或表示运算的两个数的二进制数相同为有 一个为1就为1否则为0,例如6|3
110
|
011
————————
111
因此结果为7
3按位异或^:
按位异或表示运算的两个数的二进制相同位 相同为1 不同为0 例如6^3
...