博采众长,精于一技。Live for love, work for dream.

[Android开发]ScrollView嵌套GridView的解决办法

前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全。

解决办法,自定义一个GridView控件

public class MyGridView extends GridView {
    public MyGridView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

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

    public MyGridView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

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

        int expandSpec = MeasureSpec.makeMeasureSpec(
                Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);
    }
}

该自定义控件只是重写了GridView的onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理,不再赘述。

XML布局代码
<ScrollView android:layout_height="wrap_content"
        android:layout_width="fill_parent" android:id="@+id/scroll_content">
        <com.yourclass.MyGridView xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/grid_view" android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:numColumns="auto_fit"
            android:horizontalSpacing="1dip" android:verticalSpacing="1dip"
            android:columnWidth="150dip" android:stretchMode="columnWidth"
            android:gravity="center">
            
        </com.yourclass.MyGridView>
    </ScrollView>

Java调用代码
MyGridView gridview = (MyGridView) findViewById(R.id.grid_view);
gridview.setAdapter(new ImageAdapter(this));

chrome升级后switchy不能用

自从升级到google-chrome-stable(v12),switchy就老出一些毛病,无论选择什么代理模式都会被一个’current profile’代理代替。停用switchy,然后插件就crash掉。连浏览器上图标也不显示了。

上网GOOGLE了一下,貌似6月中旬chrome更新到某个版本后开始出现这个冲突,win7和linux都有出现。

最后,通过安装了google-chrome-beta(v13)+switchyplus来解决。switchyplus用了experimental的代理API:

使用下来还不错,去chrome extension上下载安装这个插件吧。
switchyplus下载地址:http://code.google.com/p/switchyplus/
讨论地址:http://www.v2ex.com/t/14631

五个最佳的Hadoop项目

1.Cascading:Cascading是基于Hadoop集群之上的数据处理API。它通过实现了丰富的功能化API,使你不需要接触MapReduce任务就能使用分布式计算能力,其核心概念是基于管道和流的数据处理。
2.Mahout:Mahout是一个基于Hadoop实现各种机器学习与数据挖掘算法库。被用来提供推荐服务。
3.Hive:Hive由Facebook出品,它为Hadoop提供了一种类似于SQL的操作接口。
4.Avro:Avro是一个基于二进制数据传输高性能的中间件。Avro通过将数据进行序列化,以使得大批量数据交互过程更方便。
5.Storm:Storm由BackType Technology出口,其口号是“实时的Hadoop系统”。

如何选择最适合你的NoSQL数据库

当下NoSQL产品类型繁多,各有各的特点,再加上关系型数据库,貌似我们可选择的东西太多了。如诗言“乱花渐欲迷人眼”,在我们选择存储产品的时候,应该从哪些方面进行考量呢?下面一篇文章对当前的NoSQL产品进行了分类对比,列出了各家特点,有一定的指导意义。

NoSQL四大类


1.key-value存储


Examples Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB
典型应用场景 内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。
数据模型 Key 指向 Value 的键值对,通常用hash table来实现
强项 查找速度快
弱项 数据无结构化,通常只被当作字符串或者二进制数据

2.列式数据库


Examples Cassandra, HBase, Riak
典型应用场景 分布式的文件系统
数据模型 以列簇式存储,将同一列数据存在一起
强项 查找速度快,可扩展性强,更容易进行分布式扩展
弱项 功能相对局限

3.文档型数据库


Examples CouchDB, MongoDB
典型应用场景 Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容)
数据模型 Key-Value对应的键值对,Value为结构化数据
强项 数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构
弱项 查询性能不高,而且缺乏统一的查询语法。

4.图结构数据库


Examples Neo4J, InfoGrid, Infinite Graph
典型应用场景 社交网络,推荐系统等。专注于构建关系图谱
数据模型 图结构
强项 利用图结构相关算法。比如最短路径寻址,N度关系查找等
弱项 很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。

原文地址:http://blog.monitis.com/index.php/2011/05/22/picking-the-right-nosql-database-tool/

国外手机广告商对比

这是老外整理的一张手机广告商的对比图,各项指标都比较详细(发表时间是2010年,经过一年的发展,各大商家都发展得很不错,其中比较意外的是有一家是中国的)。
5282509966_59af23b241_z.jpg
查看完整大图
对于移动开发者来说,这些数据显得有点虚。个人开发者更愿意看到的数据是:展示率,点击率,单价,起付点,支付周期等等。接下来一段时间,我会凭自己的使用经验重新整理一份国内外移动广告商对比,敬请期待。

返回顶部