我有一个Android库,可以将数据上传到测试服务器和生产服务器.我希望使用此库的开发人员在开发时使用测试服务器,并在从Android Market下载应用程序时使用生产服务器.
这可能是一个应用程序告诉它来自哪里(市场或非市场?)我想象一个人可以检测到签名的JAR文件的存在.
我正在搞乱Android服务,而且我发现ServiceConnection.onServiceConnected()
当我绑定到服务时,可以相当可预测地调用它.
但是,onServiceDisconnected()
即使在VM死后,我的方法似乎永远不会被调用.
我已经在服务上记录了调试消息并显示所有线程都已关闭等等.我知道服务是作为进程实现的.是否有我不知道的线程阻止进程退出?
我的iPhone应用程序的少数客户正在经历核心数据存储损坏(我假设是这样,因为错误是"无法保存到数据存储:操作无法完成.(可可错误259.)")
有没有其他人经历过这种商店腐败?我很担心,因为我的目标是很快推出执行模式迁移的更新,我担心这会暴露更多的问题.
我假设Core Data/SQLlite API使用原子操作并且不受损坏,除非底层文件系统遇到损坏.
有没有办法减少/防止腐败,以及重现腐败的方法,所以我可以测试这个(到目前为止我没有成功).
还得到此错误:"/var/mobile/Applications//Documents/foo.sqlite中的数据库已损坏.SQLite错误代码11,数据库磁盘映像格式错误."
我正在开发一个Android库,需要从中央服务器进行频繁更新.我想如果我的库可以自我更新会有多好 - 或者我是否可以在安装应用程序时发布一个下载目标库的引导库.
我在1.5中看到这个名为"DexClassLoader"的类,但除了API文档之外,网上似乎还有一些珍贵的东西.有没有人成功地使用过这个我描述过的场景?
另外,Android Market的条款是否允许这样的事情?
我正在使用HttpClient进行HTTPS请求,到目前为止一直运行良好.升级到ICS后,一些用户报告连接3G连接时出现问题.
编辑:他们中的大多数似乎使用代理,我可以使用他们的代理在本地使用T-Mobile SIM重现.
日志具有此堆栈跟踪:
java.lang.IllegalStateException: Scheme 'http' not registered.
org.apache.http.conn.scheme.SchemeRegistry.getScheme(SchemeRegistry.java:80)
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:126)
org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
Run Code Online (Sandbox Code Playgroud)
我们的端点仅限HTTPS,因此我们不会故意在SchemeRegistry中注册HTTP端点.我们没有任何地方(AFAIK)重定向到HTTP.
以下是为HTTPS客户端设置HttpClient的代码:
DefaultHttpClient ret = null;
// sets up parameters
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, "utf-8");
params.setBooleanParameter("http.protocol.expect-continue", false);
HttpConnectionParams.setConnectionTimeout(params, DEFAULT_CONN_TIMEOUT_MSEC);
HttpConnectionParams.setSoTimeout(params, timeoutMsec);
HttpConnectionParams.setStaleCheckingEnabled(params, true);
SchemeRegistry registry = new SchemeRegistry();
final SocketFactory sslSocketFactory = getPreferredSSLSocketFactory();
registry.register(new Scheme("https", sslSocketFactory, 443));
ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(params, registry);
ret = new DefaultHttpClient(manager, params);
// for preemptive authentication
// http://dlinsin.blogspot.com/2009/08/http-basic-authentication-with-android.html
ret.addRequestInterceptor(preemptiveAuth, 0);
ret.setCookieStore(communalCookieJar);
SimpleCredentialsProvider credProvider …
Run Code Online (Sandbox Code Playgroud) 我们有一个应用程序需要将作业分配给资源.资源具有许多属性,用于定义它们对特定作业的适用性 - 一些是偏好,一些是硬约束(所有成员类型,例如"资源A适合具有颜色X,Y或Z的作业").
资源具有与之相关的成本(它们在线上花费的持续时间).我们有能力招募资源 - 这需要不同的时间.我们可以按固定的时间间隔招募.
提出规模概念:在任何给定时间将有大约20个资源,100个未完成的工作.完成工作需要5-15秒.招募资源大约需要1-2分钟,我们可以在1-30分钟内招募(允许重新招募).我们对提交的工作没有太多的提醒,可能只有几秒钟.
目标是在给定的平均延迟(作业完成时间)内完成具有最低成本(资源使用)的作业.
我非常感谢指向算法,软件库或解决此问题的方法.
我有一个Core Data应用程序,我打算用新架构更新.轻量级迁移似乎有效,但需要时间与数据库中的数据量成比例.这发生在didFinishLaunchingWithOptions
应用程序的阶段.
我想避免<app> failed to launch in time
问题,所以我假设我无法在didFinishLaunchingWithOptions
方法中保留迁移.
我假设最好的方法是在后台线程中执行迁移.我还假设我需要推迟加载主ViewController,直到加载完成,以避免使用managedObjectContext
直到初始化完成.
这是否有意义,是否有这种初始化的示例代码(可能在Apple示例项目中)?
这很奇怪.我在某些设备上看到此崩溃报告:
android.content.ActivityNotFoundException:
No Activity found to handle Intent {
act=android.intent.action.PICK dat=content://com.android.contacts/contacts }
Run Code Online (Sandbox Code Playgroud)
产生此错误的意图是:
Intent intent = new Intent(Intent.ACTION_PICK, People.CONTENT_URI); // pre-Eclair
Run Code Online (Sandbox Code Playgroud)
要么:
Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); // post-Eclair
Run Code Online (Sandbox Code Playgroud)
该设备只是报告为"Droid",但我不知道操作系统版本.
我正在开发一个Web服务,使用用户选择的TTF字体使用PHP GD扩展来呈现字符.
这在ASCII-land中运行良好,但有一些问题:
要呈现的字符串以UTF-8形式出现.我想将用户可选字体列表限制为只能正确呈现字符串的字体,因为某些字体只有ASCII字符的字形,ISO 8601等.
在包含一些装饰字符的情况下,可以很好地渲染所选字体中的大多数字符并在Arial中呈现装饰字符(或者包含扩展字形的任何字体).
看起来PHP-GD似乎不支持充分查询字体元数据以确定字符是否可以以给定字体呈现.将字体指标变为PHP的好方法是什么?是否有可以以XML或其他可解析格式转储的命令行实用程序?
我一直在XCode 3.0中使用OCUnit(XCode附带的默认安装).我很高兴能够运行我的测试并在Build Results窗口中看到结果,以及我输出的任何NSLog()消息.
但是,使用XCode 3.1,测试运行正常,但我突然失去了我的NSLog()输出.有谁知道它去了哪里?