小编Man*_*ish的帖子

如何在没有Activity上下文的情况下在android中显示对话框?

这似乎应该很简单,但我在任何地方都找不到答案.我有一个Android应用程序,在后台执行网络任务.如果出现错误,我想显示错误对话框.当任务返回时,我不知道哪个Activity在前台.根据这篇文章,看起来我们不能使用应用程序上下文来显示一个对话框(事实上,如果我尝试的话,我确实会遇到崩溃).

那么我怎样才能获得当前活动的背景?同样,网络任务的接收器在Application上下文中运行,而不是在特定的Activity中运行.还有其他想法吗?

编辑:我应该澄清一下.如果我不是前台应用程序,我不想显示错误对话框.我只对我们的应用程序暂时处于前台的情况感兴趣.

android android-alertdialog

35
推荐指数
3
解决办法
4万
查看次数

Azure:有没有办法为测试/生产部署不同的实例大小

我有一个Windows Azure站点,它部署到两个单独的托管服务.一个用于测试,一个用于生产.当我们准备推向生产时,我们在生产服务中启动暂存部署,推送到那里,然后进行VIP交换.都好.

问题是,现在我们想要从XS Web实例升级,但是在测试部署上花费额外的资金并没有多大意义.有没有办法使用XS实例进行测试,然后说中型实例用于生产?我知道我可以更改每个服务配置的实例数,但我只能更改所有配置的实例大小.

我正在考虑将XS保留在配置中,然后在部署到生产之前记住将其切换到中等.我有什么理由不这样做吗?有没有更好的办法?

干杯!

virtual-machine azure cloud-hosting

20
推荐指数
2
解决办法
5837
查看次数

Azure:使用代码优先迁移在临时环境中进行测试的最佳实践

我在Windows Azure中进行了以下设置:

  • 连接到其自己的"测试"数据库的"测试"托管服务.
  • "生产"托管服务连接到其自己的"生产"数据库.

当构建已经被验证的测试,并准备去生产,我们旋转了一个"临时"部署在生产托管服务,做一个快速的烟雾测试,以确保新的建设是不完全打破.使用将部署到生产的确切位来部署临时实例,因此它正在与生产数据库进行通信.当登台受祝福时,我们点击"VIP交换"按钮,构建在生产时生效.一切都很好.

数据库模型更改时会出现问题.我有Code First Migrations完美运行.我可以添加新的迁移,使用包管理器控制台在本地应用它们,然后在我推送新版本进行测试时生成SQL脚本以升级测试数据库.问题是,使用Code First Migrations以及登台/生产部署的最佳做法是什么?当我使用模型更改将新构建部署到分段时,它期望找到与其模型匹配的数据库.但是,如果我将模型更改应用于生产数据库,则生产实例会抱怨,因为其模型不匹配.

我刚刚跳过了分期烟雾测试.我上传到暂存,然后更新生产数据库并同时点击"VIP交换"按钮.然后对生产进行烟雾测试.如果某些内容严重破坏,请"切换VIP"并恢复数据库更改.

有没有更好的方法来做到这一点,还是那么多呢?

谢谢!

entity-framework azure ef-migrations

13
推荐指数
1
解决办法
1063
查看次数

如何从Android中的AppWidget获取正确的DisplayMetrics?

我需要在Android AppWidget中确定运行时的屏幕密度.我已经设置了一个HDPI仿真器设备(avd).如果设置了常规可执行项目,并将此代码插入onCreate方法:

DisplayMetrics dm = getResources().getDisplayMetrics();
Log.d("MyTag", "screen density " + dm.densityDpi);
Run Code Online (Sandbox Code Playgroud)

这按预期输出"屏幕密度240".

但是,如果我设置了一个AppWidget项目,并将此代码插入onUpdate方法:

DisplayMetrics dm = context.getResources().getDisplayMetrics();
Log.d("MyTag", "screen density " + dm.densityDpi);
Run Code Online (Sandbox Code Playgroud)

这输出"屏幕密度160".我注意到,连接调试器,这里的Resources对象的mDefaultDisplay成员在AppWidget案例中为null.

类似地,如果我在运行时使用从AppWidget中的context.getResources()获得的Resources对象获取资源,它将根据屏幕密度返回错误的资源.例如,我有一个60x60px可绘制的mdpi,以及一个80x80可绘制的hdpi.如果我使用context.getResources().getDrawable(...)获取此Drawable对象,则返回60x60版本.

