扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
3
10年积累的成都做网站、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计制作后付款的网站建设流程,更有文水免费网站建设让你可以放心的选择与我们合作。
推荐
ROSE 生成代码:首先要在Tools--Java/J2EE--Project Specification里面的classpath里面加入你要生成的代码的目的路径。然后选中一个或多个包/类,选择Tools--Java/J2EE--Generate Code,将目的路径assign给你要生成代码的包/类,点OK就可以生成代码了
这样生成的代码属性可能没有set/ get 方法,可以按下面的做:
在ROSE的TOOLS工具栏下面有一个OPEIONS...的.
点开以后选择JAVA,
在TYPE中选择ATTRIBUTE,
MODEL下面有一个PROPERTYTYPE,可以选择SIMPLE或者BOUND
那等你生成代码的时候就会自动增加SET和GET方法了
技术标签: android
为了减少工作量,让我们快速的实现了Activity对应layout的findViewById代码的实现,为之后的开发省下宝贵的时间,学习应用LayoutCreator插件是有必要的,但建议初学者还是手敲代码比较好,可以熟练代码。
一、安装
1、点击File===Settings===,打开设置页面。

2、点击Plugins,输入LayoutCreator,找到了LayoutCreator后再点击Install进行安装。

点击Install后等待安装完成后,再重启Androd studio即可。
二、使用
1.在相应的Activity后自行编写onCreate并setContentView设置对应布局
2.选中相应的layout布局,快捷键alt+Insert,然后选择LayoutCreator

3.或者选中布局后在菜单栏中的Code中选择LayoutCreator

4.插件会自动遍历布局列出所有带id的控件,你可以在弹出的对话框中选择需要自动生成的控件

5.弹出的对话框中还可以勾选是否生成ViewHolder,选择好后Confirm确认即可生成相应的代码,如下:
总结:
就这样,学会运用LayoutCreator的插件后,开发就变得简单快捷明了,工作量少了一大半了。工具大法真的好!
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
来源:

Android Studio生成Keystore
AS生成keystore的方法。 看图: 点击我选中的Generate Signed APK,翻译过来大致是,生成已签署的APK,我们点击这一项 如果还没有生成keystore,应该是这样的图: 接着我们点击Create new (新建)或者直接按下C键: 第一项,keystore path是路径,点击后面的省略号按钮来选择路径 第二项密码,是个人就能看懂 第二模块,几乎是和Ecli...

Android Studio最全插件
在Android开发中,合理的使用Android Studio插件不但可以提高开发效率,还能从整体上提高代码的质量。下面就Android开发中常见的一些插件做一个整理。 1,GsonFormat GsonFormat是一个可以快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。 使用方法:快捷键Alt+S也可以使用Alt+Insert选择G...

阅读原文
那要看你的UML工具支不支持代码生成,比如PowerDesigner就支持UML和Java代码间的转换,需要对PowerDesigner进行一定的配置。
MyBatis中,可以使用Generator自动生成代码,包括DAO层、 MODEL层 、MAPPING SQL映射文件。
第一步:下载MyBatis的Generator工具
htt p:/ /mybati s.gith ub.i o/generator/
第二步:配置自动生成代码所需的XML配置文件,例如(generator.xml)
将这个文件保存至你下载的mybatis-generator-core-1.3.2文件夹下
第三步:进入XML配置文件(generator.xml)所在的的目录并执行命令:
Dos代码
java -jar E:\mybatis-generator-core-1.3.2\lib\mybatis-generator-core-1.3.2.j ar -configfile generator.xml -overwrite
mybatis generator eclipse插件的安装
打开eclipse,点击HelpSoftware Update
选择 "Available Software" 标签,点击 "Add Site" 按钮
输入以下信息:
Location:htt p:/ /mybatis.googleco de.c om/svn/sub-projects/gen erator/trunk/eclipse/UpdateSite/
点击ok,自动进入"mybatis generator Feature"
点击“install”按钮进行安装。。。。mybatis generator 插件安装完成
配置Mybatis Generator不要生成Example类
Mybatis Generator默认设置会生成一大堆罗哩罗嗦的Example类,主要是用各种不同的条件来操作数据库,大部分是用不到的,用到的时候手工修改mapper和接口文件就行了。
/codetable
schema="general"
tableName="tb_table_name"
domainObjectName="EntityName"
enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
selectByExampleQueryId="false"
name="useActualColumnNames"
value="true"/
//codetable
这样生成的mapper和dao接口就清爽多了。
zip包,然后自动下载下来
1.预先定义好模板
2.界面输入相关参数
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;
/**
* 类名称:FreemarkerController
* 创建人:Harries
* 创建时间: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”); //类名 ========2
String tabletop = pd.getString(“tabletop”); //表前缀 ========3
tabletop = null == tabletop?””:tabletop.toUpperCase(); //表前缀转大写
String zindext = pd.getString(“zindex”); //属性总数
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(); //创建数据模型
root.put(“fieldList”, fieldList);
root.put(“packageName”, packageName); //包名
root.put(“objectName”, objectName); //类名
root.put(“objectNameLower”, objectName.toLowerCase()); //类名(全小写)
root.put(“objectNameUpper”, objectName.toUpperCase()); //类名(全大写)
root.put(“tabletop”, tabletop); //表前缀
root.put(“nowDate”, new Date()); //当前日期
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数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);
Freemarker.printFile(“oracle_SQL_Template.ftl”, root, “oracle数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);
/*生成jsp页面*/
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);
/*生成说明文档*/
Freemarker.printFile(“docTemplate.ftl”, root, “说明.doc”, filePath, ftlPath);
//this.print(“oracle_SQL_Template.ftl”, root); 控制台打印
/*生成的全部代码压缩成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”);
}
}
做自动测试时,使用yaml文件做界面要素配置,出现一个问题,经过自己的尝试实现了xpath方式的读取。把代码分项出来。尤其是在使用xpath是,会出现yaml读取出错的情况。此时需要将xpath的内容使用双引号括起来。代码如下
6
logout: type:name value:logoutlogoutConfirm: type:xpath value:"//*[@id='queding']//td/*//button"
来自CODE的代码片
snippet_file_0.txt
读取yaml文件的java代码如下
package com.bfm.utilities;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.util.HashMap;import org.ho.yaml.Yaml;/*该类为获取yaml文件中的内容*/public class YamlReader { private HashMapString, HashMapString, String yml; @SuppressWarnings("unchecked") public HashMapString, HashMapString, String getYamlFile(String yamlFile) { File f = new File(yamlFile); try { this.yml = (HashMapString, HashMapString, String) Yaml.loadType(new FileInputStream(f.getAbsolutePath()), HashMap.class); } catch (FileNotFoundException e) { e.printStackTrace(); } return this.yml; } public static void main (String args[]){ YamlReader yr = new YamlReader(); yr.getYamlFile("E:\\workspace\\bfm\\src\\com\\bfm\\pageElements\\mainPageElements.yaml"); }}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流