我正在尝试使用新的Google Cloud Messaging系统,但我遇到了一些问题.
我阅读了入门文档并查看了演示应用程序; 之后,我将需求应用于我的应用程序,然后我创建了一个带有API 16的新虚拟设备.
但是当我尝试将我的设备注册到GCM时,由于这一行而失败:
GCMRegistrar.checkDevice(getApplicationContext());
Run Code Online (Sandbox Code Playgroud)
在logcat中我看到这些错误:
07-05 07:06:31.925: E/AndroidRuntime(691): FATAL EXCEPTION: main
07-05 07:06:31.925: E/AndroidRuntime(691): java.lang.UnsupportedOperationException: Device does not have package com.google.android.gsf
07-05 07:06:31.925: E/AndroidRuntime(691): at com.google.android.gcm.GCMRegistrar.checkDevice(GCMRegistrar.java:83)
07-05 07:06:31.925: E/AndroidRuntime(691): at aero.tav.mobile.genel$4.onClick(genel.java:201)
07-05 07:06:31.925: E/AndroidRuntime(691): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
07-05 07:06:31.925: E/AndroidRuntime(691): at android.os.Handler.dispatchMessage(Handler.java:99)
07-05 07:06:31.925: E/AndroidRuntime(691): at android.os.Looper.loop(Looper.java:137)
07-05 07:06:31.925: E/AndroidRuntime(691): at android.app.ActivityThread.main(ActivityThread.java:4745)
07-05 07:06:31.925: E/AndroidRuntime(691): at java.lang.reflect.Method.invokeNative(Native Method)
07-05 07:06:31.925: E/AndroidRuntime(691): at java.lang.reflect.Method.invoke(Method.java:511)
07-05 07:06:31.925: E/AndroidRuntime(691): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-05 07:06:31.925: E/AndroidRuntime(691): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-05 07:06:31.925: E/AndroidRuntime(691): at …Run Code Online (Sandbox Code Playgroud) 我的Android应用程序具有文本说话功能,并且超过一个活动使用此功能.因此创建了一个静态助手类来简化这一过程.
import java.util.Locale;
import android.content.Context;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import android.util.Log;
public class TextToSpeechController implements OnInitListener {
private static final String TAG = "TextToSpeechController";
private TextToSpeech myTTS;
private String textToSpeak;
private Context context;
private static TextToSpeechController singleton;
public static TextToSpeechController getInstance(Context ctx) {
if (singleton == null)
singleton = new TextToSpeechController(ctx);
return singleton;
}
private TextToSpeechController(Context ctx) {
context = ctx;
}
public void speak(String text) {
textToSpeak = text;
if (myTTS == null) {
// currently can't change Locale …Run Code Online (Sandbox Code Playgroud) 自开始以来,我们一直在我们的项目中使用xUnit Framework作为测试框架.目前在项目中有2200多个单元测试,一切似乎都很好.
但昨天我决定在CI版本和夜间版本中运行单元测试.与团队构建控制器战斗运行xunit测试1-2小时我成功运行测试.但是有一个问题,有22个警告关于下面的测试, - Xunit.Sdk.EqualException:Assert.Equal()失败或--System.ArgumentNullException:值不能为null.
经过一些研究后,我意识到这些测试必须失败但似乎已经通过,因为所有这些测试都标有"async"关键字.
实际上应该没有任何错误,因为xUnit支持关于这些帖子的异步测试 http://bradwilson.typepad.com/blog/2012/01/xunit19.html http://sravi-kiran.blogspot.com.tr/ 2012/11 / UnitTestingAsynchronousMethodsUsingMSTestAndXUnit.html Howerver现实对我来说是微不足道的.是的xUnit运行没有任何问题,但没有正确测试.
这是两个小方法.
public async Task<string> AsyncTestMethod() {
throw new Exception("Test");
}
public string NormalTestMethod() {
throw new Exception("Test");
}
Run Code Online (Sandbox Code Playgroud)
正如您只能看到差异,第一个方法定义为"async",这里是对这些方法的两个测试.
[Fact]
public async void XunitTestMethod_Async() {
Program p = new Program();
string result = await p.AsyncTestMethod();
Assert.Equal("Ok", result);
}
[Fact]
public void XunitTestMethod_Normal() {
Program p = new Program();
string result = p.NormalTestMethod();
Assert.Equal("Ok", result);
}
Run Code Online (Sandbox Code Playgroud)
两个原始方法都抛出异常,所以我认为两个测试都会失败但结果却不同.你可以看到结果:

XunitTestMethod_Async测试通过,但XunitTestMethod_Normal失败.抛出异常并非如此,您可以根据需要更改方法内容AsyncTestMethod始终传递.
以下是示例解决方案:https://github.com/bahadirarslan/AsyncTestWithxUnit
我可能会误解或想错,但现在这种行为给我带来了很多痛苦
希望你能引起我的注意.
PS:我在xUnit github页面上创建了一个问题,但我无法确定这是由我还是xUnit造成的.所以我决定在这里问一下.问题:https: …
我有很多需要用XML传播的HTML文件.我们使用这些HTML为应用程序提供内容,但现在我们必须将这些内容作为XML提供.
HTML文件包含,表格,div,图像,p,b或强标签等.
我用Google搜索并找到了一些应用程序,但我还是无法实现.
你能建议一种将这些文件内容转换为XML的方法吗?
我在Android 4.1上遇到Access-Control-Allow-Origin问题
在我的应用程序中,我有一些本地HTML文件和Javascripts,我用它来从Web服务获取数据.在尝试Android 4.1之前没有问题,但在尝试Android 4.1后我遇到了这个错误.
我阅读了很多文档,但我找不到解决这个问题的方法.
我们有一个包含17个项目的解决方案.解决方案有几个配置,如调试,发布,测试,发布等.
团队项目还有几个构建定义,每个定义都专门用于配置.我们为每晚构建使用Release配置构建,并为发布和部署使用Publish配置构建.所以这些构建定义,构建相同的源代码.但有个问题...
我们的每晚构建为每个项目创建obj\Release目录,但发布版本不会.由于此发布版本不创建服务器发布包.
当我查看构建日志时,我看到了如下差异.每夜构建 - 发布配置(针对每个项目)
PrepareForBuild:
Creating directory "obj\Release\".
Run Code Online (Sandbox Code Playgroud)
发布构建 - 发布配置(针对每个项目)
_DeploymentUnpublishable:
Skipping unpublishable project.
Run Code Online (Sandbox Code Playgroud)
但我不明白为什么?哪个标志控制了这个?
我们正在使用TFS 2010,因此Team Build 2010.
我创建了一个基础设施,这是我们新的内部网络项目,并试图遵循几乎所有最佳实践.另外,我想提一下,这是我第一次从零创建架构.
目前,我的基础设施的第一个版本已经准备好并且运行良好 但我想在下一个版本实现有界上下文结构.
我试着解释下面的现状.
DbCore:负责数据操作.实体框架5代码首先使用.只有一个DbContext类,并且在其中定义了所有DbSet.另外,GenericRepository模式和Unit of Work模式基于以下接口实现.
IGenericRepository
public interface IGenericRepository<TEntity>
where TEntity : class {
void Delete(object id);
void Delete(TEntity entityToDelete);
System.Collections.Generic.IEnumerable<TEntity> Get(System.Linq.Expressions.Expression<Func<TEntity, bool>> filter = null, Func<System.Linq.IQueryable<TEntity>, System.Linq.IOrderedQueryable<TEntity>> orderBy = null, string includeProperties = "");
System.Collections.Generic.IEnumerable<TEntity> GetAll();
TEntity GetByID(object id);
System.Collections.Generic.IEnumerable<TEntity> GetWithRawSql(string query, params object[] parameters);
void Insert(TEntity entity);
void Update(TEntity entityToUpdate);
}
Run Code Online (Sandbox Code Playgroud)
IUnitOfWork
public interface IUnitOfWork {
void Dispose();
IGenericRepository<Test> TestRepository {
get;
}
IGenericRepository<Log> LogRepository {
get;
}
void Save();
}
Run Code Online (Sandbox Code Playgroud)
模型: DbCore和实体框架域的负责存储实体模型 …
domain-driven-design unit-of-work repository-pattern bounded-contexts entity-framework-5
我正在尝试用C#编写一个小的Relase Notes程序.我需要在指定日期之间获取所有变更集和相关工作项属于指定项目.
我试图使用QueryHistory方法,但我找不到如何给出日期过滤器.
我正在尝试上传带有其他表单数据的文件,并通过MVC发布到Web API,但我无法完成.
MVC Side
首先,我在MVC收到了提交的表格.这是对此的行动.
[HttpPost]
public async Task<ActionResult> Edit(BrandInfo entity) {
try {
byte[] logoData = null;
if(Request.Files.Count > 0) {
HttpPostedFileBase logo = Request.Files[0];
logoData = new byte[logo.ContentLength];
logo.InputStream.Read(logoData, 0, logo.ContentLength);
entity.Logo = logo.FileName;
entity = await _repo.Update(entity.BrandID, entity, logoData);
}
else
entity = await _repo.Update(entity,entity.BrandID);
return RedirectToAction("Index", "Brand");
}
catch(HttpApiRequestException e) {
// logging, etc
return RedirectToAction("Index", "Brand");
}
}
Run Code Online (Sandbox Code Playgroud)
下面的代码将Multipartform发布到Web API
string requestUri = UriUtil.BuildRequestUri(_baseUri, uriTemplate, uriParameters: uriParameters);
MultipartFormDataContent formData = new MultipartFormDataContent();
StreamContent streamContent = …Run Code Online (Sandbox Code Playgroud) file-upload multipartform-data asp.net-mvc-4 asp.net-web-api
我正在使用下面的方法来查询EF
public virtual IEnumerable<TEntity> Get(
Expression<Func<TEntity, bool>> filter = null,
Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,
string includeProperties = "")
{
IQueryable<TEntity> query = dbSet;
if (filter != null)
{
query = query.Where(filter);
}
foreach (var includeProperty in includeProperties.Split
(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
{
query = query.Include(includeProperty);
}
if (orderBy != null)
{
return orderBy(query).ToList();
}
else
{
return query.ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想创建动态Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>表达式来订购我的数据.
我只知道字段名称为字符串和顺序类型(升序,降序)为字符串(asc,desc)
android ×3
tfs2010 ×2
async-await ×1
c# ×1
changeset ×1
cross-domain ×1
file-upload ×1
html ×1
iqueryable ×1
javascript ×1
msbuild ×1
tfs-sdk ×1
tfsbuild ×1
unit-of-work ×1
unit-testing ×1
xml ×1
xunit ×1