2

我不知道您是否已经测试过 Google IO 应用程序,但是有一个很酷的功能可以显示所有推文,包括 Google IO 主题标签。

我真的很想为我的用户提供相同的功能。

我可以使用 API 做类似的事情,但我必须创建一个自定义列表视图,解析 XML/JSON 提要,这太复杂了!当然,这个列表不会自动更新,而是一个 livefeed

在应用程序中,我刚刚看到,当我关闭wifi时,这确实是一个带有这个url的webview:

http://www.google.com/search?%20tbs=mbl%3A1&hl=en&source=hp&biw=1170&bih=668&q=%23io2011&btnG=搜索

这是应用程序的屏幕截图和浏览器中的相同网址

高分辨率图片:http ://cl.ly/3q1r0c2J3H163E3G2p2X

嗨分辨率,点击这里

但是在 webview 中使用这个 url 只会显示谷歌搜索,并且不提供相同的功能。

我知道这个应用程序肯定是开源的,但我对谷歌承诺的“未来几天内”持否定态度。我们还在等待 Twitter 应用程序源代码!

4

2 回答 2

1

如果您等到会议结束后,您将在此处找到该应用程序的源代码。您还可以在那里找到去年的应用程序源代码。

更新:

刚刚查看了源代码,你几乎是对的。这是一个带有此 URL 的网络视图:http ://www.google.com/search?tbs=mbl%3A1&hl=en&source=hp&biw=1170&bih=668&q=%23io2011&btnG=Search所以看起来你把 %20 放​​在那里可能是偶然的.

代码:

public static final String EXTRA_QUERY = "com.google.android.iosched.extra.QUERY";

public static final String CONFERENCE_HASHTAG = "#io2011";

private String mSearchString;

//onCreate()
final Intent intent = BaseActivity.fragmentArgumentsToIntent(getArguments());
mSearchString = intent.getStringExtra(EXTRA_QUERY);
if (TextUtils.isEmpty(mSearchString)) {
    mSearchString = CONFERENCE_HASHTAG;
}
if (!mSearchString.startsWith("#")) {
    mSearchString = "#" + mSearchString;
}

//onCreateView
mWebView = (WebView) root.findViewById(R.id.webview);

mWebView.post(new Runnable() {
    public void run() {
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
        try {
            mWebView.loadUrl(
                    "http://www.google.com/search?tbs="
                    + "mbl%3A1&hl=en&source=hp&biw=1170&bih=668&q="
                    + URLEncoder.encode(mSearchString, "UTF-8")
                    + "&btnG=Search");
        } catch (UnsupportedEncodingException e) {
            Log.e(TAG, "Could not construct the realtime search URL", e);
        }
    }
});
于 2011-05-06T08:47:30.753 回答
0

可能使用带有限制的Loaders API 实现。也迫不及待地等待源代码。

于 2011-05-06T09:15:55.580 回答