当我升级到Android Studio 0.6.1时,遇到了资产文件的构建问题.在mergeDebugResources任务期间,我一直收到"prolog中不允许内容".由于我找不到合适的答案并且已经找到了解决方案,我已经回答了我自己的问题,以帮助其他面临此问题的开发人员.
我无法使用BOOT_COMPLETED intent获取调用的BroadcastReceiver onReceive方法.
AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jerrellmardis.umbrella"
android:versionCode="4"
android:versionName="1.0.3">
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<activity android:name=".activities.Umbrella" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".activities.Preferences" android:label="@string/app_name" android:screenOrientation="portrait" />
<receiver android:name="com.jerrellmardis.umbrella.receiver.WeatherStartupReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<service android:name=".service.WeatherUpdateService">
<intent-filter>
<action android:name="com.jerrellmardis.umbrella.service.WeatherUpdateService" />
</intent-filter>
</service>
</application>
<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
</manifest>
Run Code Online (Sandbox Code Playgroud)
WeatherStartupReceiver.java
package com.jerrellmardis.umbrella.receiver;
import android.app.Notification;
import android.app.NotificationManager;
import …Run Code Online (Sandbox Code Playgroud) service android intentfilter broadcastreceiver android-intent
我在开发周期中已经看过几次以下错误,现在我刚刚收到错误报告.我不知道是什么造成了这个.在本网站上阅读有关此问题的类似问题后,我再次检查了我的AndroidManifest,一切看起来都不错.关于什么可能导致这种异常的任何想法?
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.jerrellmardis.ridecta/com.jerrellmardis.ridecta.ui.StopTimesActivity}: java.lang.ClassNotFoundException: com.jerrellmardis.ridecta.ui.StopTimesActivity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1983)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.jerrellmardis.ridecta.ui.StopTimesActivity
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974)
... 11 more
Run Code Online (Sandbox Code Playgroud)
另外需要注意的是,我使用的是https://github.com/petedoyle/android-support-v4-googlemaps中的android-support-v4-googlemaps lib,它允许我在片段中嵌入MapView(沿着使用ActionBarSherlock lib).这个异常似乎是一个依赖问题,我不确定它是否与我如何使用上面提到的lib有关.
这是清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jerrellmardis.ridecta"
android:installLocation="internalOnly"
android:versionCode="11"
android:versionName="1.0.2">
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="16"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.VIBRATE"/> …Run Code Online (Sandbox Code Playgroud) 我有一个ListFragment,它在onActivityCreated()方法中添加了2个视图 - 一个MapView通用视图(持久化标题).我希望ListView以纵向模式显示在MapView和标题下,MapView右侧和横向模式下的标题下方.我还希望MapView的高度(纵向)和宽度(横向)为可用窗口大小的百分比(减去操作栏,状态栏和导航栏 - 如果设备上存在).为了实现这一点,我相信我需要获得窗口大小并计算所有3个视图的适当高度,宽度和布局边距.我在类似的问题中尝试了一些建议,但解决方案总是返回设备的高度/宽度,而不是活动的窗口大小.
有任何想法吗.提前致谢.
我创建了一个视图,其中MapFragment占据了屏幕的前1/3,而ListView占据了屏幕的底部2/3.ListView在其列表项的正上方有一个"句柄",用户可以使用它来向上或向下拖动整个ListView.一旦用户将手指从屏幕上移开,ListView应该为整个屏幕的壁橱顶部或底部边框设置动画.我到目前为止工作但动画不顺畅.在ListView开始向最近边缘动画之前,用户从屏幕上松开手指后会有明显的暂停.我正在使用ObjectAnimator的nineoldandroids实现,以便动画可用于预蜂窝设备.有任何想法吗?
这是我的onTouch impl如下:
public boolean onTouch(View v, MotionEvent event) {
final LayoutParams listLp = (LayoutParams) mListFrame.getLayoutParams();
final int topMargin = -mHandleShadow.getHeight();
final int middleMargin = getResources().getDimensionPixelSize(R.dimen.map_handle_margin_top);
final int bottomMargin = getView().getHeight() - mHandle.getHeight() - mHandleShadow.getHeight();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mInitY = (int) event.getRawY();
mTopMargin = listLp.topMargin;
break;
case MotionEvent.ACTION_MOVE:
int y = mTopMargin + (int) event.getRawY() - mInitY;
if (y >= -mHandleShadow.getHeight() && y <= (mViewHeight - mHandle.getHeight() - mHandleShadow.getHeight())) {
listLp.topMargin = y;
mListFrame.setLayoutParams(listLp);
}
break;
case MotionEvent.ACTION_UP: …Run Code Online (Sandbox Code Playgroud)