小编wan*_*if2的帖子

用两个DateFormat将Gson转换为json

我的服务器JSON返回两种不同类型的DateFormat."MMM dd,yyyy"和"MMM dd,yyyy HH:mm:ss"

当我使用以下内容转换JSON时,它很好:

Gson gson = new GsonBuilder().setDateFormat("MMM dd, yyyy").create();
Run Code Online (Sandbox Code Playgroud)

但是,当我想要详细的日期格式并将其更改为此时,它会抛出异常com.google.gson.JsonSyntaxException:2013年3月21日

Gson gson = new GsonBuilder().setDateFormat("MMM dd, yyyy HH:mm:ss").create();
Run Code Online (Sandbox Code Playgroud)

有没有办法让gson为其Json转换处理两个不同的DateFormat?

java gson

31
推荐指数
2
解决办法
2万
查看次数

如何在MultiSelectListPreference中设置多个默认值?

我有这样的preference.xml

<MultiSelectListPreference
        android:key="store_select"
        android:title="@string/setting_store_title"
        android:summary="@string/setting_store_summary"
        android:dialogTitle="@string/setting_store_dialog_title"
        android:entries="@array/store_names"
        android:entryValues="@array/stores"
        android:defaultValue="@array/stores"
        />
Run Code Online (Sandbox Code Playgroud)

我的两个数组:

    <string-array name="stores">
    <item>1</item>
    <item>2</item>
    <item>3</item>
    <item>4</item>
    <item>5</item>
</string-array>

<string-array name="store_names">
    <item>foodbasics</item>
    <item>nofrills</item>
    <item>metro</item>
    <item>loblaws</item>
    <item>sobeys</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)

我希望默认行为是所有选定的选项,但默认情况下当前没有选择任何选项.难道我做错了什么?

android preferences sharedpreferences

16
推荐指数
2
解决办法
8089
查看次数

具有自动扩展功能的Google Cloud Messaging Server密钥白名单IP地址

我正在迁移我的AWS beanstalk应用程序,以便在服务器端使用GCM进行android推送更新.但是,当我设置服务器密钥时,它会提示我输入一组白名单服务器IP.

我的问题是,如果我的应用程序在AWS的自动缩放系统下,白名单如何工作?我应该手动输入所有EC2实例的IP地址吗?

android push-notification amazon-web-services google-cloud-messaging

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

String [] strings = TextUtils.split(line," - ");

我正在尝试android eclipse插件附带的字典示例应用程序.我正在尝试创建一个本地商家目录.我的问题是这部分代码.

try {
    String line;

    while((line = reader.readLine()) != null) {
        String[] strings = TextUtils.split(line, "-");
        if (strings.length < 2) continue;
            addWord(strings[0].trim(), strings[1].trim());
        }
    } finally {
        reader.close();
    }
    mLoaded = true;
}
Run Code Online (Sandbox Code Playgroud)

这段代码允许我将一行分成2个字符串,第一个是连字符之前的任何内容,第二个字符串连字符之后的任何内容.我试图使用类似的代码,但我想将其分解为3 strings与2相关

谢谢您的帮助

java sqlite android

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

带有注释的Servlet映射无法通过Google App Engine Dev Server解析

我试图使用注释将servlet映射到url,而不是在web.xml中进行servlet映射,如下所示:

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "GuestbookServlet", urlPatterns = "/guestbook")
public class GuestbookServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws IOException {
        resp.setContentType("text/plain");
        resp.getWriter().println("Hello, world");
    }
}
Run Code Online (Sandbox Code Playgroud)

我还在web.xml中声明了servlet的3.0规范:

<?xml version="1.0" encoding="UTF-8"?>
<web-app
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0"
    metadata-complete="false">

</web-app>
Run Code Online (Sandbox Code Playgroud)

但是,当我在本地环境中运行它时,返回的响应是404.

但是,如果我只是在web.xml中映射servlet,它就可以工作.我究竟做错了什么?GAE仍然不支持3.0规格吗?

google-app-engine

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