我刚刚更新了我的MVC 4应用程序中的Web API包,以便我可以使用属性路由.当我添加时, config.MapHttpAttributeRoutes()我收到一条错误,上面写着" 该对象尚未初始化.确保在所有其他初始化代码之后,在应用程序的启动代码中调用HttpConfiguration.EnsureInitialized()." 如果我删除config.MapHttpAttributeRoutes()和Route属性,一切都像以前一样工作.我该如何解决这个错误?
这是我的WebApiConfig类:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type.
// To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries.
// For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712.
//config.EnableQuerySupport(); …Run Code Online (Sandbox Code Playgroud) 我正在编写一个与RESTful服务接口的Android应用程序.此Web服务基本上是文件系统的前端,并提供元数据以及对文件的CRUD访问.我的应用程序检索元数据,并通过a将其公开给第三方应用程序ContentProvider.
我需要添加第三方应用程序的能力,在与我的应用程序相同的设备上运行,通过向我的应用程序发送请求(而不是直接与服务器)来CRUD实际文件.这意味着他们需要通过我的应用程序发送或接收文件的内容(通常是XML或图像).
我想到了实现这个的两种方法:
这似乎是让第三方应用程序能够从我的文件中读取文件的明显选择ContentProvider.我认为当这些应用程序需要通过我的`ContentProvider'创建或更新文件时,它开始变得棘手.完成后我需要回调才能知道何时将新的/更改的文件发送回服务器.我相信我可以为此目的使用FileObserver.
通过这种方法,我可以通过应用程序和客户端应用程序之间的文件发送Messenger.该文件必须通过一个传递Bundle,所以我不知道什么是最好的格式是发送它们(File,FileDescriptor,字节数组,别的东西?).如果文件变得很大,我不能很好地处理这会导致问题.
Messenger/ 传递CRUD请求和删除框内容ServiceContentProvider来存储请求的状态ContentObserver我认为使用ContentProvider将是理想的解决方案,但似乎API并不完全支持我的用例.我担心尝试沿着这条路走下去可能会导致一个愚蠢的实施.如果我采用Messenger和Service接近,我不确定通过a传输文件的最强大的方法Bundle.
混合方法似乎非常强大,但实现起来最复杂.文件实际上并没有被传递,因此性能应该很好.但是,我担心这会过度设计解决方案.
在同一Android设备上运行的应用程序之间传输文件的最佳方法是什么? 当然,我对我在问题中没有概述的其他选项持开放态度.
有没有人用Maven成功构建Adobe Air应用程序?如果是这样,那么让它运作的步骤是什么?
我一直在尝试使用flex-mojos来构建Air应用程序.当我将包装类型设置为"aswf"时,如DashboardSamplePom中所建议的那样,Maven抱怨aswf是一种未知的包装类型.我也找到了他们的空气超级pom,但无法弄清楚如何引用它作为我的POM的父母.
我的开发机器同时连接到两个不同的网络.一个是通过以太网(eth0),另一个是WiFi(en1).在这种情况下,Android模拟器似乎总是想要访问eth0上的网络.从命令行启动模拟器时,是否有一个选项可以告诉它在开发机器上使用特定的网络接口(在我的例子中为en1)?
看起来这应该可以通过你可以传递给-qemu标志的 args .但是,使用此标志时,不会启动当前版本的模拟器.
我有一个GDK浸入式应用程序,发射器Activity获取一个SCREEN_DIM_WAKE_LOCK WakeLock.该应用程序还有一个服务,它将接收聊天消息并启动Intent一个Activity以显示每个消息.每当Activity打开消息时,我想让屏幕变亮.但是,我发现的所有方法似乎都不起作用.
例如,添加以下内容onResume无效:
Settings.System.putInt(getContentResolver(), SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_MANUAL);
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 1.0f;
getWindow().setAttributes(lp);
Run Code Online (Sandbox Code Playgroud)
为了更好地说明问题,这是我的应用程序中的事件序列:
如何让屏幕变亮?
我目前需要调试我的应用程序和服务器之间的通信.我已经能够通过使用tcpdump开关启动模拟器来捕获数据包:
%emulator -tcpdump emulator.cap @MyDroid
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,在打开Wireshark中的emulator.cap文件之前,我需要关闭模拟器.否则,Wireshark会抱怨捕获不完整.这个过程非常缓慢.我希望能够在Wireshark中获得emulator.cap文件的实时视图.
看来应该可以使用管道.我正在OS X上进行开发,并尝试了本指南中的Way 1和Way 2:http://wiki.wireshark.org/CaptureSetup/Pipes.
它至少允许我查看捕获的快照,但我没有得到实时更新的视图.单击Wireshark中的刷新按钮不会更新捕获的数据包.我必须关闭并重新打开Wireshark以获得更新(这比重新启动模拟器更快).
在OS X上的Wireshark中从Android模拟器查看实时捕获的步骤是什么?
我理解如何使用MarkupBuilder在Groovy中创建XML.在初始创建后如何向MarkupBuilder对象添加/插入元素?例如,从以下开始:
def builder = new MarkupBuilder(writer)
def items = builder.items{
item(name: "book")
}
Run Code Online (Sandbox Code Playgroud)
哪会产生:
<items>
<item name="book/>
</items>
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个可扩展的基本XML消息,使用核心类来包装构建器和继承以添加特定标记.基于上面的例子,这是我的基类:
Class ItemBuilder{
def name;
def builder = new MarkupBuilder(writer)
public Object getXML(){
def items = builder.items{
item(name: this.name)
}
return items;
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个示例扩展消息构建器:
Class SubItemBuilder extends ItemBuilder{
def type;
public Object getXML(){
def items = super.getXML();
//do something here to add a subitem child tag....
return items;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我在JavaScript中使用JSON,我会做类似的事情:
items.item.subitem = "foo"
Run Code Online (Sandbox Code Playgroud)
我最终希望SubItemBuilder.getXML生成:
<items>
<item name="book>
<subitem type="paperback"/>
</item> …Run Code Online (Sandbox Code Playgroud) 我一直在尝试创建一个简单的应用程序,让用户在Android中自定义飞行模式的行为.这样做的动机来自于拥有三星Fascinate的亲戚,在通话过程中他会意外打开飞机模式.这种情况发生在他拿着手机时,不小心按住侧面电源/锁定按钮,这会打开一个对话框,其中包含"静音模式","飞行模式"和"关机"菜单.他不小心通过触摸他的脸颊来触发飞机模式.这会使电话掉线,对他来说是一种烦恼.
最后,我想创建一个应用程序,防止在用户处于通话过程中关闭蜂窝无线电.但是,对于第一次迭代我认为这是有道理的,让用户手动选择哪个电台将不会通过飞行模式得到关闭.
我不打算修改Android源代码或做一些需要root的东西.我正在寻找标准框架内的解决方案
我第一次尝试解决这个问题是创建一个可以修改的应用程序System.AIRPLANE_MODE_RADIOS:
System.putString(getApplication().getContentResolver(), System.AIRPLANE_MODE_RADIOS, "");
Run Code Online (Sandbox Code Playgroud)
根据API文档,此常量是"以飞机模式打开时需要禁用的以逗号分隔的无线电列表".似乎飞机模式实际上并不使用此常量,并且在更改后它将继续正常工作.
我的下一次尝试是创建BroadCastReceiver,接收AIRPLANE_MODE操作,并发出一个Intent来反转它:
Intent am = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", 0);
context.sendBroadcast(am);
Run Code Online (Sandbox Code Playgroud)
激活后,这会关闭飞行模式.但是,如果用户处于呼叫中间,它仍将被丢弃(这是有道理的).所以,这不是我的问题的解决方案.
有谁知道如何防止飞机模式禁用蜂窝无线电?
我是Java和Eclipse的Android开发新手.
我正在尝试开发一个控制内置Android媒体播放器的应用程序.当我按下音量增大/减小时,它应该跳过曲目.如何从代码控制媒体播放器?
android ×6
java ×2
action ×1
adobe ×1
air ×1
apache-flex ×1
asp.net-mvc ×1
c# ×1
dom ×1
eclipse ×1
google-gdk ×1
google-glass ×1
groovy ×1
ipc ×1
macos ×1
markup ×1
maven-2 ×1
networking ×1
wireshark ×1
xml ×1