有没有办法在运行时从AppWidget的上下文正确处理资源?

谢谢!

resources android android-widget android-appwidget

9
推荐指数
1
解决办法
6446
查看次数

有没有一种简单的方法在LINQ to Entities中编写自定义函数?

我正在为我的Entity Framework应用程序编写一个简单的搜索查询.我需要检查一堆字段是否为空,如果没有,请调用它们上的ToLower()并与搜索查询进行比较.LINQ查询看起来像这样:

public IQueryable<Store> SearchStores(string q, IQueryable<Store> source)
{
    q = q.ToLower();

    return (
        from s in source
        where (
            (s.Name != null && s.Name.ToLower().Contains(q)) ||
            (s.Description != null && s.Description.ToLower().Contains(q)) ||
            ...
}
Run Code Online (Sandbox Code Playgroud)

有很多像这样的行,所以我很想写一个帮助方法来清理它:

public static bool SafeSearch(this string s, string q)
{
    return s == null ? false : s.ToLower().Contains(q);
}
Run Code Online (Sandbox Code Playgroud)

这当然不起作用,因为LINQ to实体不理解SafeSearch函数是什么:

LINQ to Entities无法识别方法'Boolean SafeSearch(System.String,System.String)'方法,并且此方法无法转换为商店表达式.

有没有一种简单的方法来编写这样的简单自定义函数?

谢谢!

c# linq linq-to-entities entity-framework

9
推荐指数
1
解决办法
7241
查看次数

如何在App Harbor/Sequelizer中维护每日SQL Server备份

我已经看过几篇关于此的帖子,但我只是想确保我没有遗漏一些东西.

我正在认真考虑从Azure迁移到App Harbor,但我有点沮丧的是,似乎没有办法维护每日SQL Server数据库备份.

我了解App Harbor维护每日文件系统快照.这对于从灾难性故障中恢复非常有用,但是对于从用户错误中恢复没有太大帮助.例如,如果我不小心删除了一大块行,我可能想要从几天前恢复数据库以帮助恢复.

我知道这些用于向/从App Harbor传输数据的工具: - SQL Management Studio中的"生成脚本"工具 - 批量复制工具:https://github.com/appharbor/AppHarbor-SqlServerBulkCopy

这些可以进行一次性备份或恢复,但我想找出一些方法来自动备份数据,理想情况下将其保存到AWS S3存储.是否有可能做到这一点的工具或服务?

谢谢!

sql-server backup appharbor

9
推荐指数
1
解决办法
674
查看次数

iOS:安装应用程序时的通知(但尚未运行)

安装应用程序但尚未运行时,是否有任何方法可以通知应用程序或在应用程序中运行某些代码?我想在安装应用程序时向我们的服务器发送通知.请注意,我不打算在第一次运行应用程序时执行某些操作,而是在安装后立即执行操作.

我猜这可以归结为希望在安装后以某种方式自动启动应用程序,这似乎是Apple不允许的.希望我错了.

编辑:让我试着让这个问题听起来不那么愚蠢/不可能.我不是在没有运行代码的情况下运行代码.我想弄清楚是否有办法获取应用程序下载时间的时间戳,而不是用户首次启动它时.

谢谢!

iphone notifications app-store ios

6
推荐指数
1
解决办法
1667
查看次数

如何在AppHarbor中显示自定义503错误页面

我刚刚为我的Appharbor Web应用程序设置了"维护"模式.通过设置配置变量,该站点将用户重定向到自定义的"向下维护"页面.我希望以HTTP 503状态返回此页面,因此该站点在关闭时不会被编入索引.我在动作中设置响应代码如下:

public ActionResult Maintenance()
{
    Response.StatusCode = 503;
    return View();
}
Run Code Online (Sandbox Code Playgroud)

这一切都按我想要的方式在本地服务器上运行.我使用503状态代码获取自定义视图.但是,一旦我部署到AppHarbor,我就会得到一个简单的nginx 503错误页面.似乎nginx可能正在拦截响应并返回自己的错误.有关如何使自定义主体与503状态一起显示的任何想法?这是我看到的原始响应:

HTTP/1.1 503 Service Unavailable
Server: nginx
Date: Fri, 07 Jun 2013 19:26:09 GMT
Content-Type: text/html
Content-Length: 27
Connection: keep-alive
Cache-Control: private

The service is unavailable.
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc nginx appharbor

1
推荐指数
1
解决办法
2066
查看次数