不知怎的,我设法打破了我在Intellij IDEA 12中的重构功能.我以某种方式为我的项目禁用了它.通过Shift+ 重命名成员F6不起作用.未绘制内联编辑框,没有任何反应.
我知道重构设置Settings -> Editor
,Enable in-place mode
并且Preselect old name
都进行了检查.
它必须是某种项目设置.我通过创建一个测试项目进行检查,添加一些成员并重命名它,这非常有效.
我在寻找什么样的环境?或者我的项目可能被打破?
我有一些非常相似的应用程序.因此,我想创建一个或一些包含所有常见可重用代码的私有pod.我的第一个版本包含一些使用AFNetworking并使用KeychainItemWrapper的网络功能:
Pod::Spec.new do |s|
s.name = 'CommonLib'
s.version = '0.0.1'
s.homepage = '****'
s.summary = 'My Common lib'
s.description = 'Library with common code'
s.author = { "Rens Verhage" => "*****" }
s.platform = :ios, '5.0'
s.source = { :git => "ssh://****/CommonLib.git", :tag => s.version.to_s }
s.source_files = 'CommonLib/*.{h,m}'
s.requires_arc = true
s.dependency 'AFNetworking', '~> 1.3.1'
s.dependency 'KeychainItemWrapper', '~> 1.2'
end
Run Code Online (Sandbox Code Playgroud)
运行pod规范lint CommonLib.podspec提供了几条WARN和NOTE消息:
-> CommonLib (0.0.1)
- WARN | Missing required attribute `license`.
- WARN | Missing license type.
- …
Run Code Online (Sandbox Code Playgroud) 最近我写了一些工具,帮助我生成Java代码,否则这将是漫长而乏味的任务.我使用freemarker来编写模板.但是,模板中的所有空格都保留在输出中,导致代码非常混乱.我可以从我的模板中删除缩进来修复此问题,但这会使我的模板无法维护.
考虑这个简单的示例模板:
public class MyTestClass
{
<#list properties as p>
private String ${p.name};
</#list>
}
Run Code Online (Sandbox Code Playgroud)
我的模板格式很好,但我的代码是这样的:
public class MyTestClass
{
private String prop1;
private String prop2;
private String prop3;
}
Run Code Online (Sandbox Code Playgroud)
缩进有点太多了,它应该是:
public class MyTestClass
{
private String prop1;
private String prop2;
private String prop3;
}
Run Code Online (Sandbox Code Playgroud)
要做到这一点,我必须从我的模板中删除缩进,如下所示:
public class MyTestClass
{
<#list properties as p>
private String ${p.name};
</#list>
}
Run Code Online (Sandbox Code Playgroud)
对于这个简单的情况,从模板中删除缩进并不是一个真正的问题,但是您可以想象复杂的模板变得非常难以理解.
一方面我真的希望我的代码格式很好,但另一方面我希望我的模板格式也很好.我使用Eclipse作为IDE,内置格式化器完全根据我(和我的团队)的愿望进行定制.如果我能以某种方式从freemarker模板生成代码并作为后处理步骤格式化其输出与Eclipse的格式化器,那将是很好的.
我当然可以在生成代码后手动运行格式化程序,但我真的想自动执行此过程.
所以,长话短说,有谁知道如何在我自己的Java代码中使用Eclipse的代码格式化程序?
最近我升级Android Studio
到了0.8.2
.现在,我的基于android-annotations的项目无法构建.似乎注释处理以某种方式被禁用.似乎项目编译器设置已经改变,打开/关闭注释处理的选项无处可寻......
我不能像以前那样扩展"编译器"选项:
他们在哪里提出这些选择?
我在使用Apache CXF为Web服务请求设置HTTP Authorization标头时遇到了一些麻烦.我在春天有我的客户端设置:
<bean id="loggingInInterceptor" class="org.apache.cxf.interceptor.LoggingInInterceptor" />
<bean id="loggingOutInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
<bean id="myHTTPAuthInterceptor" class="my.app.MyHTTPAuthInterceptor" autowire="constructor" />
<bean id="webServiceFactory" class="my.app.WebServiceFactory">
<property name="wsdlLocation" value="classpath:/my/app/webservice.wsdl" />
<property name="serviceURL">
<jee:jndi-lookup jndi-name="webservice/url" />
</property>
<property name="inInterceptors">
<list>
<ref bean="loggingInInterceptor" />
</list>
</property>
<property name="outInterceptors">
<list>
<ref bean="loggingOutInterceptor" />
<ref bean="myHTTPAuthInterceptor" />
</list>
</property>
</bean>
<bean id="myWebService" factory-bean="webServiceFactory" factory-method="getInstance" />
Run Code Online (Sandbox Code Playgroud)
标头是通过MyHTTPAuthInterceptor设置的,如下所示:
public MyHTTPAuthInterceptor(ConfigDao configDao)
{
super(Phase.POST_PROTOCOL);
this.configDao = configDao;
}
@Override
public void handleMessage(Message message) throws Fault
{
Map<String, List<?>> headers = (Map<String, List<?>>) message.get(Message.PROTOCOL_HEADERS);
String …
Run Code Online (Sandbox Code Playgroud) 希望一个小问题的长标题.
我有一个带有自定义背景图像的UINavigationBar.我的应用程序将支持横向和纵向.景观在视网膜3英寸和非视网膜屏幕的模拟器中运行良好.但是,在视网膜4英寸屏幕上,背景图像在横向模式下显示两倍大小.
这是我自定义导航控制器的init-method中的相关代码片段:
[self.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar-bg.png"] forBarMetrics:UIBarMetricsDefault];
if (IS_IPHONE_5)
{
[self.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar-bg-landscape-iphone5.png"] forBarMetrics:UIBarMetricsLandscapePhone];
}
else
{
[self.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar-bg-landscape.png"] forBarMetrics:UIBarMetricsLandscapePhone];
}
Run Code Online (Sandbox Code Playgroud)
IS_IPHONE_5是一个宏定义为:
#define WIDTH_IPHONE_5 568
#define IS_IPHONE_5 ([[UIScreen mainScreen] bounds].size.height == WIDTH_IPHONE_5)
Run Code Online (Sandbox Code Playgroud)
这里有2个屏幕碎片,可以更清楚地解释事情.当应用程序以纵向模式打开时,一切都很好:
更改为横向模式时全部爆炸:
横向版本背景图像的图像大小(以像素为单位,宽度x高度)为:
或者它可能只是一个模拟器问题?(我现在没有真正的iPhone 5)
我希望我的应用与Android 2.1兼容.在我的手机上(HTC One X,Android 4+)一切正常,但在模拟器(2.1)中,不确定的进度条不会消失.
我请求创建活动的功能并启动加载任务:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstance);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
new LoadDataTask().execute();
}
Run Code Online (Sandbox Code Playgroud)
在我的加载任务的执行前和后执行中,进度条显示/隐藏:
private class LoadDataTask extends AsyncTask<Void, Void, Void>
{
@Override
protected void onPreExecute()
{
setProgressBarIndeterminateVisibility(true);
}
@Override
protected void onPostExecute(Void result)
{
setProgressBarIndeterminateVisibility(false);
}
}
Run Code Online (Sandbox Code Playgroud)
这在我的手机上工作正常,但模拟器只显示进度条,从不隐藏它.
我在这里使用了错误的方法吗?
我有一个问题是将一个相当简单的XML文档解组为纯Java对象.
这就是我的XML的样子:
<?xml version="1.0" encoding="UTF-8"?>
<codeSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 vocab.xsd" xmlns="urn:hl7-org:v3">
<name>RoleCode</name>
<desc>Codes voor rollen</desc>
<code code="SON" codeSystem="2.16.840.1.113883.5.111" displayName="natural sonSon ">
<originalText>The player of the role is a male offspring of the scoping entity (parent).</originalText>
</code>
<code code="DAUC" codeSystem="2.16.840.1.113883.5.111" displayName="Daughter">
<originalText> The player of the role is a female child (of any type) of scoping entity (parent) </originalText>
</code>
</codeSystem>
Run Code Online (Sandbox Code Playgroud)
它是更大文件的一部分,是用于表示人与人之间关系的Hl7v3代码系统的规范.
我为CodeSystem和Code元素创建了两个Java类:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class CodeSystem
{
private String name;
private String desc;
@XmlElement(name = "code")
private List<Code> codes;
} …
Run Code Online (Sandbox Code Playgroud) 我对NSDateFormatter有一个奇怪的问题.当然我在这里做错了,但我无法弄清楚它是什么,一定是小而愚蠢的......
我有一个我想要格式化的日期.日期是2012-05-06 16:52:40并且包含在NSDate对象中,它已正确初始化,我在调试器中检查了它.
但是以下代码:
NSLog(@"%@", [myDate description]);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"dd-MM-yyyy";
NSString *myDateAsString = [dateFormatter stringFromDate:myDate];
NSLog(@"%@", myDateAsString);
Run Code Online (Sandbox Code Playgroud)
打印:
2012-05-06 16:52:40
(null)
Run Code Online (Sandbox Code Playgroud)
我真的没有看到我的代码中的错误.任何提示?
java ×4
android ×2
ios ×2
afnetworking ×1
cocoapods ×1
cxf ×1
dependencies ×1
eclipse ×1
formatting ×1
freemarker ×1
iphone-5 ×1
jaxb ×1
namespaces ×1
null ×1
objective-c ×1
progress-bar ×1
refactoring ×1
rename ×1
uitabbar ×1
validation ×1
web-services ×1
xml ×1