1、Java,介紹一個(gè)軟件—AIDE,可以直接編譯運(yùn)行Java代碼,同時(shí)還可以編寫(xiě)簡(jiǎn)單的安卓程序,支持自動(dòng)補(bǔ)全、代碼高亮、語(yǔ)法提示等功能,使用起來(lái)也非常不錯(cuò),下面我簡(jiǎn)單介紹一下這個(gè)軟件的安裝和使用。
專(zhuān)業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來(lái)客戶(hù)和效益!成都創(chuàng)新互聯(lián)公司為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計(jì)制作,服務(wù)好的網(wǎng)站設(shè)計(jì)公司,網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)負(fù)責(zé)任的成都網(wǎng)站制作公司!
下載AIDE,這個(gè)也直接在手機(jī)應(yīng)該中搜索就行,如下,大概也就34兆左右,直接點(diǎn)擊下載安裝就行。
安裝完成后,打開(kāi)這個(gè)軟件,就可以直接新建項(xiàng)目,編寫(xiě)Java代碼了,如下,這里會(huì)自動(dòng)進(jìn)行語(yǔ)法檢查和智能補(bǔ)全,使用起來(lái)非常方便。
方法二2、C/C++這里介紹一個(gè)軟件—C++編譯器(c4droid),可以直接編輯運(yùn)行C/C++程序,代碼高亮、語(yǔ)法檢查,使用起來(lái)非常不錯(cuò),下面我簡(jiǎn)單介紹一下這個(gè)軟件的安裝和使用。
安裝C++編譯器,這個(gè)直接在手機(jī)應(yīng)用中搜索就行,如下,大概也就2兆多,直接點(diǎn)擊下載就行。安裝完成后,打開(kāi)這個(gè)軟件,就可以直接編寫(xiě)C/C++代碼了,如下,代碼高亮,語(yǔ)法檢查,還支持查找、定位行、格式化代碼功能:編輯完成后,直接點(diǎn)擊“Run”,就能運(yùn)行程序。
freemarker沒(méi)有功能。freemarker要求你自己把東西取出來(lái)放到request的attribute里面,然后在ftl文件中使用那些attribute。
可以自己用Java反射來(lái)得到實(shí)體中字段,然后自己拼html字符串
步驟:
1、在cmd中切換到編寫(xiě)的代碼所保存的目錄下;
2、在cmd中輸入javac然后點(diǎn)空格,再點(diǎn)擊文件名和包括后綴名確定后,在存放編寫(xiě)代碼的文件下會(huì)生成一個(gè)class的字節(jié)碼文件;
3、在cmd中輸入java然后點(diǎn)空格,輸入第二步中生成的字節(jié)碼的文件名,不需要后綴名,點(diǎn)擊確定即可運(yùn)行代碼。
代碼就是程序員用開(kāi)發(fā)工具所支持的語(yǔ)言寫(xiě)出來(lái)的源文件,是一組由字符、符號(hào)或信號(hào)碼元以離散形式表示信息的明確的規(guī)則體系。計(jì)算機(jī)代碼稱(chēng)為源代碼,是相對(duì)目標(biāo)代碼和可執(zhí)行代碼而言的。 源代碼就是用匯編語(yǔ)言和高級(jí)語(yǔ)言寫(xiě)出來(lái)的地代碼,目標(biāo)代碼是指源代碼經(jīng)過(guò)編譯程序產(chǎn)生的能被cpu直接識(shí)別二進(jìn)制代碼。
zip包,然后自動(dòng)下載下來(lái)
1.預(yù)先定義好模板
2.界面輸入相關(guān)參數(shù)
3.解析模板生成代碼并下載
最后放出源代碼:
package com.et.controller.system.createcode;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.et.controller.base.BaseController;
import com.et.util.DelAllFile;
import com.et.util.FileDownload;
import com.et.util.FileZip;
import com.et.util.Freemarker;
import com.et.util.PageData;
import com.et.util.PathUtil;
/**
* 類(lèi)名稱(chēng):FreemarkerController
* 創(chuàng)建人:Harries
* 創(chuàng)建時(shí)間:2015年1月12日
* @version
*/
@Controller
@RequestMapping(value=”/createCode”)
public class CreateCodeController extends BaseController {
/**
* 生成代碼
*/
@RequestMapping(value=”/proCode”)
public void proCode(HttpServletResponse response) throws Exception{
PageData pd = new PageData();
pd = this.getPageData();
/* ============================================================================================= */
String packageName = pd.getString(“packageName”); //包名 ========1
String objectName = pd.getString(“objectName”); //類(lèi)名 ========2
String tabletop = pd.getString(“tabletop”); //表前綴 ========3
tabletop = null == tabletop?””:tabletop.toUpperCase(); //表前綴轉(zhuǎn)大寫(xiě)
String zindext = pd.getString(“zindex”); //屬性總數(shù)
int zindex = 0;
if(null != zindext !””.equals(zindext)){
zindex = Integer.parseInt(zindext);
}
ListString[] fieldList = new ArrayListString[](); //屬性集合 ========4
for(int i=0; i zindex; i++){
fieldList.add(pd.getString(“field”+i).split(“,fh,”)); //屬性放到集合里面
}
MapString,Object root = new HashMapString,Object(); //創(chuàng)建數(shù)據(jù)模型
root.put(“fieldList”, fieldList);
root.put(“packageName”, packageName); //包名
root.put(“objectName”, objectName); //類(lèi)名
root.put(“objectNameLower”, objectName.toLowerCase()); //類(lèi)名(全小寫(xiě))
root.put(“objectNameUpper”, objectName.toUpperCase()); //類(lèi)名(全大寫(xiě))
root.put(“tabletop”, tabletop); //表前綴
root.put(“nowDate”, new Date()); //當(dāng)前日期
DelAllFile.delFolder(PathUtil.getClasspath()+”admin/ftl”); //生成代碼前,先清空之前生成的代碼
/* ============================================================================================= */
String filePath = “admin/ftl/code/”; //存放路徑
String ftlPath = “createCode”; //ftl路徑
/*生成controller*/
Freemarker.printFile(“controllerTemplate.ftl”, root, “controller/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Controller.java”, filePath, ftlPath);
/*生成service*/
Freemarker.printFile(“serviceTemplate.ftl”, root, “service/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Service.java”, filePath, ftlPath);
/*生成mybatis xml*/
Freemarker.printFile(“mapperMysqlTemplate.ftl”, root, “mybatis_mysql/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);
Freemarker.printFile(“mapperOracleTemplate.ftl”, root, “mybatis_oracle/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);
/*生成SQL腳本*/
Freemarker.printFile(“mysql_SQL_Template.ftl”, root, “mysql數(shù)據(jù)庫(kù)腳本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);
Freemarker.printFile(“oracle_SQL_Template.ftl”, root, “oracle數(shù)據(jù)庫(kù)腳本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);
/*生成jsp頁(yè)面*/
Freemarker.printFile(“jsp_list_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_list.jsp”, filePath, ftlPath);
Freemarker.printFile(“jsp_edit_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_edit.jsp”, filePath, ftlPath);
/*生成說(shuō)明文檔*/
Freemarker.printFile(“docTemplate.ftl”, root, “說(shuō)明.doc”, filePath, ftlPath);
//this.print(“oracle_SQL_Template.ftl”, root); 控制臺(tái)打印
/*生成的全部代碼壓縮成zip文件*/
FileZip.zip(PathUtil.getClasspath()+”admin/ftl/code”, PathUtil.getClasspath()+”admin/ftl/code.zip”);
/*下載代碼*/
FileDownload.fileDownload(response, PathUtil.getClasspath()+”admin/ftl/code.zip”, “code.zip”);
}
}
可以的,我說(shuō)說(shuō)大概思路,很簡(jiǎn)單,你自己具體實(shí)現(xiàn)吧,把代碼寫(xiě)給你沒(méi)意義的:
1.將你這段字符串輸出到一個(gè)文件里,用Java類(lèi)文件的方式命名。
2.調(diào)用外部javac命令將該文件編譯。
3.用類(lèi)加載器(ClassLoad)動(dòng)態(tài)加載新的class文件并用Class.forName()注冊(cè)該類(lèi),然后就可以正常使用了。
上面的每一步都能在baidu中找到實(shí)現(xiàn)方法,自己發(fā)揮吧。
myeclipse沒(méi)有直接的快捷鍵自動(dòng)生成構(gòu)造方法,可以有快捷鍵彈出source,接著點(diǎn)擊自動(dòng)生成構(gòu)造方法的菜單。
具體操作如下:工具里快捷鍵alt+shift+s
就彈出來(lái)Generate
Constructor
using
Fields