小编Rep*_*pox的帖子

在WebViewClient中启用常规JavaScript

在谷歌搜索答案时,似乎我不是唯一一个遇到似乎无法解决的问题的人.

我已经设法使用自定义WebViewClient创建WebView - 这使得我可以拥有processdialog并在无法加载URL时显示错误消息.

但这会产生JavaScript问题.我正在加载的URL有一些JavaScript,它改变了一些HTML元素的CSS样式(显示或隐藏元素)或重定向到另一个位置onclick - 或者甚至想要显示一个警告框.但是通过使用WebViewClient,这些都不起作用.

这是我加载页面的方式:

public void loadUrl(String url)
{
    final ProgressDialog dialog = ProgressDialog.show(myActivity.this, "",  getString(R.string.loading), true);
            final WebView myWebView = (WebView) findViewById(R.id.webview);
            myWebView.setVerticalScrollBarEnabled(false);
            myWebView.setHorizontalScrollBarEnabled(false);
            WebSettings webSettings = myWebView.getSettings();
            webSettings.setJavaScriptEnabled(true);                                         


            myWebView.setWebViewClient(new WebViewClient() 
            {
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) 
                {
                    Toast.makeText(myActivity.this, url, Toast.LENGTH_SHORT).show(); //Debugging purposes
                if (url.endsWith(".mp4")) 
                {
                        Intent intent = new Intent(Intent.ACTION_VIEW);
                        intent.setDataAndType(Uri.parse(url), "video/mp4");
                        view.getContext().startActivity(intent);  
                }
                else
                {                           
                        view.loadUrl(url);
                    }

                    return true;
                }

                public void onPageFinished(WebView view, String url) 
                {
                    //Toast.makeText(myActivity.this, "Oh no!", Toast.LENGTH_SHORT).show(); …
Run Code Online (Sandbox Code Playgroud)

android webview webviewclient

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

脱机安装Android支持存储库

我正在尝试在Linux上设置Android Studio + Android SDK.我能够设置Android Studio和SDK工具以及除"Android支持存储库"之外的其他组件(下载保持失败)所以我下载android_m2repository_r30.zip并尝试将其内容(这是一个目录m2repository)放在SDK目录树中但是无法识别.

我尝试过几个路径,包括

pathtosdk/extras/android/m2repository , pathtosdk/extras/android/support/m2repository

pathtosdk/extras/support/m2repository

但它们都不起作用.我应该在哪里放置zip文件的内容以安装它.

android android-sdk-tools

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

什么是客户端准备的声明?

试图学习一些新东西 - 特别是在使用MySQL时选择使用MySQLiPDO进行未来项目 - 我偶然发现了这个页面,其中显示了我可用的选项概述.

在这个页面的底部是一个表格,比较了与mysql通信的三种主要方法的功能.在" API支持客户端准备语句 "行中,它表示PDO支持这一点,而MySQLi则不支持.

我知道准备好的陈述是什么.这个问题的答案是我认为是服务器端预处理语句的简单示例.PHP是一种服务器端语言,反过来应该意味着客户端准备好的语句是否可用并不重要.但这让我想知道为什么甚至会在PHP手册中列出.

那么什么是客户端准备的声明?

php mysql mysqli pdo prepared-statement

21
推荐指数
2
解决办法
4490
查看次数

无法在ElasticSearch IndexShardGatewayRecoveryException"发送失败"中启动分片

我收到此错误,在我的ES日志中我使用了三个节点.

Caused by: java.lang.ArrayIndexOutOfBoundsException
[2014-09-08 13:53:56,167][WARN ][cluster.action.shard     ] [Dancing Destroyer] [events][3] sending failed shard for [events][3], node[RDZy21y7SRep7n6oWT8ogg], [P], s[INITIALIZING], indexUUID [gzj1aHTnQX6XDc0SxkvxDQ], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[events][3] failed recovery]; nested: FlushFailedEngineException[[events][3] Flush failed]; nested: ArrayIndexOutOfBoundsException; ]]
[2014-09-08 13:53:56,357][WARN ][indices.cluster          ] [Dancing Destroyer] [events][3] failed to start shard
org.elasticsearch.index.gateway.IndexShardGatewayRecoveryException: [events][3] failed recovery
        at org.elasticsearch.index.gateway.IndexShardGatewayService$1.run(IndexShardGatewayService.java:185)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
Caused by: org.elasticsearch.index.engine.FlushFailedEngineException: [events][3] Flush failed
        at org.elasticsearch.index.engine.internal.InternalEngine.flush(InternalEngine.java:805)
        at org.elasticsearch.index.shard.service.InternalIndexShard.performRecoveryFinalization(InternalIndexShard.java:726)
        at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:249)
        at org.elasticsearch.index.gateway.IndexShardGatewayService$1.run(IndexShardGatewayService.java:132)
        ... 3 more
