小编Vis*_*yas的帖子

Java和Android中Calendar类的不同行为

我正在努力检索一年中第一周的日期,我发现了非常奇怪的行为.

我在Java控制台应用程序和Android模拟器中测试了以下代码片段,它产生了不同的输出.

    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.WEEK_OF_YEAR, 1);
    cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
    System.out.println(sdf.format(cal.getTime()));
Run Code Online (Sandbox Code Playgroud)

产出以下产出

Android日志猫:2012/09/17(不正确)

Java控制台:2012/01/01(正确)

奇怪的是,如果我在Android和Java中使用以下代码,它会产生相同的正确输出.唯一的区别是我从上面的代码中交换了第2行和第3行.

    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
    cal.set(Calendar.WEEK_OF_YEAR, 1);
    System.out.println(sdf.format(cal.getTime()));
Run Code Online (Sandbox Code Playgroud)

Android日志猫:2012/01/01(正确)

Java控制台:2012/01/01(正确)

我非常想知道这件事.

提前致谢.

java android calendar

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

Android TextView有多行

我想要一个应分为4行的TextView.例如

Vishal Vyas
  Having
   342
Reputation
Run Code Online (Sandbox Code Playgroud)

注意,重力应该是 center_horizontal

我试过以下:

<TextView
    android:gravity="center_horizontal"
    android:id="@+id/lblUserRep"
    android:layout_width="70dp"
    android:layout_height="wrap_content"
    android:lines="4"
    android:maxLines="4"
    android:text="VishalVyas Having 342 Reputation" >
</TextView>
Run Code Online (Sandbox Code Playgroud)

这有效!但产生以下输出:

VishalVyas
  Having
   342
Reputation
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 它与Vishal和Vyas之间的空格无关.
  2. android:layout_width="70dp"是有编码的,可以有任意名称,但有n个字符而不是VishalVyas.

请指教.

补充: 如果我需要TextView为实现这个目的而编写一个自定义,那将会很好,但我需要一些指导.

提前致谢.

android textview android-layout

18
推荐指数
3
解决办法
6万
查看次数

Web服务SocketTimeOutException导致数据库不一致

我希望在Apache HTTP Client库的帮助下从Android设备调用Rails Web服务时克服以下情况

场景:

客户端(Android):启动HTTP POST请求(使用Apache HTTP Client,JSON作为交换格式)将少量记录插入服务器数据库(MySQL).

服务器(Rails中的Web服务):处理请求并成功将记录插入数据库但同时(SocketTimeOutException)在客户端发生超时.

客户端(Android):超时,重试执行相同的HTTP POST请求,并再次将相同的记录插入数据库并发生数据库不一致.

任何人都可以帮助我克服这种情况.

提前致谢

编辑:

我目前的情况:

1)用户尝试通过填写和提交数据来使用Android应用程序进行注册.所以基本上POST服务包含发送到服务器的所有必需用户(Rails和MySql)

2)POST请求由服务器处理,该过程基本上负责将记录插入数据库并向客户端提供插入数据的USER_ID的响应.

3)砰!数据被插入到MySql数据库中但由于某些原因存在SocketTimeOutException于Android端,因此在Android端没有USER_ID,用户试图再次注册........数据库不一致而且我是SAD :(

注意:步骤3)的发生是非常罕见的.但是当服务器太忙或者有一些处理负载时它经常发生..

android web-services httpclient http-post ruby-on-rails-3.2

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

找不到API包'urlfetch'或调用'Fetch()'

我是Google App Engine(GAE)和Glassware开发(Google Glass)的新手.

我配置了mirror-quickstart-java项目,Netbeans并且Apache tomcat我成功运行了该项目,但我遇到了麻烦.

我的要求是,我不想使用谷歌应用程序引擎来开发我自己的Glassware,因为我想使用很少的第三方API.app引擎也不支持javax.imageioBufferedImageapis.

我有以下问题

  1. 是否必须使用Google app-engine进行mirror-quickstart-java/Glassware开发?
  2. 如果没有,我在交换访问令牌时"允许访问"步骤后收到以下错误.
message The API package 'urlfetch' or call 'Fetch()' was not found.

description The server encountered an internal error that prevented it from fulfilling this request.

com.google.apphosting.api.ApiProxy$CallNotFoundException: The API package 'urlfetch' or call 'Fetch()' was not found.
    com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:100)
    com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:38)
    com.google.api.client.extensions.appengine.http.UrlFetchRequest.execute(UrlFetchRequest.java:75)
    com.google.api.client.http.HttpRequest.execute(HttpRequest.java:980)
    com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:299)
    com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest.execute(GoogleAuthorizationCodeTokenRequest.java:175)
    com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest.execute(GoogleAuthorizationCodeTokenRequest.java:78)
    com.google.glassware.AuthServlet.doGet(AuthServlet.java:56)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
Run Code Online (Sandbox Code Playgroud)

google-app-engine google-glass google-mirror-api

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

Android Google 日历“无法启动事件”

案例 1 我在 Amazon AWS 上托管了一个日历事件 iCal .ics文件,并且该文件的 HTTP URL 集成在我的 Android 应用程序中。

这是文件

当用户单击 URL 时,会显示一个带有以下选项的意图选择器:

  • 日历应用
  • 下载文件的浏览器

当我选择 Google 日历时,它给了我一个错误消息“无法启动事件”

当我选择 Chrome 时,文件被下载,当用户点击下载的文件时,它给出同样的错误“无法启动事件”

以下是使用桌面 chrome http 客户端 Postman 下载文件时的响应标头

Accept-Ranges ? bytes
Content-Length ? 959
Content-Type ? application/octet-stream
Date ? Thu, 10 Mar 2016 13:45:10 GMT
ETag ? "5d48719213395a28e09e8adf01f6ce83"
Last-Modified ? Wed, 09 Mar 2016 15:24:22 GMT
Server ? AmazonS3
x-amz-id-2 ? XXXXXXXXXXXXXXXXXXXXXXXXX
x-amz-request-id ? XXXXXXXXXXXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)

案例 2 为了实验,我在本地 Apache 服务器上编写了一个简单的 PHP 脚本来下载相同的文件,而不是直接从 HTTP URL 访问文件

PHP代码 …

icalendar android google-chrome google-calendar-api http-headers

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