鉴于以下webapiconfig;
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
和这个控制器;
public class ProductsController : ApiController
{
Product[] _products = new Product[]
{
new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 },
new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M },
new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M }
};
public IEnumerable<Product> GetAllProducts() …
Run Code Online (Sandbox Code Playgroud) c# asp.net-mvc asp.net-mvc-routing wcf-web-api asp.net-web-api
我知道它没有记录,也不适用于所有设备,但我看到越来越多的应用程序在安装后将其快捷方式放在主屏幕上.发现一堆代码块如何做到但对我来说它们并不适合.这就是我现在所得到的.
需要清单中的权限.
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
Run Code Online (Sandbox Code Playgroud)创建应该调用的活动的Intent.Ex(来自cgeek):
Intent shortcutIntent = new Intent();
shortcutIntent.setClassName("com.example.androidapp", "SampleIntent");
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Run Code Online (Sandbox Code Playgroud)创建快捷方式
Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Shortcut Name");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, R.drawable.icon));
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
context.sendBroadcast(addIntent);
Run Code Online (Sandbox Code Playgroud)我的问题是:在安装.apk后,这段代码应该去哪里添加快捷方式?我在启动器活动中尝试了此代码,每次应用启动时都会创建损坏的(另一个故事)快捷方式.
我有一个派生自抽象类的类.获取派生类的类型我想找出哪些属性是从抽象类继承的,哪些属性是在派生类中声明的.
public abstract class BaseMsClass
{
public string CommonParam { get; set; }
}
public class MsClass : BaseMsClass
{
public string Id { get; set; }
public string Name { get; set; }
public MsClass()
{ }
}
var msClass = new MsClass
{
Id = "1122",
Name = "Some name",
CommonParam = "param of the base class"
};
Run Code Online (Sandbox Code Playgroud)
所以,我想快速找出CommonParam是一个继承参数,Id,Name是在MsClass中声明的参数.有什么建议?
尝试使用仅声明的标志返回空PropertyInfo数组
Type type = msClass.GetType();
type.GetProperties(System.Reflection.BindingFlags.DeclaredOnly)
-->{System.Reflection.PropertyInfo[0]}
Run Code Online (Sandbox Code Playgroud)
但是,GetProperties()返回继承层次结构的所有属性.
type.GetProperties()
-->{System.Reflection.PropertyInfo[3]}
-->[0]: {System.String Id}
-->[1]: {System.String Name}
-->[2]: {System.String CommonParam} …
Run Code Online (Sandbox Code Playgroud) 我有一个字符串/Images/Me.jpg
我想用这样的反斜杠替换正斜杠,我\Images\Me.jpg
使用string.Replace("/","\"); 但输出\\Images\\Me.jpg
请帮忙
我的应用支持minSdkVersion = 10和目标16.如果特定设备支持,我想调用特定于API级别> = 14的方法.我可以在运行时检查运行的OS版本以及是否调用更高级的API方法但是当我指定min SDK版本时,仅存在于高于10的版本中的方法不可见.有没有办法比minSdkVersion使用更高的API方法?
我正在实现n层PreferenceActivities第一层PreferenceActivity从preference-headers加载.
第一个头创建一个PreferenceFragment设置片段.第二个是浏览器活动(第二个是来自developer.android.com的示例),它打开指定的Url.第三个我想成为PreferenceAtivity的下一级,它也将从preference-headers加载.
前两个工作正常,但第三个是崩溃的应用程序,例外:
"android.content.ActivityNotFoundException:找不到处理Intent的活动{act = android.intent.action.VIEW dat = com.mycompany.myapp.ui.MyPreferenceActivity}"
在清单文件中声明的MyPreferenceActivity.可能在main_headers.xml中声明活动是错误的,但我没有在参考文献中找到任何提示如何更正.尝试了几种变化,它们没有用.
我使用的示例:http://developer.android.com/reference/android/preference/PreferenceActivity.html
有什么想法为什么它对我不起作用或如何调用下一个PreferenceActivity?基本上我只需要从头开始一个活动,这应该很简单,但我错过了一些东西.
public class MySettings extends PreferenceActivity
{
@Override
public void onBuildHeaders(List<Header> target)
{
loadHeadersFromResource(R.xml.main_headers, target);
}
}
Run Code Online (Sandbox Code Playgroud)
main_headers.xml:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android" >
<header android:title="Custom Settings"
android:fragment="com.mycompany.myapp.ui.SettingsFragment" />
<header android:title="Intent"
android:summary="Launches an Intent.">
<intent android:action="android.intent.action.VIEW"
android:data="http://www.android.com" />
</header>
<header android:title="Another Preference Activity">
<intent android:action="android.intent.action.VIEW"
android:data="com.mycompany.myapp.ui.MyPreferenceActivity" />
</header>
</preference-headers>
Run Code Online (Sandbox Code Playgroud) android preferenceactivity android-fragments android-3.0-honeycomb
使用ksoap2 lib从android调用.net SOAP1.1 Web服务我遇到了对自定义对象进行强制响应的问题.例如,在httpTransport.call(soapAction,soapEnvelope)之后调用下面的代码是正确的.并在里面有数据.但我不能把它转移到SoapObject或Vector的特定对象,就像我在几个例子中看到的那样,我得到CastException或者什么都不简单.如果有人知道如何处理它,请帮助.
public StatusSetting[] GetAllStatuses(String installation){
StatusSetting[] statuses = null;
String methodName = "GetAllStatuses";
String soapAction = NAMESPACE + "/" + methodName;
SoapObject request = new SoapObject(NAMESPACE, methodName);
request.addProperty("installation", installation);
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapEnvelope.dotNet = true;
soapEnvelope.setOutputSoapObject(request);
AndroidHttpTransport httpTransport = new AndroidHttpTransport(SERVICE_URL);
try {
httpTransport.call(soapAction, soapEnvelope);
statuses = (StatusSetting[])soapEnvelope.getResponse();
} catch (Exception e) {
e.printStackTrace();
}
return statuses;
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,需要在地球上的任何位置控制实时,并在时间到来时做一些事情.同时不依赖系统时间因为用户可以轻松改变它.
有没有人有在Android设备上实现"sntp/ntp"服务的经验,还是有其他解决办法吗?谢谢
具有对象结构的对象列表如下
public class Schedule
{
public int ID { get; set; }
public string Name { get; set; }
public Schedule() {}
}
Run Code Online (Sandbox Code Playgroud)
对数据执行linq查询我可以看到正确填充的对象列表
var schedule = (from d in data
select new Schedule
{
ID = d.id,
Name = ""
}).ToList();
Run Code Online (Sandbox Code Playgroud)
稍后在代码中我想要更改属性名称取决于条件.我找到的几个例子
schedule.ForEach(s => { s.Name = "Condition Name"; });
schedule.Select(s => { s.Name = "Condition name"; return s; });
Run Code Online (Sandbox Code Playgroud)
执行后,当我在监视窗口中刷新计划时,请保留名称参数"null".有人能看出这有什么问题吗?
循环收集并尝试更改属性也不会改变它
foreach (var sch in schedule)
{
sch.Name = "New name";
}
Run Code Online (Sandbox Code Playgroud)
schedule.ToList()[0] .Name ==""
UPDATE
下面的代码段中的.ToList()调用对于使代码有效非常重要.
var …
Run Code Online (Sandbox Code Playgroud) 我使用ksoap2 lib从android客户端与SOAP Web服务进行通信.ksoap团队做得很好,但问题是,没有任何好的例子如何在不同方面正确使用它.例如,我在数据后得到肥皂响应:
anyType{
StatusSetting=anyType{Id=1; Name=Til afskrivning; LocationId=1; Editable=true; Default=true; Transcribed=false; };
StatusSetting=anyType{Id=2; Name=Afskrevet; LocationId=1; Editable=false; Default=false; Transcribed=true; };
...
}
Run Code Online (Sandbox Code Playgroud)
它是一个复杂的对象,或者说是StatusSetting对象的集合.当我尝试获取SoapObject的属性时,它只有一个属性,所有数据都是字符串.它也不能被解析为json.令人难以置信的是,没有人遇到与人气普及的问题相同的问题正在获得.知道是否有人解决了这个问题以及如何解决这个问题会很酷.谢谢.
android ×6
c# ×4
ksoap2 ×2
web-services ×2
.net ×1
asp.net-mvc ×1
casting ×1
java ×1
linq ×1
ntp ×1
reflection ×1
shortcut ×1
soap ×1
string ×1
wcf-web-api ×1