Caused by: java.lang.ArrayIndexOutOfBoundsException …
Run Code Online (Sandbox Code Playgroud)

sharding elasticsearch

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

SmartGit拉不像预期的那样

我在GitHub上分叉了一个存储库.

然后我通过SmartGit将我的叉子克隆到我当地开发环境的一个文件夹中.另外,我将原始存储库添加为远程存储库.

现在,原始存储库已添加并更改了一些文件.在继续开发之前,我想检索这些以便我更新.

我按下SmartGit中的Pull按钮,然后在对话框中选择原始回购.SmartGit将此返回给我:

remote: Counting objects: 24, done.
remote: Total 13 (delta 7), reused 12 (delta 6)
From github.com:Original/repo
 * [new branch]      master     -> lm/master
Run Code Online (Sandbox Code Playgroud)

但是,添加的文件和更改不会添加到我的本地存储库中.使用Git Bash手动执行此操作 - git pull original master一切都按预期工作.

为什么SmartGit没有像我期望的那样拉?

git smartgit

7
推荐指数
2
解决办法
6633
查看次数

未被捕的例外:不能有.在字段名称中

我正在尝试更新members_copy集合中的一组文档.

db.members_copy.find({"fields.shop.id": 321}).forEach(function(myDoc) {     
    db.members_copy.update({ "_id": myDoc._id}, { "fields.shop": [{"id": 319, "value": "Los Angeles"}] });
});
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

uncaught exception: can't have . in field names [fields.shop]
Run Code Online (Sandbox Code Playgroud)

我理解这个问题,但我找不到解决方案,所以我很感激我能得到的任何帮助.

mongodb mongodb-query

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

新活动 - 新菜单

我继续在Android应用程序中进行开发,现在添加了一个新活动,通过在listview项目上按下来激活该活动.

问题

我的新活动显示了我主要活动的菜单.这是相当意外的.问题是,我该如何解决这个问题?

到目前为止我做了什么

在我的主要活动中,我创建了一个菜单(menu.xml),它添加如下:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}    


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.refresh:
        new DownloadXmlTask().execute();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}    
Run Code Online (Sandbox Code Playgroud)

这按预期工作.

现在我开始这样的新活动:

//lv is (ofc) my listview
lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

        EntryObject obj = entries.get(position);

        Bundle bundle = new Bundle();
        bundle.putString("title", obj.title);
        bundle.putString("teaser", obj.teaser);
        bundle.putString("description", obj.description); …
Run Code Online (Sandbox Code Playgroud)

android menu android-activity

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

使用 SharedPreferences 时带有用于推送通知的后台处理程序的 MissingPluginException

我有以下文件,该文件基于有关如何管理后台消息(即应用程序终止或在后台时)的firebase_messaging示例。

该文件当前包含以下内容:

import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'notifications.dart';

Future<dynamic> backgroundMessageHandler(Map<String, dynamic> message) async {

  print("backgroundHandler: $message");
  SharedPreferences prefs = await SharedPreferences.getInstance();
  print(prefs.getInt('latest_id'));

}
Run Code Online (Sandbox Code Playgroud)

应用程序确实收到了通知,它在打印内容时显示,message但是当我尝试获取SharedPreferences 时,控制台向我显示以下消息并且代码执行停止:

I/flutter (17018): Unable to handle incoming background message.
I/flutter (17018): MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences)
Run Code Online (Sandbox Code Playgroud)

有没有可能解决这个问题?

plugins dart flutter

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

设置Button状态并在onClick之后保留它

我不确定这是否可能.我有这个按钮:

<Button 
android:id="@+id/b1" 
android:layout_width="wrap_content" 
android:layout_height="45px"
android:drawableTop="@drawable/buttontv"
android:layout_weight="1"
android:background="@null"
android:textColor="#ffffff"
android:textSize="9px"
android:text="TV"/>
Run Code Online (Sandbox Code Playgroud)

这个按钮有这个项目xml:

<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
 android:state_focused="true"
 android:state_pressed="false"
 android:drawable="@drawable/tv" />
<item
 android:state_focused="true"
 android:state_pressed="true"
 android:drawable="@drawable/tv_pressed" />
<item
 android:state_focused="false"
 android:state_pressed="true"
 android:drawable="@drawable/tv_pressed" />
<item  
 android:drawable="@drawable/tv" />
