我在Android上使用GoogleAnalytics EasyTracker时遇到问题.
我为这个问题设置的设置很简单:
- 新的Android项目
- 添加GA和ET库
- 添加GoogleAnalytics.xml:
<resources>
<string name="ga_api_key">UA-2912-1</string>
<bool name="ga_debug">true</bool>
<bool name="ga_dryRun">true</bool>
<bool name="ga_auto_activity_tracking">true</bool>
<integer name="ga_dispatchPeriod">10</integer>
</resources>
Run Code Online (Sandbox Code Playgroud)
使用TrackedActivity而不是Activity扩展活动:
package test.testing.ez;
import android.os.Bundle;
import com.google.android.apps.analytics.easytracking.TrackedActivity;
public class TestEZActivity extends TrackedActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Run Code Online (Sandbox Code Playgroud)
最后,在模拟器或设备上运行我的简单应用程序后,在切换方向两次后,我的LogCat中会出现类似这样的内容.
02-11 14:39:27.245: I/GoogleAnalyticsTracker(219): Host: www.google-analytics.com
02-11 14:39:27.245: I/GoogleAnalyticsTracker(219): User-Agent: GoogleAnalytics/1.4.2 (Linux; U; Android 2.1-update1; en-us; sdk Build/ECLAIR)
02-11 14:39:27.245: I/GoogleAnalyticsTracker(219): GET /__utm.gif?utmwv=4.8.1ma&utmn=1604828210&utmt=event&utme=5(**)(0)&utmcs=UTF-8&utmsr=480x320&utmul=en-US&utmac=UA-2912-1&utmcc=__utma%3D1.659024508.1328970962.1328970962.1328971039.2%3B&utmht=1328971157185&utmqt=10064 HTTP/1.1
02-11 14:39:27.294: I/GoogleAnalyticsTracker(219): …Run Code Online (Sandbox Code Playgroud) 尝试构建新项目时,org.jetbrains.plugins.gradle.settings.GradleSettings无法转换为org.jetbrains.plugins.gradle.settings.GradleSettings错误
我手动下载了http://services.gradle.org/distributions/gradle-1.6-bin.zip并将zip内容复制到C:\ Program Files(x86)\ Android\android-studio\plugins\gradle文件夹并复制了gradle .jar从C:\ Program Files(x86)\ Android\android-studio\plugins\gradle\lib到C:\ Program Files(x86)\ Android\android-studio\lib但仍然无法在android中构建我的第一个项目工作室.
所以我在我的应用程序中使用SlidingMenu库和FragmentActivity.
布局中有一个GoogleMap,左侧有一些菜单.当我拉菜单看到它时,那里有一个大的黑色矩形,覆盖我的滑动菜单内容.点击一次后,它就消失了.
任何人都有话要说吗?

