小编wry*_*iel的帖子

Android上的SimpleDateFormat时区错误

我一直试图在我的应用程序中隔离一个错误.我成功地制作了以下"谜语":

SimpleDateFormat f1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
SimpleDateFormat f2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
Date d = f1.parse("2012-01-01T00:00:00+0700");
String s1 = f1.format(d); // 2011-12-31T18:00:00+0700
String s2 = f2.format(d); // 2011-12-31T18:00:00+0100
Run Code Online (Sandbox Code Playgroud)

当我在Android API 7上运行此代码时,我在注释中获得了值(是的,真的).此行为取决于特定的Java实现.

我的问题是:

  • 为什么s1不等于s2?
  • 更重要的是,为什么s1不正确?虽然s2指向一个适当的时间点,s1但没有.Android的SimpleDateFormat实现似乎存在一个错误.

对问题1的回答:请参阅BalusC的答案:

  • [使用之后SimpleDateFormat#parse]可能需要恢复先前通过调用setTimeZone设置的任何TimeZone值以进行进一步操作.

对问题2的回答:请参阅wrygiel的答案(我自己).

  • 这是由于Android 2.1(API 7)中的错误造成的.

java android

9
推荐指数
2
解决办法
6720
查看次数

优化我的mysql查询以使用索引进行排序

我有一个基于3列的复合索引,其中两列在我的查询中受约束,第三列是按顺序子句,但mysql不使用索引进行排序.

explain select * from videos where public_private='public' and approved='yes' order by number_of_views desc;

+----+-------------+--------+------+--------------------------------+------+---------+------+---------+-----------------------------+
| id | select_type | table  | type | possible_keys                  | key  | key_len | ref  | rows    | Extra     |
+----+-------------+--------+------+--------------------------------+------+---------+------+---------+-----------------------------+
|  1 | SIMPLE      | videos | ALL  | approved,approved_3,approved_2 | NULL | NULL    | NULL | 1476818 | Using where; Using filesort |
+----+-------------+--------+------+--------------------------------+------+---------+------+---------+-----------------------------+

表结构如下:

CREATE TABLE `videos` (
  `indexer` int(9) NOT NULL auto_increment,
  `user_id` int(9) default NULL,
  `public_private` varchar(24) default NULL, …
Run Code Online (Sandbox Code Playgroud)

mysql indexing optimization query-optimization

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

如何删除TBODY元素之间的额外边框间距?

重要提示:此问题不再有效.最新版本的Chrome修复了此错误.

我使用border-spacing: 1pxCSS规则来获取我的所有单元格之间TABLE1px间距.但是,我必须TBODY在表格中使用多个元素.我得到2px之间THEAD,TBODYTFOOT元素(铬).

用这些2px差距替代这些差距的最简单方法是1px什么?

缺口

精确的HTML和CSS代码:http://jsfiddle.net/qQA3Z/

css

7
推荐指数
3
解决办法
1万
查看次数

为结果启动PendingIntent

我执行Activity X.我得到了PendingIntent P一个Service S.我肯定知道,P指向未知 Activity Y,它通过其setResult方法返回结果R.

我应该如何在X中启动P,以便接收结果R X.onActivityResult

android

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

Maven中的传递AAR依赖项

我正在使用android-maven-plugin的Maven项目构建Android应用程序.在这个项目中,我正在使用新的beta数据绑定库.

它包含在Android SDK的本地m2repository中(extras/android/m2repository).此存储库中的库打包为aar类型.

我可以像这样在我的pom中添加依赖项:

    <dependency>
        <groupId>com.android.databinding</groupId>
        <artifactId>library</artifactId>
        <version>1.0-rc1</version>
        <type>aar</type>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但构建失败了:

无法在项目演示中执行目标:无法解决项目com.simpligility.android:demo:apk:1.0.0的依赖项:未能在文件中找到com.android.support:support-v4:jar:21.0.3:/ // Users/eppleton/Java Libraries/android-sdk-macosx/extras/android/m2repository缓存在本地存储库中,直到android-local-extras的更新间隔已经过去或强制更新后才会重新尝试解析 - > [帮助1]

在本地存储库中没有support-v4:jar是正确的,因为API版本20有支持-v4:aar.

有没有办法让maven找到aar而不是jar?

Ps:对于我自己的本地构建,我有几个解决方法(例如重新打包为jar),但我更喜欢更通用的解决方案,因为我想在maven原型中共享配置,我不想要求用户做很多手工工作.现在这是我的最佳解决方案:

    <dependency>
        <groupId>com.android.support</groupId>
        <artifactId>support-v4</artifactId>
        <version>21.0.3</version>
        <scope>system</scope>
        <systemPath>${android.sdk.path}/extras/android/support/v4/android-support-v4.jar</systemPath>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

但它不是很好,传递依赖性解决,因为aar会更好.

android packaging jar maven aar

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

标签 统计

android ×3

aar ×1

css ×1

indexing ×1

jar ×1

java ×1

maven ×1

mysql ×1

optimization ×1

packaging ×1

query-optimization ×1