小编Kau*_* NP的帖子

在Android中使用Observable

我想实现一个Navigation View包含许多片段的片段,这些片段完全依赖于在中定义的值MainActivity.我知道MainActivity中的变量可以使用MainActivity中定义的方法从其他Fragments获取以获取值,但是这里的catch是MainActivity中变量的值可能会改变(在AsyncThread上运行).现在,我要么更改代码,以便我的Fragments根据片段本身中的某些事件更新其值或使用SharedPreference.但我不想使用SharedPreferences,也不必多次检查值的变化.

我知道在RxJS中,我们使用Observable以异步方式运行,并以类似于传送带的方式工作.通过官方文档进行了一些谷歌搜索:Observable证实了我对Android中可用的类似内容的怀疑,但找不到任何适当的教程或如何实现它的解释.所以,我正在寻找一个简单的代码片段,它可以清楚地说明Observable在Android中是如何工作的,如果它是Async,并且它的基础类似于它的RxJS实现.(不,我不想要RxJS实现)

测试用例:

MainActivity : int a, b (need observable for both variables)
Frag1 : int a1 , b1, a1changed(),b1changed()
Frag2 : int a2 , b2, a2Changed(), b2changed()
Run Code Online (Sandbox Code Playgroud)

MainActivity包含整数,其值在更改时应反映在片段中的相应整数中,并在注意到的更改上调用每个片段的单独函数.

java android observable

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

访问一个新窗口 - cypress.io

问题就是这么简单.在赛普拉斯,我如何访问运行测试时打开的新窗口.

重新创建的步骤:

  1. 运行测试.在一些动作之后,弹出新窗口(该URL本质上是动态的).
  2. 填写新窗口中的字段,然后单击几个按钮.
  3. 在新窗口中完成所需操作后,关闭新窗口并返回主窗口.
  4. 继续执行主窗口.

兴趣点:重点应该是

main window -> new window -> main window
Run Code Online (Sandbox Code Playgroud)

我读过很少与使用iframe和有关的东西confirmation box,但这里没有.与访问一个全新的窗口有关.像Window HandlersSelenium 一样的东西.遗憾的是找不到与之相关的任何内容.

javascript ui-automation cypress

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

Sweep Gradient:它是什么以及它的例子

在Android上遇到了Sweep Gradient,如果它可以让我更好地控制色彩间距和过渡,那么我很感兴趣.做了快速搜索,发现几乎没有任何关于它!

我发现的唯一一些参考文献(并且它们符合接近正确或全面解释的标准)如下所示:

几乎就是这样.其他人则相似或贬低.


到目前为止我得出的结论很少(也许是错误的):

  • Sweep Gradient主要用于戒指
  • 它们用于类似的交易,如Angular扫描(不确定这个),它讨论的事务类似于扫描时钟的手.
  • Linear Gradients 非常相似.我能想到的唯一一个区别就是使用(比如Rings).
  • 扫描与Center的交易(再次强烈提及时钟理论)

我知道人们可能会认为这不是一个真正的技术问题.但是对于我使用Sweep Gradients或至少知道它们的意思,描述必须来自某个地方.并请提供一些答案的例子在环比其它情况下,扫描的使用.

android gradient drawable sweepgradient

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

其父级被隐藏的访问元素 - cypress.io

问题在标题中给出,即访问其父项被隐藏的元素.问题是,根据cypress.io文档 :

一个元素被认为是隐藏的,如果:

  • 它的宽度或高度为0.
  • 它的CSS属性(或祖先)是visibility:hidden.
  • 它的CSS属性(或祖先)是display:none.
  • 它的CSS属性是位置:固定,它是屏幕外或掩盖.

但是我正在使用的代码要求我单击其父级被隐藏的元素,而元素本身是可见的.

因此,每次我尝试单击该元素时,都会引发错误读取:

CypressError:超时重试:预期'<mdc-select-item #mdc-select-item-4.mdc-list-item>'为'可见'

此元素'<mdc-select-item #mdc-select-item-4.mdc-list-item>'不可见,因为其父元素'<mdc-select-menu.mdc-simple-menu.mdc-select__menu>'有CSS属性:'display:none'

在此输入图像描述

我正在使用的元素是一个dropdown item写的pug.该元素是angular-mdc-web中定义的组件,它使用mdc-select下拉菜单mdc-select-item及其元素(项),这是我必须访问的.

类似结构的示例代码:

//pug
mdc-select(placeholder="installation type"
            '[closeOnScroll]'="true")
    mdc-select-item(value="false") ITEM1
    mdc-select-item(value="true") ITEM2
Run Code Online (Sandbox Code Playgroud)

在上面,ITEM1是我必须访问的元素.我这样做cypress.io如下:

//cypress.io
// click on the dropdown menu to show the dropdown (items)
cy.get("mdc-select").contains("installation type").click();
// try to access ITEM1
cy.get('mdc-select-item').contains("ITEM1").should('be.visible').click();
Run Code Online (Sandbox Code Playgroud)

试过{force:true}强迫项目点击,但没有运气.尝试使用{enter}父按钮上的按键选择项目mdc-select,但再次没有运气,因为它抛出:

CypressError:cy.type()只能在textarea或:text上调用.您的主题是:<mdc-select-label class ="mdc-select__selected-text">选择... </ mdc-select-label>

也尝试使用该select命令,但它不可能,因为赛普拉斯引擎无法将元素识别为 …

javascript ui-automation pug angular cypress

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

在响应式网站中与半透明div重叠

我一直在研究一个自我项目,使用可用的JSON数据复制javascriptreddit页面.但我无法复制原始网站的行为header section,其中header响应(屏幕尺寸减小时的行为).

在此输入图像描述

GIF:原始网站标题部分的工作原理.

问题 :

  1. 在左侧重叠右侧(登录页面选项).重叠使得后面的文本未显示.我已经成功地做到了重叠,但由于背景的divstranslucent,在后面的文本也显示.想不出任何解决方案.

GIF:我的标题(在文字后面看到)

  1. navbar elements当空间不足时,超越下来.这不是它是如何在原,在那里他们得到了隐藏moreLogin section.我无法弄清楚如何将它放在一.

GIF:我的标题(标题元素向下移动)


一个较小的,类似的样本片段:

.custom-header-full{
    background: rgba(255,255,0,1);
}

/* Top */
.custom-top-header-container{
    background: rgba(0,0,0,0.7);       /* translucent */
    position:absolute;
    top:0;
    width: 100%;
}
#top-right-div{
    position: absolute;
    right: 0;
    z-index: 1000;
}
Run Code Online (Sandbox Code Playgroud)
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
      rel="stylesheet"/>

<div class="navbar navbar-static-top custom-header-full">

    <!-- TOPMOST header with Links …
Run Code Online (Sandbox Code Playgroud)

html css twitter-bootstrap-3

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

如何清除视图中所有可选元素的焦点?

我的问题很简单.如何清除在查看所有元素,可能有焦点的对焦( EditText -或- TextViewtextIsSelectable="true"与文本在它选择在clearFocus事件的发生).

为什么要问(如果我没有得到上面的通用回复):

我通过导航视图访问的片段很少.我的主要目标是在导航视图中打开抽屉时失去片段中元素的焦点.我知道有可能获取NavigationDrawer的方法,并在我的MainActivity中设置它,以便在抽屉打开时,如果其中一个片段中的我的EditText打开,我调用hideSoftKeyboard代码,以便它关闭SoftKeyboard.onDrawerSlide

我的代码在抽屉打开时获取事件 :(在MainActivity的onCreate()方法中)

DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close)
{
            //Hide SoftKeyboard on Navigation Drawer Open
            @Override
            public void onDrawerSlide(View drawerView, float slideOffset) {
                //Hide SoftKeyboard if it is open
                hideSoftKeyboard();

                //And Make any view having focus loose focus
 //...
//ClearFocus for the whole view is …
Run Code Online (Sandbox Code Playgroud)

android focus android-view navigation-drawer

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

无法加载AWS凭据使用java访问dynamoDB(本地)时出错

我已经安装了本地版本的dynamoDB,并设置了一个maven java项目来访问数据库.当我运行代码时,我得到以下错误.由于我已在本地安装服务器(它运行子localhost:8000),我没有任何凭据提供...任何想法如何解决?

import java.util.Iterator;

import org.apache.commons.cli.ParseException;

import com.amazonaws.ClientConfiguration;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
import com.amazonaws.services.dynamodbv2.document.DynamoDB;
import com.amazonaws.services.dynamodbv2.document.Table;
import com.amazonaws.services.dynamodbv2.document.TableCollection;
import com.amazonaws.services.dynamodbv2.exceptions.DynamoDBLocalServiceException;
import com.amazonaws.services.dynamodbv2.local.embedded.DynamoDBEmbedded;
import com.amazonaws.services.dynamodbv2.local.main.ServerRunner;
import com.amazonaws.services.dynamodbv2.local.server.DynamoDBProxyServer;
import com.amazonaws.services.dynamodbv2.model.ListTablesResult;

public class Test {

    public static void main(String[] args) {

         AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration(
                    // we can use any region here
                    new AwsClientBuilder.EndpointConfiguration("http://localhost:8000", "us-west-2"))
                    .build();
         DynamoDB dynamoDB = new DynamoDB(client);
         //dynamoDB.listTables();
         TableCollection<ListTablesResult> list = dynamoDB.listTables();

         Iterator<Table> iterator = list.iterator();

            System.out.println("Listing table names");

            while (iterator.hasNext()) {
                Table table = …
Run Code Online (Sandbox Code Playgroud)

java amazon-dynamodb

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

将openssh公钥转换为ssh2(RFC 4716)格式

主要问题就是这样.解析openssh公钥以rfc 4716符合格式.唯一的问题是它必须在java中.

使用ssh-keygen,它只是单行命令:

ssh-keygen -e -f openssh_key.pub
Run Code Online (Sandbox Code Playgroud)

不幸的是,我在Java中找不到任何其他来源.甚至没有提到转换所需的任何算法或步骤.所有这些都围绕着ssh-keygen自身的使用.当然,我可以java.exec用来调用命令,但那是最糟糕的情况.


示例openssh密钥(已将其保留为代码格式,以便保留生成的空格/换行符):

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDwxgE7D3HYLYddNHLMFK8OfpRwwUSgxiB8fbecvkCUEktSpWikvsWTyCnl5p3uSmsGg/F1lwVPXuuVlQ4VZlYqMuEBEMRF9ADdXWWNxjO/Hd7688ow7ocncxl0xKXsH5Fc9GHvE8yfUh94F8Qm9x8M8Uux+XsNEvPG8KI/QUJWndIsHv+m//3nbEEqUTAlzsyY0mjHW/dPORhXcB5WeGH+cBRAhcp5JGKAq26TOsuNY8H+nrlxX6z03xbUN28HHdXv6uKZfpnVpl6tM0khxbh7F+tLYWeUIZ+nYaDBPINv8Mkd6Duqe/GOLtgVUIR76Adijok4w5oaKlTq27xzMurl kaushik@kaushik-HP
Run Code Online (Sandbox Code Playgroud)

使用ssh-keygen解析:

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "2048-bit RSA, converted by kaushik@kaushik-HP from OpenSSH"
AAAAB3NzaC1yc2EAAAADAQABAAABAQDwxgE7D3HYLYddNHLMFK8OfpRwwUSgxiB8fbecvk
CUEktSpWikvsWTyCnl5p3uSmsGg/F1lwVPXuuVlQ4VZlYqMuEBEMRF9ADdXWWNxjO/Hd76
88ow7ocncxl0xKXsH5Fc9GHvE8yfUh94F8Qm9x8M8Uux+XsNEvPG8KI/QUJWndIsHv+m//
3nbEEqUTAlzsyY0mjHW/dPORhXcB5WeGH+cBRAhcp5JGKAq26TOsuNY8H+nrlxX6z03xbU
N28HHdXv6uKZfpnVpl6tM0khxbh7F+tLYWeUIZ+nYaDBPINv8Mkd6Duqe/GOLtgVUIR76A
dijok4w5oaKlTq27xzMurl
---- END SSH2 PUBLIC KEY ----
Run Code Online (Sandbox Code Playgroud)

更新:我已经为任何有类似需求的人创建了gist转换实现.

java openssh

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

Amazon Cognito连接找不到IdentityPool

我花了一天时间试图让Cognito在我的服务器上工作.我找不到任何有用的文档,因为没有明确的例子来设置它.

我的服务器上有以下代码:

BasicAWSCredentials credentials = new BasicAWSCredentials(
        "A**************",
        "+y*****************************");

AmazonCognitoIdentityClient client =
        new AmazonCognitoIdentityClient(credentials);
GetOpenIdTokenForDeveloperIdentityRequest tokenRequest =
        new GetOpenIdTokenForDeveloperIdentityRequest();
tokenRequest.setIdentityPoolId("eu-west-1:be9d19a5-*******************");
HashMap<String, String> map = new HashMap<String, String>();

//Key -> Developer Provider Name used when creating the identity pool
//Value -> Unique identifier of the user in your <u>backend</u>
map.put("access.com.cbn.postref", "fred");

//Duration of the generated OpenID Connect Token
tokenRequest.setLogins(map);
tokenRequest.setTokenDuration(1000l);

GetOpenIdTokenForDeveloperIdentityResult result = client
        .getOpenIdTokenForDeveloperIdentity(tokenRequest);
String identityId = result.getIdentityId();
String token = result.getToken();

System.out.println("id = " + identityId + "  token …
Run Code Online (Sandbox Code Playgroud)

java token amazon-web-services amazon-cognito

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

自定义方形布局无法按预期工作

我在使用时偶然发现了这个问题custom Square Layout:通过扩展布局并覆盖其onMeasure()方法,使尺寸=两个中的较小者(高度或宽度).

以下是自定义布局代码:

public class CustomSquareLayout extends RelativeLayout{


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

    public CustomSquareLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public CustomSquareLayout(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    public CustomSquareLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

        //Width is smaller
        if(widthMeasureSpec < heightMeasureSpec)
            super.onMeasure(widthMeasureSpec, widthMeasureSpec);

            //Height is smaller
        else …
Run Code Online (Sandbox Code Playgroud)

android android-layout

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