android google-maps android-sliding android-fragmentactivity android-maps-v2
我polyline在地图上绘图,现在需要向用户显示一些数据。
如何在每个上绘制文本或InfoWindow polyline?
我添加polyline像:
ArrayList<LatLng> points = null;
PolylineOptions lineOptions = null;
MarkerOptions markerOptions = new MarkerOptions();
// Traversing through all the routes
for(int i=0;i<result.size();i++){
points = new ArrayList<LatLng>();
lineOptions = new PolylineOptions();
String color = colors[i % colors.length];
// Fetching i-th route
List<HashMap<String, String>> path = result.get(i);
// Fetching all the points in i-th route
for(int j=0;j<path.size();j++){
HashMap<String,String> point = path.get(j);
double lat = Double.parseDouble(point.get("lat"));
double lng = Double.parseDouble(point.get("lng"));
LatLng position = new LatLng(lat, …Run Code Online (Sandbox Code Playgroud) 我在地图中添加了地理定位事件,我正在添加标记,当我点击它们时,我只是希望它们在不居中的情况下进行更改.
当我点击标记时,有没有办法覆盖居中的标记(以及被调用的onCameraChanged)?
android google-maps google-maps-markers centering android-maps-v2
在谷歌地图上我为不同的目的放置不同颜色的标记,在这里我想要onMarkerclick()的每个标记的不同功能(例如:所有绿色标记).如何为此创建条件.我的代码创建一个集合标记
@Override
public void onMapLongClick(LatLng touchlocation) {
// TODO Auto-generated method stub
googleMap.addMarker(new MarkerOptions()
.position(touchlocation)
.title("Event")
.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
}
Run Code Online (Sandbox Code Playgroud)
这里是另一种类型的标记
// adding marker
user_marker = googleMap.addMarker(new MarkerOptions()
.position(USER_LOCATION)
.title("User")
.snippet("User registered Location:" + loc)
.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_ROSE)));
Run Code Online (Sandbox Code Playgroud)
对于附近的地方,我正在使用其他类型的标记
我在这里如何实现onMarkerClick()
@Override
public boolean onMarkerClick(Marker marker) {
// TODO Auto-generated method stub
// googleMap.clear();
Toast.makeText(getApplicationContext(), "USER MARKER",
Toast.LENGTH_LONG).show();
showDialog(DIALOG_LOGIN);
return true;
}
Run Code Online (Sandbox Code Playgroud)
在这里,我希望每种类型的标记都有不同的功能,如何为它写一个条件.帮助我.
如何创建两个侦听器?一个用于群集,另一个将新的群集项加载到地图,如果地图上不存在群集项.
//needed for clustering
map.setOnCameraChangeListener(mClusterManager);
// need for loading clusteritems
map.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() {
@Override
public void onCameraChange(CameraPosition position) {
// ifMarkesNotInsideMapReload...
Run Code Online (Sandbox Code Playgroud)
我认为这不可能,但有人可能会解决这个问题......
一个想法是设置一个起始位置并手动轮询更改..不酷:-)
我在设置Robotium测试时遇到问题,在Travis上运行时没有随机的假性.
我得到的每一对构建
pl.mg6.agrtt.TestActivityTests > testCanEnterTextAndPressButton[test(AVD) - 4.4.2] FAILED
junit.framework.AssertionFailedError: EditText is not found!
at com.robotium.solo.Waiter.waitForAndGetView(Waiter.java:540)
Run Code Online (Sandbox Code Playgroud)
在我的所有测试中.
我在GitHub上创建了一个简单的项目来显示问题.
你可能会看到它是如何在Travis上构建的.注意构建#7在使用不相关的文件后失败.
我怀疑这是由于模拟器被锁定或其暗淡变暗造成的.我可以通过关闭连接设备的屏幕然后运行来在本地计算机上重现此问题
./gradlew connectedAndroidTest
Run Code Online (Sandbox Code Playgroud)
在modyfing测试之后,我得到了一个不同的错误消息,这有点更丰富,所以我添加它以防万一有人试图找到解决方案:
pl.mg6.agrtt.TestActivityTests > testCanFindViewsEnterTextAndPressButton[test(AVD) - 4.4.2] FAILED
junit.framework.AssertionFailedError: Click at (160.0, 264.0) can not be completed! (java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission)
at com.robotium.solo.Clicker.clickOnScreen(Clicker.java:106)
Run Code Online (Sandbox Code Playgroud) 在Maps V2中,如何将按下状态设置为标记?
setIcon()方法采用BitmapDescriptor; 我看不到传递XML选择器的方法,该选择器将提供按下和选择状态.
实现此目的的唯一方法是覆盖OnMarkerClickListener并以编程方式更改图像?
我有一个让我发疯的问题.我使用集群管理器实现了一个包含大量点的地图,我的经理设置如下:
mClusterManager = new ClusterManager<myPOI>(getActivity()
.getApplicationContext(), getMap());
mClusterManager.setRenderer(new myPOIRenderer());
mClusterManager.setOnClusterClickListener(this);
mClusterManager.setOnClusterInfoWindowClickListener(this);
mClusterManager.setOnClusterItemClickListener(this);
mClusterManager.setOnClusterItemInfoWindowClickListener(this);
mMap.setOnInfoWindowClickListener(mClusterManager);
mMap.setOnCameraChangeListener(mClusterManager);
mMap.setOnMarkerClickListener(mClusterManager);
Run Code Online (Sandbox Code Playgroud)
然后我用addItem()方法添加标记.覆盖onClusterItemInfoWindowClick方法我可以轻松检查用户何时点击信息窗口.问题是我的方法(见下文)没有提供标记,但只提供与之相关的数据对象,所以我的问题是:如何以编程方式关闭该方法内的信息窗口?
@Override
public void onClusterItemInfoWindowClick(myPOI item) {
System.out.println("onClusterItemInfoWindowClick");
}
Run Code Online (Sandbox Code Playgroud)
感谢您的关注.