</selector>
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,我在单击按钮时使用此代码:

            OnClickListener b1Listener = new OnClickListener(){             
                    @Override
                    public void onClick(View v) {   loadUrl("http://example.org/"); v.setPressed(true); }
            };
            Button b1 = (Button) findViewById(R.id.b1);
            b1.setOnClickListener(b1Listener);
Run Code Online (Sandbox Code Playgroud)

当我按下按钮时,我想要的是,drawableTop设置为具有@ drawable/tv_pressed属性值的项目之一 - 并保持在那里(如'这是当前活动按钮').

我尝试在onClick函数中添加v.setPressed(true)(因为这是我可以在Google上找到的所有内容),但这不起作用.

可以这样做吗?或者,有没有比我想要完成的更好的选择?

android button

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

在Logstash中使用Syslog forware HAProxy日志过滤

我在理解如何正确执行此操作时遇到问题.

我有以下Logstash配置:

input {
  lumberjack {
    port => 5000
    host => "127.0.0.1"
    ssl_certificate => "/etc/ssl/star_server_com.crt"
    ssl_key => "/etc/ssl/server.key"
    type => "somelogs"
 }
}

output {
  elasticsearch {
    protocol => "http"
    host => "es01.server.com"
  }
}
Run Code Online (Sandbox Code Playgroud)

使用logstash-forwarder,我将syslog生成的haproxy.log文件推送到logstash.然后Kibana向我展示了一个_source如下所示:

{"message":"Dec 8 11:32:20 localhost haproxy[5543]: 217.116.219.53:47746 [08/Dec/2014:11:32:20.938] es_proxy es_proxy/es02.server.com 0/0/1/18/20 200 305 - - ---- 1/1/1/0/0 0/0 \"GET /_cluster/health HTTP/1.1\"","@version":"1","@timestamp":"2014-12-08T11:32:21.603Z","type":"syslog","file":"/var/log/haproxy.log","host":"haproxy.server.com","offset":"4728006"}
Run Code Online (Sandbox Code Playgroud)

现在,这必须被过滤(不知何故),我不得不承认我没有丝毫想法如何.
查看grok文档并摆弄grok调试器,我仍然没有从Logstash和Kibana中获得任何有用的东西.

我一直在扫描模式目录及其文件,我不能说我理解如何使用它们.我希望提供一个带有haproxy模式Logstash的过滤器可以匹配我的模式_source但是没有任何运气.

logstash logstash-grok logstash-forwarder

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

允许从 ECS 连接到现有 RDS 数据库吗?

我当前正在尝试识别现有的 MySQL 实例,并且希望允许我的 ECS 部署能够连接到它。

迄今为止的进展如下:

    const rdsPrimaryDatabase = rds.DatabaseInstance.fromDatabaseInstanceAttributes(this, 'ApplicationReadWrite', {
      instanceEndpointAddress: "application_database_ewqqqrqw.eu-west-1.rds.amazonaws.com", port: 3305, securityGroups: [],
      instanceIdentifier: 'application_database'
    });

    const securityGroup = new ec2.SecurityGroup(this, 'ApplicationEcsSecurityGroup', {
      vpc: vpc,
      allowAllOutbound: true,
      securityGroupName: 'ApplicationEcsSecurityGroup',
    })

    securityGroup.connections.allowTo(rdsPrimaryDatabase, 3306, 'Primary Database')
Run Code Online (Sandbox Code Playgroud)

上述内容目前导致以下错误,与最后一行相关:

    Argument of type 'IDatabaseInstance' is not assignable to parameter of type 'IConnectable'.
    The types of 'connections.defaultPort' are incompatible between these types.
Run Code Online (Sandbox Code Playgroud)

这个错误是完全可以理解的,但我不确定如何克服这个问题 - 而且我不太确定我是否以正确的方式做这件事。

任何帮助表示赞赏。

amazon-web-services typescript aws-cdk

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

直接用HTML编码电子邮件地址很糟糕,对吧?什么是更好的简单解决方案?

我有一个网站,将公开显示大量成员的联系信息.由于垃圾邮件等原因,简单地用HTML格式将他们的电子邮件吐在页面上是一个坏主意,对吧?

所以我相信有很多方法可以解决这个问题.我已经看到了使用"name [at] blah [dot] com"的建议(这似乎并不那么安全).我想合乎逻辑的步骤是利用phpmail或swiftmailer或类似的东西?看起来他们都处于我的PHP技能的边缘,并且在我能让他们正常工作之前会让我有些头疼.

有更简单的解决方案吗?任何人都可以建议一个具有最佳的简单有效比例?

我从成员输入的SQL数据中获取信息.

html php email

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