小编zeh*_*zeh的帖子

如何获得(更好)Facebook页面粉丝的人口统计数据?

我正试图在Facebook上为一个页面的粉丝获取人口统计数据 - 主要是国家和城市,但年龄和性别是次要的.

执行此操作的主要方法是使用FQL并在洞察表中执行查询.像这样:

FB.api({
    method: 'fql.query', 
    query: "SELECT metric, value FROM insights WHERE object_id='288162265211' AND metric='page_fans_city' AND end_time=end_time_date('2011-04-16') AND period=period('lifetime')"
}, callback);
Run Code Online (Sandbox Code Playgroud)

然而,问题在于该表仅返回最多19条记录,包括国家和城市统计数据.我正在测试的页面的响应是这样的:

[
   {
      "metric": "page_fans_city",
      "value": {
         "dallas": "12345",
         "atlanta": "12340",
         (...)
         "miami": "12300"
      }
   }
]
Run Code Online (Sandbox Code Playgroud)

因此,我想知道是否有任何替代方案 - 获取当前页面粉丝的人口统计信息(无需快照).

我试过的事情:

  • 在查询上使用LIMIT和OFFSET什么都不做(除了有时候,给我一个空列表).

  • 过去讨论的一种替代方法是使用Graph API中的"/ members"方法(此处更多)获取所有用户的列表,然后解析该列表.这根本不起作用 - 一种方法存在,它可能在过去有效,但它不再有效(禁用?).

请求:

https://graph.facebook.com/platform/members?access_token=...
Run Code Online (Sandbox Code Playgroud)

响应:

