小编Mr.*_*ock的帖子

为什么缩小缩放在我的Android WebView中不起作用?

我有一个像这样的布局的活动:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >

    <include  layout="@layout/window_title" />

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerHorizontal="true" 
        android:layout_below="@+id/linear_layout"/>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

这是我如何配置它:

    // Enable JavaScript.
    WebView myWebView = (WebView) findViewById(R.id.webView);
    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);

    // Settings so page loads zoomed-out all the way.
    webSettings.setLoadWithOverviewMode(true);
    webSettings.setUseWideViewPort(true);
    webSettings.setBuiltInZoomControls(true);
Run Code Online (Sandbox Code Playgroud)

这是我的清单文件中的版本设置:

<uses-sdk
    android:minSdkVersion="10"
    android:targetSdkVersion="17" />
Run Code Online (Sandbox Code Playgroud)

我正在尝试在WebView中加载此页面:

https://new.livestream.com/lcboise
Run Code Online (Sandbox Code Playgroud)

页面加载很好,但我不能捏缩放.我尝试了不同的WebView设置组合(上面,包括未列出的其他组合),但它不会缩放.

观察:

1)加载我正在使用的另一个页面(https://lcboise.infellowship.com/UserLogin)在完全相同的WebView中允许我缩放.

2)我的主要测试设备,哪里不起作用,是运行Android的v4.4.3的HTC One.

3)我可以在我正在使用运行Android的v2.3.3的旧测试设备上加载和缩放直播页面.

是否有可能页面中的某些内容破坏了HTC One上运行的WebView?如果是这样,任何猜测可能会这样做?

更新[解决方案]:

这是我必须添加到我的WebView以获得缩放工作:

    myWebView.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageFinished(WebView view, String url) {
            String javascript="javascript:document.getElementsByName('viewport')[0].setAttribute('content', 'initial-scale=1.0,maximum-scale=10.0');";
            view.loadUrl(javascript);
        }
    });
Run Code Online (Sandbox Code Playgroud)

android android-webview

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

即使文件已经播放,Android VideoView播放控件最初显示"播放"而不是"暂停"

下午好/早上好!希望有人可以帮我解决我遇到的一个小问题.我正在使用VideoView和自定义播放远程.mp3文件MediaController.

我的MediaController看起来像这样:

public class MyMediaController extends MediaController {

public MyMediaController(Context context) {
    super(context);      
}

// Do nothing on the overridden hide method so the playback controls will never go away.
@Override
public void hide() {

}

// Override the dispatchKeyEvent function to capture the back KeyEvent and tell the activity to finish.
@Override
public boolean dispatchKeyEvent(KeyEvent event)
{
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) 
    {
        ((Activity) getContext()).finish();
    }

    return super.dispatchKeyEvent(event);
}
Run Code Online (Sandbox Code Playgroud)

}

我的代码将它附加到我VideoView看起来像这样:

    VideoView videoView = …
Run Code Online (Sandbox Code Playgroud)

android mediacontroller android-videoview

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

如何加速Android XML解析?

下午好(取决于你住的地方)!

我是Android开发的新手,我正在努力将功能从现有的iOS应用程序转移到Android.此功能的一部分是解析包含大约500个条目的"大"(~13,000行)RSS XML文件.我花了10-15个小时在Android上研究XML解析并尝试使用主要的XML解析器:DOM,SAX和Pull-parsing.以下是我的结果,在我的盒子上的模拟器(32位Windows Vista,2.2 GHz双CPU,3 GB RAM)中运行:

SAX:约6:00分钟

拉解析:~4:00分钟

DOM:大于4:00分钟,但是当我编写实现代码时没有计时.

我也从github尝试过这个RSS阅读器,但花了> 10:00分钟:

https://github.com/matshofman/Android-RSS-Reader-Library

SAX,PP和DOM的实现都是从stackoverflow.com线程中获取的,所以我相信我没有做任何非标准的事情(尽管如此,我并没有把它排除在外).我决定吸引更多,更有经验的人群,以获得一些我可以尝试的想法.

我无法控制文件的格式.如果我实现这种端到端的方式,我只会编写一个Web服务,在服务器上完成所有繁重工作,然后发送一个小型,紧凑的JSON序列化列表.相反,我有13K行文件.:)

对我能做什么的任何见解?这似乎是一个相当普遍的问题,但大多数响应只是说尝试不同的主要XML解析器之一.在我的情况下,我已经尝试了所有三个,甚至最快似乎太慢了.

我究竟做错了什么?在Android上通过网络进行XML解析时,人们通常会遇到任何正常的"新手"问题吗?

提前感谢您提供的任何帮助!

java xml android xml-parsing

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

NSURLRequestReloadIgnoringLocalAndRemoteCacheData在iOS 7中有效吗?

晚上好!我希望有人可以帮我解决我遇到的问题.

自iOS 7推出以来,以下调用无效:

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:60];

每当我更新url上面指出的页面时,它都会拉出旧内容 - 即使我重新启动设备.我的应用程序的多个(所有可能)用户都可以看到此问题.

在iOS 6和iOS 7之间发生了一些变化.是否有任何关于如何可靠地拉取远程文件(在这种情况下为HTML)而忽略任何和所有缓存的指针?似乎我使用的方式不再工作/支持.

谢谢!

objective-c nsurl ios ios6 ios7

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

如何将文本数据类型从 PostgreSQL 数据库转换/转换为链接的 MS SQL Server?

早上好/下午好!一整天的大部分时间都在研究这个问题,所以我认为是时候吸引更多的受众了。

我正在运行 Microsoft SQL Server 2012。我已经创建了一个到 PostgreSQL 服务器的“链接服务器”。当我尝试向 PostgreSQL 服务器发出查询时,我得到以下信息:

SELECT *
FROM OPENQUERY(MYDB, 'SELECT notes from remote_view LIMIT 50');

Msg 7347, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' for linked server 'MYDB' returned data that does not match expected data length for column '[MSDASQL].notes'. The (maximum) expected data length is 8000, while the returned data length is 9088.
Run Code Online (Sandbox Code Playgroud)

如果我截断该字段(使用LEFT(notes, 4000))我可以让它工作。PostgreSQL 表上的字段是“文本”数据类型。

有什么想法如何让数据在不丢失任何数据的情况下被找到吗?

更新#1:

尝试将值转换为varchar(max)

SELECT *
FROM OPENQUERY(MYDB, 'SELECT cast(notes as varchar(max)) …
Run Code Online (Sandbox Code Playgroud)

sql sql-server postgresql-9.1

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