小编Mri*_*lla的帖子

ArrayAdapter的getView()方法的说明

你能解释一下这种getView()方法吗ArrayAdapter

我阅读了文档,它有三个参数:

  • position:项目在我们想要的视图的项目的数据集的位置.
  • convertView:如果可能的话,重用旧视图.注意:在使用之前,应检查此视图是否为非null且类型是否合适.如果无法转换此视图以显示正确的数据,则此方法可以创建新视图.
    异构列表可以指定其视图类型的数量,以便此视图始终是正确的类型(请参阅getViewTypeCount()和getItemViewType(int)).
  • parent:此视图最终将附加到的父级

我理解了position参数.就像他们说的那样,这意味着该项目的位置,已经请求了视图.

convertView来自哪里.我见过很多例子,他们检查是否convertView为null.如果is为null,则它们会对行布局的新实例进行膨胀,填充并返回它.我想我也已经知道了这一点,但还有一件事让我感到困惑.通过convertView参数传递的布局是什么.如果初始化时传入resource参数是ArrayAdapter?是返回的最后一个布局的缓存副本getView()

最后.什么是parent参数做.我没有看到太多利用它的例子.他们中的大多数只是重复/膨胀行布局并返回它.

(我问,因为我的点击动画在我的ListView.特别是这个旨在复制Spotify的下拉快速动作菜单.我的动画有点迟钝.在诊断了这个问题一段时间之后,我意识到这是因为我的getView()方法需要花费一些时间才能完成,因为我在每次迭代中都在为一个新的行布局充气.有人建议缓存行布局,ViewHolder其他一些例子指向重用convertView参数,即仅膨胀一个行布局如果convertView为null.)

java android android-arrayadapter android-listview android-adapter

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

使用urllib2.urlopen时如何获得最终的重定向URL?

我正在使用该urllib2.urlopen方法打开URL并获取网页的标记.其中一些网站使用301/302重定向重定向我.我想知道我被重定向到的最终URL.我怎么能得到这个?

python urllib2

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

Django/Postgres应用程序中的数据挖掘

我需要在我的Django应用程序中构建一个分析(报告,图表和图形)系统.在一个理想的世界中,我可以查询我的Postgres DB并获取我想要的数据,但是当数据库中的数据量达到顶峰时,我将遇到性能瓶颈和其他问题,如索引地狱.

我想知道你是否可以指出我正确的方向来实现这个:

  • 这是一个使用NoSQL DB(CouchDB,MongoDB,Redis)并查询数据的好方案吗?
  • 由于Postgres和Django没有OLAP/MDX支持,我是否应该在不同的数据库和查询中使用星型模式?

我想避免两件事:

  • 我不想查询我的实际数据库进行分析,因为它可能会带来巨大的性能损失.
  • 我想尽可能保持我的分析是最新的,即我想逐步更新我的数据仓库以获得最新数据.每次在我的事务数据库上都有一个CRUD操作,我想更新数据仓库.

这是我没有合作的另一种情况,我正在努力了解最快捷,最好的方法.

我希望我足够冗长.如果没有,我很乐意解释更多.

感谢大家


在挖掘网络并使用我所掌握的知识后,我来到这个解决方案:

使用Postgres存储关系数据.在每个CRUD操作上,调用分析代码对数据进行计算,并将数据存储在NoSQL DB中,如Redis/CouchDB.

看看NoSQL DB的这个很好的比较(http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis),我认为Redis或CouchDB很合适.针对分析.

我可以在Redis/CouchDB中存储计算出的Analytics,并在源数据发生变化时以递增方式更新它们.

这是一个好的解决方案吗?

python django postgresql nosql business-intelligence

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

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

django-nose与默认的Django测试运行器有何不同

我一直在看到和阅读很多人使用鼻子来运行他们的Django测试.我无法弄清楚使用Nose运行我的Django测试的额外好处.如果有人可以填写我的鼻子是什么以及它如何为Django项目增加更多,那将会有所帮助.

我无法找到一份概述这些要点的好文件/文章.

谢谢

python django nose

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

直接在Nokogiri的标签内获取文本

我有一些HTML看起来像:

<dt>
  <a href="#">Hello</a>
  (2009)
</dt>
Run Code Online (Sandbox Code Playgroud)