{"error":
      {
        "type":"OAuthException",
        "message":"(#604) Your statement is not indexable. The WHERE clause must contain an indexable …
Run Code Online (Sandbox Code Playgroud)

facebook facebook-fql facebook-graph-api

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

向LinearLayout添加多个视图的最快方法是什么?

我有一个LinearLayout已经包含几个元素的视图.我想以编程方式添加更多视图.因为这是在一个内部ScrollView,一切都将滚动.

所以我要做的就是浏览我的列表,并将自定义View的新实例添加到其中.该自定义视图会扩展XML布局并添加一些方法.

这种方法效果很好.问题是它的速度非常慢,即使没有任何疯狂的代码......一个包含10个项目的列表需要大约500ms才能实例化.从用户体验的角度来看,这很难被接受.

我的问题是,这是正确/最好的方法吗?虽然"R.layout.my_list_item"非常简单,但Android似乎需要花费大量时间来夸大布局.我想知道是否有办法可以为其他视图重用"膨胀"布局,有点缓存更复杂的解析?

我已经尝试用ListView(和适配器和包装器)这样做,它似乎更快.问题是我不能用简单的ListView; 我的布局比一个简单的列表更复杂(它LinearLayout本身包含额外的自定义图标,并且在它被包装之前它有另一个具有更多视图的父级ScrollView).

但是有没有办法为LinearLayout使用适配器?这会比尝试自己添加视图更快吗?

任何帮助表示赞赏.我想更快地做到这一点.

代码如下.

主要活动:

// The LinearLayout that will contain everything
lineList = (LinearLayout) findViewById(R.id.lineList);

// Add a lot of items for testing
for (int i = 0; i < 10; i++) {
    addListItem("Item number " + i);
}

protected void addListItem(String __title) {
    MyListItem li;
    li = new MyListItem(this);
    li.setTitle(__title);
    lineList.addView(li);       
}
Run Code Online (Sandbox Code Playgroud)

MyListItem:

public class MyListItem extends RelativeLayout {

    protected TextView …
Run Code Online (Sandbox Code Playgroud)

layout android view inflate android-linearlayout

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

在Typescript中反应事件类型

当我MouseEvent在事件处理程序中使用type 时,我无法构建我的React/Typescript应用程序:

private ButtonClickHandler(event: MouseEvent): void
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

我明白了:

error TS2322: Type '{ onClick: (event: MouseEvent) => void; children: string; }' is not assignable to type 'DetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>'.
  Type '{ onClick: (event: MouseEvent) => void; children: string; }' is not assignable to type 'ButtonHTMLAttributes<HTMLButtonElement>'.
    Types of property 'onClick' are incompatible.
      Type '(event: MouseEvent) => void' is not assignable to type 'EventHandler<MouseEvent<HTMLButtonElement>>'.
        Types of parameters 'event' and 'event' are incompatible.
          Type 'MouseEvent<HTMLButtonElement>' is not assignable to type 'MouseEvent'. …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs

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

将两个图像与乘法和%不透明度混合在一起

我正在尝试使用类似Multiply的混合模式将两个图像与Android混合在一起.

// Prepare -------------------------------

// Create source images
Bitmap img1 = ...
Bitmap img2 = ...

// Create result image
Bitmap result = ...
Canvas canvas = new Canvas();
canvas.setBitmap(result);

// Get proper display reference
BitmapDrawable drawable = new BitmapDrawable(getResources(), result);
ImageView imageView = (ImageView)findViewById(R.id.imageBlend1);
imageView.setImageDrawable(drawable);


// Apply -------------------------------

// Draw base
canvas.drawBitmap(img1, 0, 0, null);

// Draw overlay
Paint paint = new Paint();
paint.setXfermode(new PorterDuffXfermode(Mode.MULTIPLY));
paint.setShader(new BitmapShader(img2, TileMode.CLAMP, TileMode.CLAMP));

canvas.drawRect(0, 0, img2.getWidth(), img2.getHeight(), paint);
Run Code Online (Sandbox Code Playgroud)

这是有效的,但是我无法控制所做的乘法"量" - 它始终是一个完全的乘法传递.理想情况下,0%乘法与基本图像(img1)相同而没有任何变化,但100%乘法将是我得到的上述代码的结果.

paint.setAlpha() 似乎不适用于此. …

android blending porter-duff

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

如何从 Firebase 项目中删除自己

我决定尝试 Firebase。当我进入控制台时,我不仅看到了我自己的项目,还看到了两个我从未创建或应该有权访问的项目:

Firebase 控制台

这些项目似乎是由“Rohit Travel & Tours”创建的。我可以看到一些细节:

项目信息

当我去谷歌云的资源管理器时,果然,项目也在那里,还有一些“我的第一个项目”的项目似乎属于同一个人:

谷歌云资源管理器

我不确定为什么我可以访问这个。这要么是一个危险的错误,要么是一个无知的管理员将我的一封电子邮件添加到了项目中。

我想删除该项目,因为它只是杂乱无章。但是,我找不到将自己从项目中删除的方法,而且由于我没有任何类型的管理员访问权限,因此我实际上无法更改。事实上,我也无法在任何角色/成员字段中找到我的帐户,所以我不确定那里的真实情况是什么。

到目前为止,当我要求删除我的帐户时,帐户上列出的管理员电子邮件没有响应。

也无法联系 Google Cloud 提出请求。显然,联系他们的唯一方法是使用某种付费支持帐户。

所以我的问题是:有没有办法让我从这些帐户中删除自己,所以我在面板上看不到它们,尤其是 Firebase 仪表板?

还是我永远被这些应用程序帐户困住了?

firebase google-cloud-platform

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

使用按钮滚动图库

我有一个Gallery,其Adapter可以创建多个LinearLayout实例.但是,这些线性布局实例具有按钮,当有人单击按钮时,它们无法拖动图库.

我的想法是有一个用户可以滚动的菜单.通常使用ScrollView完成的事情,但由于我希望滚动视图"捕捉"到当前按钮页面,因此Gallery更好用.

这个问题类似于这个问题:LinearLayouts的Android画廊

然而,虽然我在拖动问题时修复了"按钮显示点击",但我似乎无法让它像ScrollView那样工作,方法是让按钮作为拖动区域的一部分.

任何提示?

不确定代码是否相关,但现在是.

包含图库的布局:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

        <Gallery
            android:id="@+id/gallery"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" android:fadingEdge="none"
            android:spacing="0dp"/>

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

填充库的测试活动:

import com.zehfernando.display.widgets.ZGallery;

public class ScrollTestActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.scrolltest);

        Gallery gallery = (Gallery) findViewById(R.id.gallery);
        gallery.setAdapter(new LayoutAdapter(this));
    }

    public class LayoutAdapter extends BaseAdapter {
        private Context mContext;

        public LayoutAdapter(Context c) {
            mContext = c;
        }

        public int getCount() {
            return 3;
        }

        public Object getItem(int position) {
            return position;
        } …
Run Code Online (Sandbox Code Playgroud)

android gallery button android-layout android-linearlayout

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