小编nko*_*rth的帖子

TileProvider使用本地磁贴

我想使用TileProvider最新Android Maps API(v2)的新功能覆盖一些自定义磁贴GoogleMap.但是由于我的用户很多时候都不会上网,我想把瓷砖存储在设备上的zipfile /文件夹结构中.我将使用Maptilerwith 生成我的瓷砖geotiffs.我的问题是:

  1. 将瓷砖存放在设备上的最佳方法是什么?
  2. 我如何创建一个返回本地区块的TileProvider?

android google-maps android-maps-v2

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

多次包含相同的布局

我有一个共同的布局(common.xml),我希望在另一个布局(layout_a.xml)中包含很多次.但它只给我看了一次.为什么?

common.xml

<merge xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@android:drawable/alert_light_frame">

        <ImageView

            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:id="@+id/imageView"

            android:src="@drawable/test"

            android:scaleType="centerCrop" />

        <TextView

            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_below="@+id/imageView"
            android:id="@+id/textView"
            android:text="test"
            android:layout_marginTop="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginLeft="10dp" />
    </RelativeLayout>
</merge>
Run Code Online (Sandbox Code Playgroud)

layout_a.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <include layout="@layout/common" />

    <include layout="@layout/common" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android android-layout

11
推荐指数
2
解决办法
7804
查看次数

在Appwidget中的一个视图上使用两个pendingIntent

我有一个widget类(扩展AppWidgetProvider),它在widget的布局中只有一个视图(ImageView).当用户点击小部件时,它会更新并启动一个没有问题的活动.小部件更新后,小部件每30分钟更新一次并启动活动.我的问题是:如何将窗口小部件配置为仅在自动更新时更新自身(而不是通过用户单击)?

这是我的代码:

public class Widget extends AppWidgetProvider {

private static final String ACTION_UPDATE = AppWidgetManager.ACTION_APPWIDGET_UPDATE;

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
        int[] appWidgetIds) {
    ComponentName cn = new ComponentName(context, Widget.class);
    appWidgetManager.updateAppWidget(cn, remoteView(context));
}

@Override
public void onReceive(Context context, Intent intent) {
    super.onReceive(context, intent);
    if (intent.getAction().equalsIgnoreCase(ACTION_UPDATE)) {
        ComponentName cn = new ComponentName(context, Widget.class);
        AppWidgetManager.getInstance(context).updateAppWidget(cn,
                remoteView(context));
        Intent launch = new Intent(context, Main.class);
        PendingIntent pi = PendingIntent.getActivity(context, 0, launch, 0);
        try {
            pi.send();
        } catch (CanceledException e) {
            e.printStackTrace();
        }
    }
} …
Run Code Online (Sandbox Code Playgroud)

android android-pendingintent android-appwidget

10
推荐指数
1
解决办法
395
查看次数

如何在c ++ 11中实现CAS

我想知道如何在c ++ 11中实现compare_and_swap.这是我试过的:

template<typename T>
T compare_and_swap(atomic<T>& reg,T newVal )
{
    bool success = false;
    T oldVal;
    do
    {
        oldVal = reg.load();
        success = reg.compare_exchange_weak(oldVal,newVal);
    }while(!success);
    return oldVal;
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来实现这个?

c++ c++11

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