请问:手机程序是如何开发的?(100分)

W

whbell

Unregistered / Unconfirmed
GUEST, unregistred user!
我指的是哪儿有手机的程序下载?
用什么样的硬件写到手机模块中去?
比如我想更改我的手机中的某一个菜单,如何办?
 
那种东西都是手机厂家的吃饭家当,怎么会容易公开。
我用过的是ARM系统,通过232下载的,编程语言当然是C++。
 
有的手机上没有那个宽的插口
是不是不能和计算机相连接?
我听说有些回收旧手机的能把其中的程序换掉,再包装出售。
这是怎么做的?
 
www.6688i.com
以及上面的好多联接都可以下载到你所说的手机程序。
手机程序分好多种。有手机升级操作系统程序,
有点像电脑的刷bios。有java手机可用的应用程序。
还有最常见的就是通过com端口和数据线连接手机,读写信息的程序。
例如西门子手机专家。
我曾经把我的6688通过刷新bios升级操作系统到6688i,西门子官方网站的程序,
你所说的回收旧手机的能把其中的程序换掉,再包装出售,
估计也就是通过com口和数据线连结到手机升级操作系统的。
常见的有nokia8210升级8250,
三星水货A188,N188升级中文操作系统。
 
to bubble:
在那里没有找到升级的程序....
另:如果有的手机没有串口的接头,怎么办?
例如我的诺基亚3350
谢谢你的帮助
 
3350应该可以升级3315,可能需要专用flash线。
你可以在google用 诺基亚 and 3350 and 升级
作为关键字搜索一下。
http://soft.138139.net/
这里有关于3350升级的软件下载。
 
可以用模拟器调试。
比如用jcreator +motolaraSDK (388)

假设安装路径如下:
JCreator D:/Program Files/Xinox Software/JCreator LE
motoj2sdk D:/Motoj2sdk
JDK D:/jdk1.3.1
注意:要先击活模拟环境,运行D:/MotoJ2SDK/generic/scripts/runConstructor.bat
选择手机型号,选择语言,选择normal, 再"创建"。
启动Jcreater之后我的配置如下:
第一步 选择 Configure->Options->JDK Profiles
注意:一定新建 profile and select “D:/jdk1.3.1”
将名字改为“J2ME 388”
Add classes path “D:/Motoj2sdk/lib”
Adddo
cumentation path “D:/Motoj2sdk/docs”
分别将后加的两行移到最上方.
第二步 选择 Configure->Options->JDK Tools
选择Complier
选中 and edit it.
将 parameters 变为 -classpath D:/motoj2sdk/lib $[JavaFiles]
第三步
选择 Configure->Options->Tools
点击“New”选择do
S command
名字为“Preverifier”
将 arguments 换为 d:/Motoj2sdk/bin/preverifier.exe -classpath "d:/Motoj2sdk/li
b" -d . .
将 initial directory 变为 “$[PrjDir]”

第4步
按上面的方法在New一个do
S command
名字:“Run Emulator”
将 arguments 换成 “java -Djava.library.path=d:/MotoJ2SDK/lib -classpath "d:/M
otoJ2SDK/bin/Emulator.jar";"d:/MotoJ2SDK/ConfigTool.jar" com.mot.tools.j2me.em
ulator.Emulator -classpath$[PrjDir];"d:/MotoJ2SDK/lib" -deviceFile d:/MotoJ2SD
K/bin/resources/device.props javax.microedition.midlet.AppManager $[CurClass]
-JSA 1 1”
将 initial directory 换成 “d:/Motoj2sdk/bin”
ok!编辑工具配置完毕!
新建一个工程——选择Empty Project
再取一个名字 比如:test
则jcreater自动在你的工作目录中生成目录test
再new一个file选择java File
写好你的原代码,保存 如:test.java
在Project中 选add file
然后选中你刚才的test.java
注意:不要有package ;

编译——》tools中的Preverifier进行预先审核——》tools中的Run Emulator进行模拟

test.java 的例子:功能是捕捉键盘输入的ascII吗。
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class test extends MIDlet implements CommandListener {
/**
* The screen for this MIDlet
*/
private KeyEventsDemoCanvas myCanvas;
/**
* Reference to current Display
*/
private Display myDisplay;
/**
* Command to make sure soft key is not a key event
*/
private Command okCommand = new Command("OK", Command.OK, 1);
test() {
myDisplay = Display.getDisplay(this);
myCanvas = new KeyEventsDemoCanvas();
myCanvas.addCommand(okCommand);
myCanvas.setCommandListener(this);
}
/**
*do
nothing if a command is fired
*/
public void commandAction(Command c, Displayable s) {
}
/**
* Start the MIDlet
*/
protected void startApp() throws MIDletStateChangeException {
myDisplay.setCurrent(myCanvas);
}
/**
* Pause the MIDlet
*/
protected void pauseApp() {
}
/**
* Called by the framework before the application is unloaded
*/
protected void destroyApp(boolean unconditional) {
}
/**
* The screen for this application
*/
class KeyEventsDemoCanvas extends Canvas {
/**
* Background color (i.e. the color of the screen)
*/
public final int BACKGROUND_COLOR = 0xFFFFFF;
// white
/**
* Foreground color (i.e. the color of the rectangles)
*/
public final int FOREGROUND_COLOR = 0x000000;
// black
/**
* Last key that was pressed
*/
private int lastKey;
/**
* Paint the screen
*/
public void paint(Graphics g) {
/*
* Clear the screen
*/
g.setColor(BACKGROUND_COLOR);
g.fillRect(0, 0, getWidth(), getHeight());
/*
* Paint the message
*/
g.setColor(FOREGROUND_COLOR);
g.drawString("Press a key!", 0, 0, Graphics.TOP | Graphics.LEFT);
if (lastKey != 0) {
g.drawString("Key Code: " + lastKey, 0, g.getFont().getHeight(),
Graphics.TOP | Graphics.LEFT);
try {
g.drawString("Action: " + getGameAction(lastKey), 0,
2 * g.getFont().getHeight(),
Graphics.TOP | Graphics.LEFT);
g.drawString("Key Name: " + getKeyName(lastKey), 0,
3 * g.getFont().getHeight(),
Graphics.TOP | Graphics.LEFT);
} catch (Exception e) {
// ignore since alphabet keys will throw this exception
}
}
}
/**
* Handle key press
*/
public void keyPressed(int keyCode) {
lastKey = keyCode;
repaint();
}
/**
* Demonstrate keyRepeated events
*/
public void keyRepeated(int keyCode) {
System.out.println("Key repeated " + keyCode);
}
}
}
 
那写好的程序如何进入手机呢?
使用什么设备?
稍迟点给分 :)
 
也许可以在模拟器上调试?
 
写好的程序可以用软件下载到手机上。摩托罗拉388就是这样的。
 
得看是什么手机了,老手机就没机会了
如果你用Treo那写PALM程序就可以了
 
呵呵。我的是6618 和电脑链接之后感觉很爽。
 
多人接受答案了。
 
顶部