javatoolsfor
一直没有时间去关注Java的版本更新,最近有空来做个Java8的新功能学习。下面记录下在eclipse中安装java8的步骤,以及遇到的各种问题和解决方法。
1. window系统下载对应的java8版本(jdk-8u131-windows-x64.exe安装版本),按照步骤部署。安装成功后,cmd显示如下:
2. eclipse的版本是Kepler Service Release 2,搜索插件路径: Help -> eclipse marketplace-> search -> find
1) Java 8 support for EclipseKepler SR2 --java8编译所需,
2) java 8 Facet for Web Tools forEclipse Kepler SR2 --java8运行所需
3.各个参数配置
1) 系统配置java8编译环境,window -> Preferences
2) 工程中使用java8的编译路径,project -> java build path -> libraries -> edit
3) 相应的java compiler 路径对应为1.8版本
4) 配置 project facets 对应的java8
此项不配置,在本地的编译、运行不会报错,但是在工程上有小红叉,会影响到web中的运行。报错的信息如下:
到这里已经消灭掉了所有的小红叉。遇到的问题多是些环境、IDE的版本兼容、配置问题,通过网络和实际情况摸索着解决。现在磨刀已好,开启砍柴工。
Ⅱ 如何打包JAVA游戏文件
第一种:在jbuilder中:
首先你要保证Run菜单-->Run Project能顺利运行
然后Wizards菜单-->Native Executable Builder
选中Compress the contents of the archive(产生jar文件的话)
Next-->Next-->选中Always include all classes and resources再Next-->Next-->Next
选中Windows GUI"exe"(产生EXE文件的话)-->Finish
再在项目的文件列表中的Native Executable右击-->Make就可以了
第二种:在cmd 下生成jar文件
abc.txt内容如下:
Manifest-Version: 1.0
Main-Class: main-class-name(回车)
在cmd下:
javac *.java
jar cvfm abc.jar abc.txt *.class
示例——生成能通过鼠标双击就执行的.jar文件
一、 编写Java源程序Test.java如下:
// Test.java
import javax.swing.*;
/**
* @(#) Test.java
* Copyleft (c) 2002 RatKing
* @author <a href="[email protected]">RatKing</a>
* @version 0.1, 2002-11-7
* 描述:一个测试用的Java Application
*/
public class Test extends JFrame {
public Test(String title) {
super(title);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().add(new JLabel("测试!", JLabel.CENTER), SwingConstants.CENTER);
this.pack();
}
public static void main(String[] args) {
try {
//UIManager.setLookAndFeel(UIManager.());
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch(Exception e) {
e.printStackTrace();
}
Test t = new Test("Test - 测试");
t.setVisible(true);
}
}
二、编译Test.java为Test.class(当然假设你事先已经设置好了JDK的环境变量PATH和CLASSPATH)
在命令行执行编译命令:
javac Test.java
三、用文本编辑器(比如记事本/UltraEdit等 - 甚至用ECHO命令加管道“>>”)编写如下manifest文件,并保存为abc.txt
Manifest-Version: 1.0
Main-Class: Test
【注意】文件abc.txt内必须是3行文本:
第一行的内容依次是:“Manifest”、英文减号、“Version”、英文冒号、英文空格、数字“1”、英文句号、数字“0”
第二行的英文冒号与Test之间必须要有一个英文空格!!!
第三行是一个空行,也就是说,你要在Test之后键入一个回车,然后才可以存盘退出!!!
如果冒号后面没有空格,可以生成jar文件但不能执行;如果Test后没有回车符,则生成jar文件时会报错。
四、将Test.class打包成.jar文件,并使用abc.txt指明哪一个是带有public static void main()的“主函数”
在命令行执行编译命令:
jar cvfm Test.jar abc.txt *.class
你可以使用WinZip之类的解压软件看一看刚刚生成的Test.jar文件里到底有什么。
五、用鼠标双击Test.jar的图标,应该可以看到Test执行后的窗口。
〖说明〗如果你正确地安装了Java运行环境(JRE),那么.jar的图标应该是象一页纸并有一个A的形状,就如同写字板的图标。
如果你的.jar文件默认的打开关联不对,可以重新设置:
我的电脑->查看(Win9x)或工具(Win2k)->文件夹选项->文件类型->选择JAR文件->编辑该类型文件的属性->操作栏填入[ open ](不填引号和中括号[]),并在“执行操作的应用程序”栏填入[ "C:\Program Files\Java\j2re1.4.1\bin\javaw.exe" -jar "%1" %* ](填两对英文引号,不填[])
并按“确定”、“关闭”退出对.jar文件关联的编辑。
(你的javaw.exe文件是不是位于C:\Program Files\Java\j2re1.4.1\bin\路径下,视你自己电脑的情况而定) 另外,可以下一个第三方软件
有三种方式实现java压缩:
1、jdk自带的包java.util.zip.ZipOutputStream,不足之处,文件(夹)名称带中文时,出现乱码问题,实现代码如下:
/**
* 功能:把 sourceDir 目录下的所有文件进行 zip 格式的压缩,保存为指定 zip 文件
* @param sourceDir 如果是目录,eg:D:\\MyEclipse\\first\\testFile,则压缩目录下所有文件;
* 如果是文件,eg:D:\\MyEclipse\\first\\testFile\\aa.zip,则只压缩本文件
* @param zipFile 最后压缩的文件路径和名称,eg:D:\\MyEclipse\\first\\testFile\\aa.zip
*/
public File doZip(String sourceDir, String zipFilePath) throws IOException {
File file = new File(sourceDir);
File zipFile = new File(zipFilePath);
ZipOutputStream zos = null;
try {
// 创建写出流操作
OutputStream os = new FileOutputStream(zipFile);
BufferedOutputStream bos = new BufferedOutputStream(os);
zos = new ZipOutputStream(bos);
String basePath = null;
// 获取目录
if(file.isDirectory()) {
basePath = file.getPath();
}else {
basePath = file.getParent();
}
zipFile(file, basePath, zos);
}finally {
if(zos != null) {
zos.closeEntry();
zos.close();
}
}
return zipFile;
}
/**
* @param source 源文件
* @param basePath
* @param zos
*/
private void zipFile(File source, String basePath, ZipOutputStream zos)
throws IOException {
File[] files = null;
if (source.isDirectory()) {
files = source.listFiles();
} else {
files = new File[1];
files[0] = source;
}
InputStream is = null;
String pathName;
byte[] buf = new byte[1024];
int length = 0;
try{
for(File file : files) {
if(file.isDirectory()) {
pathName = file.getPath().substring(basePath.length() + 1) + "/";
zos.putNextEntry(new ZipEntry(pathName));
zipFile(file, basePath, zos);
}else {
pathName = file.getPath().substring(basePath.length() + 1);
is = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(is);
zos.putNextEntry(new ZipEntry(pathName));
while ((length = bis.read(buf)) > 0) {
zos.write(buf, 0, length);
}
}
}
}finally {
if(is != null) {
is.close();
}
}
}
2、使用org.apache.tools.zip.ZipOutputStream,代码如下,
package net.szh.zip;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.CRC32;
import java.util.zip.CheckedOutputStream;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;
public class ZipCompressor {
static final int BUFFER = 8192;
private File zipFile;
public ZipCompressor(String pathName) {
zipFile = new File(pathName);
}
public void compress(String srcPathName) {
File file = new File(srcPathName);
if (!file.exists())
throw new RuntimeException(srcPathName + "不存在!");
try {
FileOutputStream fileOutputStream = new FileOutputStream(zipFile);
CheckedOutputStream cos = new CheckedOutputStream(fileOutputStream,
new CRC32());
ZipOutputStream out = new ZipOutputStream(cos);
String basedir = "";
compress(file, out, basedir);
out.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private void compress(File file, ZipOutputStream out, String basedir) {
/* 判断是目录还是文件 */
if (file.isDirectory()) {
System.out.println("压缩:" + basedir + file.getName());
this.compressDirectory(file, out, basedir);
} else {
System.out.println("压缩:" + basedir + file.getName());
this.compressFile(file, out, basedir);
}
}
/** 压缩一个目录 */
private void compressDirectory(File dir, ZipOutputStream out, String basedir) {
if (!dir.exists())
return;
File[] files = dir.listFiles();
for (int i = 0; i < files.length; i++) {
/* 递归 */
compress(files[i], out, basedir + dir.getName() + "/");
}
}
/** 压缩一个文件 */
private void compressFile(File file, ZipOutputStream out, String basedir) {
if (!file.exists()) {
return;
}
try {
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream(file));
ZipEntry entry = new ZipEntry(basedir + file.getName());
out.putNextEntry(entry);
int count;
byte data[] = new byte[BUFFER];
while ((count = bis.read(data, 0, BUFFER)) != -1) {
out.write(data, 0, count);
}
bis.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
3、可以用ant中的org.apache.tools.ant.taskdefs.Zip来实现,更加简单。
package net.szh.zip;
import java.io.File;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Zip;
import org.apache.tools.ant.types.FileSet;
public class ZipCompressorByAnt {
private File zipFile;
public ZipCompressorByAnt(String pathName) {
zipFile = new File(pathName);
}
public void compress(String srcPathName) {
File srcdir = new File(srcPathName);
if (!srcdir.exists())
throw new RuntimeException(srcPathName + "不存在!");
Project prj = new Project();
Zip zip = new Zip();
zip.setProject(prj);
zip.setDestFile(zipFile);
FileSet fileSet = new FileSet();
fileSet.setProject(prj);
fileSet.setDir(srcdir);
//fileSet.setIncludes("**/*.java"); 包括哪些文件或文件夹 eg:zip.setIncludes("*.java");
//fileSet.setExcludes(...); 排除哪些文件或文件夹
zip.addFileset(fileSet);
zip.execute();
}
}
测试一下
package net.szh.zip;
public class TestZip {
public static void main(String[] args) {
ZipCompressor zc = new ZipCompressor("E:\\szhzip.zip");
zc.compress("E:\\test");
ZipCompressorByAnt zca = new ZipCompressorByAnt("E:\\szhzipant.zip");
zca.compress("E:\\test");
}
}
Ⅳ Java杩涢桩锛歋E6璋幂敤缂栬疟鍣ㄧ殑涓ょ嶆柟娉昜1]
銆銆鍦ㄥ緢澶钦ava搴旂敤涓闇瑕佸湪绋嫔簭涓璋幂敤Java缂栬疟鍣ㄦ潵缂栬疟鍜岃繍琛 浣嗗湪镞╂湡镄勭増链涓锛圝ava SE 鍙娄互鍓岖増链锛変腑鍙鑳介氲繃tools jar涓镄 sun tools javac鍖呮潵璋幂敤Java缂栬疟鍣 浣嗙敱浜巘ools jar涓嶆槸镙囧嗳镄凧ava搴 鍦ㄤ娇鐢ㄦ椂蹇呴’瑕佽剧疆杩欎釜jar镄勮矾寰 钥屽湪Java SE 涓涓烘垜浠鎻愪緵浜嗘爣鍑嗙殑鍖呮潵镎崭綔Java缂栬疟鍣 杩椤氨鏄痡avax tools鍖 浣跨敤杩欎釜鍖 鎴戜滑鍙浠ヤ笉鐢ㄥ皢jar鏂囦欢璺寰勬坊锷犲埌classpath涓浜
銆銆涓 浣跨敤JavaCompiler鎺ュ彛𨱒ョ紪璇慗ava婧愮▼搴
銆銆浣跨敤Java API𨱒ョ紪璇慗ava婧愮▼搴忔湁寰埚氭柟娉 鐜板湪璁╂垜浠𨱒ョ湅涓绉嶆渶绠鍗旷殑鏂规硶 阃氲繃JavaCompiler杩涜岀紪璇
銆銆鎴戜滑鍙浠ラ氲繃ToolProvider绫荤殑闱欐佹柟娉昰etSystemJavaCompiler𨱒ュ缑鍒颁竴涓狫avaCompiler鎺ュ彛镄勫疄渚
銆銆JavaCompiler piler = ToolProvider getSystemJavaCompiler();
銆銆JavaCompiler涓链镙稿绩镄勬柟娉曟槸run 阃氲繃杩欎釜鏂规硶鍙浠ョ紪璇慾ava婧愮▼搴 杩欎釜鏂规硶链 涓锲哄畾鍙傛暟鍜 涓鍙鍙桦弬鏁帮纸鍙鍙桦弬鏁版槸浠嶫ave SE 寮濮嬫彁渚涚殑涓涓鏂扮殑鍙傛暟绫诲瀷 鐢╰ype钬 argu琛ㄧず锛 鍓 涓鍙傛暟鍒嗗埆鐢ㄦ潵涓箦ava缂栬疟鍣ㄦ彁渚涘弬鏁 寰楀埌Java缂栬疟鍣ㄧ殑杈揿嚭淇℃伅浠ュ强鎺ユ敹缂栬疟鍣ㄧ殑阌栾淇℃伅 钖庨溃镄勫彲鍙桦弬鏁板彲浠ヤ紶鍏ヤ竴涓鎴栧氢釜Java婧愮▼搴忔枃浠 濡傛灉run缂栬疟鎴愬姛 杩斿洖
銆銆int run(InputStream in OutputStream out OutputStream err String arguments)
銆銆濡傛灉鍓 涓鍙傛暟浼犲叆镄勬槸null 闾d箞run鏂规硶灏嗕互镙囧嗳镄勮緭鍏 杈揿嚭浠f浛 鍗砈ystem in System out鍜孲ystem err 濡傛灉鎴戜滑瑕佺紪璇戜竴涓猼est java鏂囦欢 骞跺皢浣跨敤镙囧嗳杈揿叆杈揿嚭 run镄勪娇鐢ㄦ柟娉曞备笅
銆銆int results = tool run(null null null test java );
銆銆涓嬮溃鏄浣跨敤JavaCompiler镄勫畬鏁翠唬镰
銆銆import java io *;銆銆import javax tools *;銆銆public class test_pilerapi銆銆{銆 銆public static void main(String args[]) throws IOException銆 銆{銆 銆JavaCompiler piler = ToolProvider getSystemJavaCompiler();銆 銆int results = piler run(null null null test java );銆 銆System out println((results == )? 缂栬疟鎴愬姛 : 缂栬疟澶辫触 );銆 銆// 鍦ㄧ▼搴忎腑杩愯宼est銆 銆Runtime run = Runtime getRuntime();銆 銆Process p = run exec( java test );銆 銆BufferedInputStream in = new BufferedInputStream(p getInputStream());銆 銆BufferedReader br = new BufferedReader(new InputStreamReader(in));銆 銆String s;銆 銆while ((s = br readLine()) != null)銆 銆System out println(s);銆 銆}銆銆}銆銆public class test銆銆{銆 銆public static void main(String[] args) throws Exception銆 銆{銆 銆System out println( JavaCompiler娴嬭瘯鎴愬姛锛 );銆 銆}銆銆}
銆銆缂栬疟鎴愬姛镄勮緭鍑虹粨鏋
銆銆缂栬疟鎴愬姛
銆銆JavaCompiler娴嬭瘯鎴愬姛
銆銆缂栬疟澶辫触镄勮緭鍑虹粨鏋
銆銆test java: : 镓句笉鍒扮﹀彿
銆銆绗﹀彿 鏂规硶 printlnln(java lang String)
銆銆浣岖疆 绫 java io PrintStream
銆銆System out printlnln( JavaCompiler娴嬭瘯鎴愬姛锛 );
銆銆^
銆銆 阌栾
銆銆缂栬疟澶辫触
銆銆浜 浣跨敤StandardJavaFileManager缂栬疟Java婧愮▼搴
銆銆鍦ㄧ涓閮ㄥ垎鎴戜滑璁ㄨ鸿皟鐢╦ava缂栬疟鍣ㄧ殑链瀹规槗镄勬柟娉 杩欑嶆柟娉曞彲浠ュ緢濂藉湴宸ヤ綔 浣嗗畠纭涓嶈兘镟存湁鏁埚湴寰楀埌鎴戜滑镓闇瑕佺殑淇℃伅 濡傛爣鍑嗙殑杈揿叆 杈揿嚭淇℃伅 钥屽湪Java SE 涓链濂界殑鏂规硶鏄浣跨敤StandardJavaFileManager绫 杩欎釜绫诲彲浠ュ緢濂藉湴鎺у埗杈揿叆 杈揿嚭 骞朵笖鍙浠ラ氲繃DiagnosticListener寰楀埌璇婃柇淇℃伅 钥娈iagnosticCollector绫诲氨鏄痩istener镄勫疄鐜
銆銆浣跨敤StandardJavaFileManager闇瑕佷袱姝 棣栧厛寤虹珛涓涓狣iagnosticCollector瀹炰緥浠ュ强阃氲繃JavaCompiler镄刧etStandardFileManager()鏂规硶寰楀埌涓涓猄tandardFileManager瀵硅薄 链钖庨氲繃CompilationTask涓镄刢all鏂规硶缂栬疟婧愮▼搴
銆銆鍦ㄤ娇鐢ㄨ繖绉嶆柟娉曡皟鐢↗ava缂栬疟镞舵渶澶嶆潅镄勬柟娉曞氨鏄痝etTask 涓嬮溃璁╂垜浠璁ㄨ轰竴涓媑etTask鏂规硶 杩欎釜鏂规硶链夊备笅镓绀虹殑 涓鍙傛暟
銆銆getTask(Writer out JavaFileManager fileManager 銆銆DiagnosticListener diagnosticListener 銆銆Iterable options 銆銆Iterable classes 銆銆Iterable pilationUnits)
銆銆杩欎簺鍙傛暟澶у氭暟閮藉彲涓簄ull 瀹冧滑镄勫惈涔夋墍涓
銆銆路out: 鐢ㄤ簬杈揿嚭阌栾镄勬祦 榛樿ゆ槸System err
銆銆路fileManager: 镙囧嗳镄勬枃浠剁$悊
銆銆路diagnosticListener: 缂栬疟鍣ㄧ殑榛樿よ屼负
銆銆路options: 缂栬疟鍣ㄧ殑阃夐”
銆銆路classes 鍙备笌缂栬疟镄刢lass
銆銆链钖庝竴涓鍙傛暟pilationUnits涓嶈兘涓簄ull 锲犱负杩欎釜瀵硅薄淇濆瓨浜嗕綘𨱍崇紪璇戠殑Java鏂囦欢
銆銆鍦ㄤ娇鐢ㄥ畬getTask钖 闇瑕侀氲繃StandardJavaFileManager镄刧etJavaFileObjectsFromFiles鎴杇etJavaFileObjectsFromStrings鏂规硶寰楀埌pilationUnits瀵硅薄 璋幂敤杩欎袱涓鏂规硶镄勬柟寮忓备笅
銆銆Iterable getJavaFileObjectsFromFiles(銆銆Iterable files)銆銆Iterable getJavaFileObjectsFromStrings(銆銆Iterable names)銆銆String[] filenames = 钬;銆銆Iterable pilationUnits =銆銆fileManager getJavaFileObjectsFromFiles(Arrays asList(filenames));銆銆JavaCompiler CompilationTask task = piler getTask(null fileManager 銆銆diagnostics options null pilationUnits);銆銆链钖庨渶瑕佸叧闂璮ileManager close();
銆銆涓嬮溃鏄涓涓瀹屾暣镄勬紨绀虹▼搴
銆銆import java io *;銆銆import java util *;銆銆import javax tools *;銆銆public class test_pilerapi銆銆{銆 銆private static void pilejava() throws Exception銆 銆{銆 銆JavaCompiler piler = ToolProvider getSystemJavaCompiler();銆 銆// 寤虹珛DiagnosticCollector瀵硅薄銆 銆DiagnosticCollector diagnostics = new DiagnosticCollector();銆 銆StandardJavaFileManager fileManager = piler getStandardFileManager(diagnostics null null);銆 銆// 寤虹珛鐢ㄤ簬淇濆瓨琚缂栬疟鏂囦欢钖岖殑瀵硅薄銆 銆// 姣忎釜鏂囦欢琚淇濆瓨鍦ㄤ竴涓浠嶫avaFileObject缁ф圹镄勭被涓銆 銆Iterable pilationUnits = fileManager銆 銆 getJavaFileObjectsFromStrings(Arrays asList( test java ));銆 銆JavaCompiler CompilationTask task = piler getTask(null fileManager 銆 銆diagnostics null null pilationUnits);銆 銆// 缂栬疟婧愮▼搴忋 銆boolean success = task call();銆 銆fileManager close();銆 銆System out println((success)? 缂栬疟鎴愬姛 : 缂栬疟澶辫触 );銆 銆}銆銆 public static void main(String args[]) throws Exception銆 銆{銆 銆pilejava();銆銆 }銆銆}
銆銆濡傛灉𨱍冲缑鍒板叿浣撶殑缂栬疟阌栾 鍙浠ュ笵iagnostics杩涜屾壂鎻 浠g爜濡备笅
銆銆for (Diagnostic diagnostic : diagnostics getDiagnostics())銆銆System out printf(銆銆 Code: %s%n +銆銆 Kind: %s%n +銆銆 Position: %s%n +銆銆 Start Position: %s%n +銆銆 End Position: %s%n +銆銆 Source: %s%n +銆銆 Message: %s%n 銆銆diagnostic getCode() diagnostic getKind() 銆銆diagnostic getPosition() diagnostic getStartPosition() 銆銆diagnostic getEndPosition() diagnostic getSource() 銆銆diagnostic getMessage(null));銆銆琚缂栬疟镄则est java浠g爜濡备笅 銆銆public class test銆銆{銆銆 public static void main(String[] args) throws Exception銆 銆{銆 銆aa; //阌栾璇鍙ャ 銆System out println( JavaCompiler娴嬭瘯鎴愬姛锛 );銆 銆}銆銆}
銆銆鍦ㄨ繖娈典唬镰佷腑澶氩啓浜嗕釜aa 寰楀埌镄勭紪璇戦敊璇涓
銆銆Code: piler err not stmt銆銆Kind: ERROR銆銆Position: 銆銆Start Position: 銆銆End Position: 銆銆Source: test java銆銆Message: test java: : 涓嶆槸璇鍙ャ銆Success: false
銆銆阃氲繃JavaCompiler杩涜岀紪璇戦兘鏄鍦ㄥ綋鍓岖洰褰曚笅鐢熸垚 class鏂囦欢 钥屼娇鐢ㄧ紪璇戦夐”鍙浠ユ敼鍙樿繖涓榛樿ょ洰褰 缂栬疟阃夐”鏄涓涓鍏幂礌涓篠tring绫诲瀷镄処terable闆嗗悎 濡傛垜浠鍙浠ヤ娇鐢ㄥ备笅浠g爜鍦―鐩樻牴鐩褰曚笅鐢熸垚 class鏂囦欢
銆銆Iterable options = Arrays asList( d d:\ );銆銆JavaCompiler CompilationTask task = piler getTask(null fileManager 銆銆diagnostics options null pilationUnits);
銆銆鍦ㄤ笂闱㈢殑渚嫔瓙涓璷ptions澶勭殑鍙傛暟涓簄ull 钥岃佷紶阃掔紪璇戝櫒镄勫弬鏁 灏遍渶瑕佸皢options浼犲叆
銆銆链夋椂鎴戜滑缂栬疟涓涓狫ava婧愮▼搴忔枃浠 钥岃繖涓婧愮▼搴忔枃浠堕渶瑕佸彟鍑犱釜Java鏂囦欢 钥岃繖浜汮ava鏂囦欢鍙埚湪鍙﹀栦竴涓鐩褰 闾d箞杩椤氨闇瑕佷负缂栬疟鍣ㄦ寚瀹氲繖浜涙枃浠舵墍鍦ㄧ殑鐩褰
銆銆Iterable options = Arrays asList( sourcepath d:\src );
銆銆涓婇溃镄勪唬镰佹寚瀹氱殑琚缂栬疟Java鏂囦欢镓渚濊禆镄勬簮鏂囦欢镓鍦ㄧ殑鐩褰
lishixin/Article/program/Java/hx/201311/27239
Ⅳ 安卓app主要用什么编程语言的
安卓Android系统版本,开发语言是Java;
其他系统开发使用语言:
1、苹果ios系统版本,开发语言是Objective-C;
2、微软Windows phone系统版本,开发语言是C#;
3、塞班symbian系统版本,开发语言是C++。
App开发,是指专注于手机应用软件开发与服务。App是application的缩写,通常专指手机上的应用软件,或称手机客户端。另外目前有很多在线app开发平台。
当然移动互联网时代是全民的移动互联网时代,是每个人的时代,也是每个企业的时代。APP便捷了每个人的生活,APP开发让每个企业都开始了移动信息化进程。
(5)javatoolsfor扩展阅读:
APP开发工具
MOTODEV Studio for Android
MOTODEV Studio for Android,这是基于Android的开发环境,为开发者们提供新的MOTODEV App Accelerator Program使他们可以开发出更适合摩托罗拉Android手机的应用程序。
J2ME开发插件 Mobile Tools for Java
Mobile Tools for Java (MTJ) 是Nokia公司开发的一款 Eclipse插件,用于支持 Java 手机应用程序开发。其前身就是大名鼎鼎的 EclipseME。
NOKIA手机开发包 gnokii
gnokii 是一个NOKIA手机开发包,可支持大多数NOKIA手机的型号。功能无比强大可以修改LOGO,收发短信,拨打/接听电话,编辑铃声。甚至还可以取到对方手机的蜂窝号(Cell ID),从而起到定位的作用。
apk文件修改工具 Root Tools
RootTools是一个新的工具软件,Android开发者可以在这一工具软件的支持下,对.apk格式的文件进行再次修改,让程序表现更加出色,满足用户的需求。Root Tools里面自带有很多工具,比如BusyBox,它里面集成压缩了很多Linux的工具和命令,这样软件开发者在对....
IDEA的Android开发插件 idea-android
idea-android 是在 IDEA 集成开发环境中开发 Android 应用程序的插件。
Android开发工具 MOTODEV Studio
MOTODEV Studio是摩托罗拉公司开发的 Android 应用开发工具。这是一个 Eclipse 的插件。 该插件同时也提供了 JavaME 应用的开发和 WebUI 的开发功能。
参考资料:网络---app开发