我已经将所有HTML加载到一个名为的变量中record.我需要解析一年,即2009年是否存在.

如何获取dt标签内的文本而不是a标签内的文本?我用过record.search("dt").inner_text,这给了我一切.

这是一个微不足道的问题,但我还没有想到这一点.

ruby nokogiri

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

什么是Python中的简单模糊字符串匹配算法?

我试图找到一种好的,模糊的字符串匹配算法.直接匹配对我不起作用 - 这不太好,因为除非我的字符串100%相似,否则匹配失败.在莱文斯坦,因为它工作在一个人物等级方法不适用于字符串的工作也很好.我正在寻找与单词级别匹配相关的内容,例如

字符串 - 答:快速的棕色狐狸.

字符串B:快速的棕色狐狸跳过懒狗.

这些应匹配,因为字符串A中的所有单词都在字符串B中.

现在,这是一个过于简单的例子,但任何人都会知道一个好的,模糊的字符串匹配算法,适用于单词级别.

python

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

如何使用一个构建文件在Ant中构建多个项目?

我可以从一个构建文件构建多个项目.例:

<project basedir="." default="all" name="app1">
    ...
</project>

<project basedir="." default="all" name="app2">
    ...
</project>
Run Code Online (Sandbox Code Playgroud)

目前我输入ant -f build1.xml compile并构建我的应用程序,我必须使用两个单独的构建文件.有没有办法让它运行的方式,我有两个项目定义了一个公共的构建文件,我可以键入类似ant app1 compileant app2 compile

这是我的构建文件的样子:

<?xml version="1.0" encoding="UTF-8"?>
<project name="azebooster" default="dist" basedir=".">

    <!-- Globals -->
    <property name="src" location="src/com/aelitis"/>
    <property name="build" location="build/azebooster"/>
    <property name="jar" location="jar/azebooster"/>
    <property name="resources" location="res/azebooster"/>

    <!-- Paths -->
    <path id="classpath">
        <fileset dir="." includes="**/*.jar"/>
    </path>

    <!-- Start it -->
    <target name="init">
      <tstamp/>
      <mkdir dir="${build}"/>
      <mkdir dir="${jar}"/>
    </target>

    <!-- Build it -->
    <target name="compile" depends="init" description="compile the …
Run Code Online (Sandbox Code Playgroud)

java ant

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

使用Apache的HTTP客户端时,将HTTP响应作为字符串获取的建议方法是什么?

我刚刚开始使用Apache的HTTP客户端库,并注意到没有内置的方法将HTTP响应作为String获取.我只是想像String那样得到它,以便我可以将它传递给我正在使用的任何解析库.

将HTTP响应作为String获取的推荐方法是什么?这是我提出请求的代码:

public String doGet(String strUrl, List<NameValuePair> lstParams) {

    String strResponse = null;

    try {

        HttpGet htpGet = new HttpGet(strUrl);
        htpGet.setEntity(new UrlEncodedFormEntity(lstParams));

        DefaultHttpClient dhcClient = new DefaultHttpClient();

        PersistentCookieStore pscStore = new PersistentCookieStore(this);
        dhcClient.setCookieStore(pscStore);

        HttpResponse resResponse = dhcClient.execute(htpGet);
        //strResponse = getResponse(resResponse);

    } catch (ClientProtocolException e) {
        throw e;
    } catch (IOException e) {
        throw e;
    }

    return strResponse;

}
Run Code Online (Sandbox Code Playgroud)

java apache-commons-httpclient

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

如何仅在开发模式下在HTTPS中运行Play框架?

只想在开发模式下通过HTTPS运行Play Framework ,我使用以下配置来完成:

https.port=9443
trustmanager.algorithm=JKS
keystore.file=conf/certificate.jks
keystore.password=password
certificate.password=password
application.mode=dev
%prodenv.application.mode=prod
Run Code Online (Sandbox Code Playgroud)

这在我运行时有效play run但在生产中我们运行play run --%prodenv并且我想禁用HTTPS,因为HTTPS由Nginx处理.我迷失了如何做到这一点.我想通过配置文件而不是通过额外的命令行参数来做到这一点,因为它无视在application.conf文件中包含所有应用程序配置的目的.

java https playframework playframework-1.x

16
推荐指数
3
解决办法
4586
查看次数