我正试图在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) 我有一个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) 当我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) 我正在尝试使用类似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()
似乎不适用于此. …
我决定尝试 Firebase。当我进入控制台时,我不仅看到了我自己的项目,还看到了两个我从未创建或应该有权访问的项目:
这些项目似乎是由“Rohit Travel & Tours”创建的。我可以看到一些细节:
当我去谷歌云的资源管理器时,果然,项目也在那里,还有一些“我的第一个项目”的项目似乎属于同一个人:
我不确定为什么我可以访问这个。这要么是一个危险的错误,要么是一个无知的管理员将我的一封电子邮件添加到了项目中。
我想删除该项目,因为它只是杂乱无章。但是,我找不到将自己从项目中删除的方法,而且由于我没有任何类型的管理员访问权限,因此我实际上无法更改。事实上,我也无法在任何角色/成员字段中找到我的帐户,所以我不确定那里的真实情况是什么。
到目前为止,当我要求删除我的帐户时,帐户上列出的管理员电子邮件没有响应。
也无法联系 Google Cloud 提出请求。显然,联系他们的唯一方法是使用某种付费支持帐户。
所以我的问题是:有没有办法让我从这些帐户中删除自己,所以我在面板上看不到它们,尤其是 Firebase 仪表板?
还是我永远被这些应用程序帐户困住了?
我有一个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 ×3
blending ×1
button ×1
facebook ×1
facebook-fql ×1
firebase ×1
gallery ×1
inflate ×1
layout ×1
porter-duff ×1
reactjs ×1
typescript ×1
view ×1