在本文中,我们将为您详细介绍代码只会在抛出NullPointerException时返回0.0、0.0GPS坐标的相关知识,并且为您解答关于会抛出nullpointerexception异常的有的疑问
在本文中,我们将为您详细介绍代码只会在抛出NullPointerException时返回0.0、0.0 GPS坐标的相关知识,并且为您解答关于会抛出nullpointerexception异常的有的疑问,此外,我们还会提供一些关于Android gradle插件更新到3.3.0抛出NullPointerException、android – ContentResolver查询抛出nullpointerException、android – 隐藏片段中的actionbar会抛出NullPointerException吗?、Eclipse在Maven更新期间抛出NullPointerException的有用信息。
本文目录一览:- 代码只会在抛出NullPointerException时返回0.0、0.0 GPS坐标(会抛出nullpointerexception异常的有)
- Android gradle插件更新到3.3.0抛出NullPointerException
- android – ContentResolver查询抛出nullpointerException
- android – 隐藏片段中的actionbar会抛出NullPointerException吗?
- Eclipse在Maven更新期间抛出NullPointerException
代码只会在抛出NullPointerException时返回0.0、0.0 GPS坐标(会抛出nullpointerexception异常的有)
这是我对Android Location
API的第n次尝试,但我似乎无法使其正常运行。本教程似乎是最有前途的,但是我似乎只能让此代码返回GPS坐标0.0、0.0,这不是很有用…
getLocation()返回java.lang.NullPointerException错误似乎有些线索,但是我不确定我应该从哪里开始寻找它。
这是错误:
W/System.err: java.lang.NullPointerException W/System.err: at android.content.ContextWrapper.checkPermission(ContextWrapper.java:557)
我尝试制作一个新的权限块,粘贴在底部,但是它给出了相同的错误。
有人可以在这里指出正确的方向吗?
该代码分为两个类文件:MainActivity.java和GPSTracker.java。
GPSTracker.java
package com.tutorial.android.location.api;// http://www.androidhive.xyz/2016/07/android-gps-location-manager-tutorial.html// with some modifications, especially for new permissionsimport android.Manifest;import android.app.Activity;import android.app.AlertDialog;import android.app.Service;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.content.pm.PackageManager;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.os.Bundle;import android.os.IBinder;import android.provider.Settings;import android.support.annotation.Nullable;import android.support.v4.app.ActivityCompat;import android.util.Log;public class GPSTracker extends Service implements LocationListener { private String TAG = "¤¤"; private final Context mContext; public GPSTracker(Context mContext) { this.mContext = mContext; this.getLocation(); } boolean isGPSEnabled = false; boolean isNetworkEnabled = false; boolean canGetLocation = false; Location location; double latitude; double longitude; private static final long MIN_DISTANCE_CHANGE_FOR_UPDATE = 10; // 10 meters private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 30 sec protected LocationManager locationManager; public Location getLocation() { try { if(locationManager == null) { locationManager = (LocationManager) mContext.getSystemService(LOCATION_SERVICE); } if(isGPSEnabled != true) { isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); } if(isNetworkEnabled != true) { isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); } if (!isGPSEnabled && !isNetworkEnabled) { // no provider enabled :p Log.e(TAG, "getLocation() no provider :("); } else { this.canGetLocation = true; // get network location if (isNetworkEnabled) { // permission block: if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling // ActivityCompat#requestPermissions // here to request the missing permissions, and then overriding // public void onRequestPermissionsResult(int requestCode, String[] permissions, // int[] grantResults) // to handle the case where the user grants the permission. See the documentation // for ActivityCompat#requestPermissions for more details. // return TODO; } else { Log.e(TAG, "getLocation() permission DENIED"); } locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATE, this); if(locationManager != null) { location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); if(location != null) { latitude = location.getLatitude(); longitude = location.getLongitude(); } } } // get GPS location if(isGPSEnabled) { if(location == null) { locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATE, this); Log.d(TAG, "getLocation() GPS Enabled"); if(locationManager != null){ location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); if(location != null) { latitude = location.getLatitude(); longitude = location.getLongitude(); } } } } } } catch (Exception e) { Log.e(TAG, "getLocation() ERROR...: " + e); e.printStackTrace(); } return location; } public double getLatitude() { if(location != null) { latitude = location.getLatitude(); } return latitude; } public double getLongitude() { if(location != null) { longitude = location.getLongitude(); } return longitude; } @Nullable @Override public IBinder onBind(Intent intent) { return null; } @Override public void onLocationChanged(Location location) { } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } @Override public void onProviderEnabled(String provider) { // GPS is ON Log.d(TAG, "GPS is ON"); } @Override public void onProviderDisabled(String provider) { // GPS is OFF Log.d(TAG, "GPS is OFF"); } // GPS dialog public boolean canGetLocation() { return this.canGetLocation; } // don''t really need this when testing public void showSettingsAlert() { AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext); alertDialog.setTitle(R.string.gps_settings_title); alertDialog.setMessage(R.string.gps_settings_msg); alertDialog.setPositiveButton(R.string.gps_settings_word, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); mContext.startActivities(new Intent[]{intent}); // hm... } }); alertDialog.show(); } public void stopUsingGPS() { if(locationManager != null) { locationManager.removeUpdates(GPSTracker.this); } }}
重写但仍无法在GPSTracker.java中工作的权限块:
int permissionCheck = ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION);if(!(permissionCheck == PackageManager.PERMISSION_GRANTED)) { if(ActivityCompat.shouldShowRequestPermissionRationale((Activity) mContext, Manifest.permission.ACCESS_FINE_LOCATION)) { // explanation :p Log.i(TAG, "NOpe..."); } else { // request permission Log.d(TAG, "Requestion new permission"); ActivityCompat.requestPermissions((Activity) mContext, new String[] {Manifest.permission.ACCESS_FINE_LOCATION}, 1); }}
MainActivity.java
package com.tutorial.android.location.api;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;public class MainActivity extends AppCompatActivity { String TAG = "¤"; GPSTracker gps; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gps = new GPSTracker(this); if(gps.canGetLocation()) { Log.i(TAG, "onCreate() GPS is ON"); Log.i(TAG, "onCreate() " + gps.getLatitude()+ ", " + gps.getLongitude()); } else { Log.d(TAG, "onCreate() GPS is OFF"); } }}
答案1
小编典典本教程似乎是最有前途的
这真是糟糕的代码。
我似乎只能得到此代码以返回0.0、0.0的GPS坐标,这不是很有用
那是因为,如果getLastKnownLocation()
碰巧返回一个位置,它将永远只有一个位置。不太可能这样做。
重写但仍无法在GPSTracker.java中工作的权限块:
这里有两个问题:
您不能从服务请求权限。
这不是真正的服务。该代码的作者选择创建一个扩展类,
Service
而该扩展类没有实际实现或正确使用服务。这是造成您的原因NullPointerException
,因为未正确初始化Context
。
有人可以在这里指出正确的方向吗?
把所有这些扔掉。
FWIW,这是我使用LocationManager
API的示例应用程序。
食谱很简单:
步骤#1:LocationManager
通过调用getSystemService(Context.LOCATION_SERVICE)
some
获得一个Context
。我碰巧做了一个片段:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); template=getActivity().getString(R.string.url); mgr=(LocationManager)getActivity() .getSystemService(Context.LOCATION_SERVICE); }
步骤#2:调用requestUpdates()
,传入实现的东西LocationListener
。就我而言,这恰好是片段本身:
@Override @SuppressWarnings({"MissingPermission"}) public void onStart() { super.onStart(); mgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3600000, 1000, this); }
步骤#3:在onLocationChanged()
您的中LocationListener
,对Location
您得到的进行一些操作,在我的情况下,执行AsyncTask
以获得天气预报:
@Override public void onLocationChanged(Location location) { new FetchForecastTask().execute(location); }
步骤4:完成后致电removeUpdates()
:
@Override @SuppressWarnings({"MissingPermission"}) public void onStop() { mgr.removeUpdates(this); super.onStop(); }
就是这样(除了运行时权限之类的东西,我将其抽象为AbstractPermissionsActivity
)。
如果需要,可以将其getLastKnownLocation()
用作 优化 ,但不要依赖它。
Android gradle插件更新到3.3.0抛出NullPointerException
我刚刚更新到Android Studio 3.3并尝试将Gradle插件更新为3.3.0但项目构建失败.
该项目是一个带有应用程序(使用该库)的库.尝试了一切:清除,重建,重置,删除.gradle目录,甚至没有运气重启计算机.任何的想法?
这是堆栈跟踪
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':screenz_library'. |95 internal calls| at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java.lang.Thread.run(Thread.java:745) Caused by: com.android.build.gradle.internal.crash.ExternalApiUsageException: java.lang.NullPointerException at com.android.build.gradle.internal.ApiObjectFactory.create(ApiObjectFactory.java:137) at com.android.build.gradle.BasePlugin.createAndroidTasks(BasePlugin.java:777) at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:81) at com.android.build.gradle.BasePlugin.lambda$createTasks$4(BasePlugin.java:651) at com.android.build.gradle.internal.crash.CrashReporting$afterEvaluate$1.execute(crash_reporting.kt:37) at com.android.build.gradle.internal.crash.CrashReporting$afterEvaluate$1.execute(crash_reporting.kt) at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingAction$1$1.run(DefaultListenerBuildOperationDecorator.java:155) at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.reapply(DefaultUserCodeApplicationContext.java:58) at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingAction$1.run(DefaultListenerBuildOperationDecorator.java:152) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90) at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingAction.execute(DefaultListenerBuildOperationDecorator.java:149) at org.gradle.internal.event.broadcastdispatch$ActionInvocationHandler.dispatch(broadcastdispatch.java:91) at org.gradle.internal.event.broadcastdispatch$ActionInvocationHandler.dispatch(broadcastdispatch.java:80) at org.gradle.internal.event.Abstractbroadcastdispatch.dispatch(Abstractbroadcastdispatch.java:42) at org.gradle.internal.event.broadcastdispatch$Singletondispatch.dispatch(broadcastdispatch.java:230) at org.gradle.internal.event.broadcastdispatch$Singletondispatch.dispatch(broadcastdispatch.java:149) at org.gradle.internal.event.Abstractbroadcastdispatch.dispatch(Abstractbroadcastdispatch.java:58) at org.gradle.internal.event.broadcastdispatch$Compositedispatch.dispatch(broadcastdispatch.java:324) at org.gradle.internal.event.broadcastdispatch$Compositedispatch.dispatch(broadcastdispatch.java:234) at org.gradle.internal.event.Listenerbroadcast.dispatch(Listenerbroadcast.java:140) at org.gradle.internal.event.Listenerbroadcast.dispatch(Listenerbroadcast.java:37) at org.gradle.internal.dispatch.ProxydispatchAdapter$dispatchingInvocationHandler.invoke(ProxydispatchAdapter.java:93) at com.sun.proxy.$Proxy29.afterEvaluate(UnkNown Source) at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate$1.execute(LifecycleProjectEvaluator.java:187) at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate$1.execute(LifecycleProjectEvaluator.java:184) at org.gradle.api.internal.project.DefaultProject.stepEvaluationListener(DefaultProject.java:1418) at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate.run(LifecycleProjectEvaluator.java:193) ... 95 more Caused by: java.lang.NullPointerException at org.gradle.api.internal.tasks.DefaultTaskDependency.add(DefaultTaskDependency.java:185) at org.gradle.api.internal.AbstractTask$12.run(AbstractTask.java:430) at org.gradle.api.internal.tasks.TaskMutator.mutate(TaskMutator.java:40) at org.gradle.api.internal.AbstractTask.dependsOn(AbstractTask.java:428) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:169) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:71) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128) at com.google.gms.googleservices.GoogleServicesPlugin.handleVariant(GoogleServicesPlugin.groovy:206) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.gradle.internal.Metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:479) at org.gradle.internal.Metaobject.BeanDynamicObject.tryInvokeMethod(BeanDynamicObject.java:191) at org.gradle.internal.Metaobject.ConfigureDelegate.invokeMethod(ConfigureDelegate.java:78) at org.codehaus.groovy.runtime.Metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:398) at org.codehaus.groovy.runtime.Metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:338) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177) at com.google.gms.googleservices.GoogleServicesPlugin$_setupPlugin_closure6.doCall(GoogleServicesPlugin.groovy:148) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.Metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034) at groovy.lang.Closure.call(Closure.java:418) at groovy.lang.Closure.call(Closure.java:434) at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:71) at org.gradle.util.ConfigureUtil.configureTarget(ConfigureUtil.java:155) at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:106) at org.gradle.util.ConfigureUtil$WrappedConfigureAction.execute(ConfigureUtil.java:167) at org.gradle.internal.ImmutableActionSet$SingletonSet.execute(ImmutableActionSet.java:225) at org.gradle.api.internal.DefaultDomainObjectCollection.doAdd(DefaultDomainObjectCollection.java:244) at org.gradle.api.internal.DefaultDomainObjectCollection.add(DefaultDomainObjectCollection.java:233) at com.android.build.gradle.LibraryExtension.addVariant(LibraryExtension.java:93) at com.android.build.gradle.internal.ApiObjectFactory.create(ApiObjectFactory.java:134) ... 124 more
解决方法:
我在尝试其他事情的同时找到了解决方案.
出于某种原因,我在我的图书馆的gradle文件中有了Google Services插件,所以我删除了它并且项目构建没有问题.
我删除了这一行
apply plugin: 'com.google.gms.google-services'
android – ContentResolver查询抛出nullpointerException
现在,在尝试接收SMS / MMS的某个联系人列表时,我在查询中获得了FC.
这是一些代码:
Uri uri = Uri.parse("content://mms-sms/conversations/"+String.valueOf(thread_id)); ContentResolver cr = context.getContentResolver(); Cursor c= cr.query(uri,null,null); //crashing here
logcat的:
05-22 15:24:24.273: E/AndroidRuntime(32087): FATAL EXCEPTION: main 05-22 15:24:24.273: E/AndroidRuntime(32087): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.uiu.messaging/com.uiu.messaging.ContactMessageChain}: java.lang.NullPointerException 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:1816) 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837) 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.app.ActivityThread.access$1500(ActivityThread.java:132) 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1033) 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.os.Handler.dispatchMessage(Handler.java:99) 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.os.Looper.loop(Looper.java:143) 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.app.ActivityThread.main(ActivityThread.java:4196) 05-22 15:24:24.273: E/AndroidRuntime(32087): at java.lang.reflect.Method.invokeNative(Native Method) 05-22 15:24:24.273: E/AndroidRuntime(32087): at java.lang.reflect.Method.invoke(Method.java:507) 05-22 15:24:24.273: E/AndroidRuntime(32087): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 05-22 15:24:24.273: E/AndroidRuntime(32087): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 05-22 15:24:24.273: E/AndroidRuntime(32087): at dalvik.system.NativeStart.main(Native Method) 05-22 15:24:24.273: E/AndroidRuntime(32087): Caused by: java.lang.NullPointerException 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.os.Parcel.readException(Parcel.java:1328) 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:160) 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114) 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:372) 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.content.ContentProviderProxy.query(ContentProviderNative.java:408) 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.content.ContentResolver.query(ContentResolver.java:264) 05-22 15:24:24.273: E/AndroidRuntime(32087): at com.uiu.messaging.Data.getContactChain(Data.java:319) 05-22 15:24:24.273: E/AndroidRuntime(32087): at com.uiu.messaging.ContactMessageChain.onCreate(ContactMessageChain.java:138) 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 05-22 15:24:24.273: E/AndroidRuntime(32087): at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:1780) 05-22 15:24:24.273: E/AndroidRuntime(32087): ... 11 more
所有权限都被考虑在内.
任何帮助将不胜感激.
编辑:
遵循Mike的建议后,我在logcat中收到以下错误:
05-22 16:31:46.178: E/AndroidRuntime(1892): FATAL EXCEPTION: main 05-22 16:31:46.178: E/AndroidRuntime(1892): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.uiu.messaging/com.uiu.messaging.ContactMessageChain}: android.database.sqlite.sqliteException: near "*": Syntax error:,while compiling: SELECT * FROM (SELECT disTINCT date * 1 AS normalized_date,NULL AS * FROM sms WHERE (htc_category= 0 AND thread_id = 25 AND (type != 3 AND type > 0)) UNION SELECT disTINCT date * 1000 AS normalized_date,NULL AS * FROM pdu LEFT JOIN pending_msgs ON pdu._id = pending_msgs.msg_id WHERE (htc_category= 0 AND thread_id = 25 AND msg_Box != 3 AND (msg_Box > 0 AND msg_Box != 3 AND (m_type = 128 OR m_type = 132 OR m_type = 130))) ORDER BY normalized_date ASC) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:1816) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.app.ActivityThread.access$1500(ActivityThread.java:132) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1033) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.os.Handler.dispatchMessage(Handler.java:99) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.os.Looper.loop(Looper.java:143) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.app.ActivityThread.main(ActivityThread.java:4196) 05-22 16:31:46.178: E/AndroidRuntime(1892): at java.lang.reflect.Method.invokeNative(Native Method) 05-22 16:31:46.178: E/AndroidRuntime(1892): at java.lang.reflect.Method.invoke(Method.java:507) 05-22 16:31:46.178: E/AndroidRuntime(1892): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 05-22 16:31:46.178: E/AndroidRuntime(1892): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 05-22 16:31:46.178: E/AndroidRuntime(1892): at dalvik.system.NativeStart.main(Native Method) 05-22 16:31:46.178: E/AndroidRuntime(1892): Caused by: android.database.sqlite.sqliteException: near "*": Syntax error:,NULL AS * FROM pdu LEFT JOIN pending_msgs ON pdu._id = pending_msgs.msg_id WHERE (htc_category= 0 AND thread_id = 25 AND msg_Box != 3 AND (msg_Box > 0 AND msg_Box != 3 AND (m_type = 128 OR m_type = 132 OR m_type = 130))) ORDER BY normalized_date ASC) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:158) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:372) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.content.ContentProviderProxy.query(ContentProviderNative.java:408) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.content.ContentResolver.query(ContentResolver.java:264) 05-22 16:31:46.178: E/AndroidRuntime(1892): at com.uiu.messaging.Data.getContactChain(Data.java:318) 05-22 16:31:46.178: E/AndroidRuntime(1892): at com.uiu.messaging.ContactMessageChain.onCreate(ContactMessageChain.java:138) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 05-22 16:31:46.178: E/AndroidRuntime(1892): at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:1780) 05-22 16:31:46.178: E/AndroidRuntime(1892): ... 11 more
我不知道sql语句有什么问题……
解决方法
android – 隐藏片段中的actionbar会抛出NullPointerException吗?
我正在尝试隐藏片段中的动作栏.要做到这一点,我正在尝试使用getActivity().getActionBar().hide();,但确实会抛出异常NullPointerException.我确实尝试过使用getSupportActionBar()但是Eclipse没有显示自动完成它只显示getActionBar();
我该怎么做 ?
分段
public class MyFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActivity().getActionBar().hide(); //nullpointerexception in this line
}
}
例外:
12-05 12:19:02.415: E/AndroidRuntime(16400): FATAL EXCEPTION: main
12-05 12:19:02.415: E/AndroidRuntime(16400): java.lang.NullPointerException
12-05 12:19:02.415: E/AndroidRuntime(16400): at br.com.mypackage.myapp.frags.BatalhaSemOponenteFrag.onCreate(BatalhaSemOponenteFrag.java:71)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.support.v4.app.Fragment.performCreate(Fragment.java:1763)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.support.v4.app.FragmentManagerImpl.movetoState(FragmentManager.java:913)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.support.v4.app.FragmentManagerImpl.movetoState(FragmentManager.java:1126)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:454)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.os.Handler.handleCallback(Handler.java:730)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.os.Handler.dispatchMessage(Handler.java:92)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.os.Looper.loop(Looper.java:176)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.app.ActivityThread.main(ActivityThread.java:5419)
12-05 12:19:02.415: E/AndroidRuntime(16400): at java.lang.reflect.Method.invokeNative(Native Method)
12-05 12:19:02.415: E/AndroidRuntime(16400): at java.lang.reflect.Method.invoke(Method.java:525)
12-05 12:19:02.415: E/AndroidRuntime(16400): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
12-05 12:19:02.415: E/AndroidRuntime(16400): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
12-05 12:19:02.415: E/AndroidRuntime(16400): at dalvik.system.NativeStart.main(Native Method)
解决方法:
由于您使用的是v4支持片段,我假设您将使用appcompat进行活动.
您必须将从getActivity()获得的活动转换为实际活动,以便将活动识别为appcompat.
试试这个:
public class MyFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
((YourActivity)getActivity()).getSupportActionBar().hide();
}
}
Eclipse在Maven更新期间抛出NullPointerException
我一直在解决内部Eclipse错误两天。我正在运行Eclipse的最新Spring Tool
Suite版本,并且试图导入现有Maven项目的集合。每当执行此操作时,Eclipse都会引发NullPointerException,但“错误日志”视图中没有可用的堆栈跟踪。如果我指示Eclipse更新Maven项目(“
Maven”>“更新项目”),则会再次获得NullPointerException。这次,“错误日志”视图报告以下堆栈跟踪:
java.lang.NullPointerException
at org.eclipse.wst.common.componentcore.internal.resources.VirtualResource.getProjectRelativePaths(VirtualResource.java:119)
at org.eclipse.wst.common.componentcore.internal.resources.VirtualFile.getUnderlyingFiles(VirtualFile.java:104)
at org.eclipse.wst.common.componentcore.internal.resources.VirtualFile.getUnderlyingResources(VirtualFile.java:93)
at org.eclipse.wst.common.componentcore.internal.resources.VirtualResource.exists(VirtualResource.java:88)
at org.eclipse.jst.common.internal.modulecore.util.ManifestUtilities.getNonBinaryComponentManifest(ManifestUtilities.java:124)
at org.eclipse.jst.common.internal.modulecore.util.ManifestUtilities.getManifest(ManifestUtilities.java:81)
at org.eclipse.jst.common.internal.modulecore.util.ManifestUtilities.getManifestClasspath(ManifestUtilities.java:147)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getManifestClasspath(J2EEModuleVirtualComponent.java:248)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.calculateManifestReferences(J2EEModuleVirtualComponent.java:368)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.cacheManifestReferences(J2EEModuleVirtualComponent.java:360)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:176)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:214)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:207)
at org.eclipse.m2e.wtp.WebProjectConfiguratorDelegate.configureClasspath(WebProjectConfiguratorDelegate.java:386)
at org.eclipse.m2e.wtp.WTPProjectConfigurator.configureClasspath(WTPProjectConfigurator.java:107)
at org.eclipse.m2e.jdt.internal.DefaultClasspathManagerDelegate.populateClasspath(DefaultClasspathManagerDelegate.java:61)
at org.eclipse.m2e.jdt.internal.BuildPathManager.getClasspath(BuildPathManager.java:253)
at org.eclipse.m2e.jdt.internal.BuildPathManager.getClasspath(BuildPathManager.java:363)
at org.eclipse.m2e.jdt.internal.BuildPathManager.getClasspath(BuildPathManager.java:343)
at org.eclipse.m2e.jdt.internal.BuildPathManager.getClasspath(BuildPathManager.java:371)
at org.eclipse.m2e.jdt.internal.BuildPathManager.updateClasspath(BuildPathManager.java:191)
at org.eclipse.m2e.jdt.internal.BuildPathManager.mavenProjectChanged(BuildPathManager.java:180)
at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.notifyProjectChangeListeners(ProjectRegistryManager.java:746)
at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.applyMutableProjectRegistry(ProjectRegistryManager.java:865)
at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:289)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:369)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:316)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:1)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:161)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:137)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:89)
at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1301)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:313)
at org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:77)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
这是我尝试过的:
- 我吹走了我的工作区并创建了一个新的工作区。多次。
- 我已经吹走了我的Maven存储库,以便可以重新创建它。
- 我已经重新安装了Spring Tool Suite。
- 我尝试让Eclipse更新Maven信息库。
- 我已经在本地SVN存储库中检查了合并冲突。(没有;这是新创建的来自树干的全新分支。)
- 我已经检查了Eclipse中的Synchronize视图,看它是否有任何区别。(Eclipse远远不能识别任何可用于同步的项目。)
- 我已经在Google上搜索了VirtualResource.getProjectRelativePaths()中发生的NullPointerExceptions。我在其他非常相似的地方找到了NullPointerExceptions,并且为它们尝试了一些建议,但都无济于事。
我对这个问题不知所措。Obi-Wan Kenobi,请帮助我,您是我唯一的希望。
关于代码只会在抛出NullPointerException时返回0.0、0.0 GPS坐标和会抛出nullpointerexception异常的有的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Android gradle插件更新到3.3.0抛出NullPointerException、android – ContentResolver查询抛出nullpointerException、android – 隐藏片段中的actionbar会抛出NullPointerException吗?、Eclipse在Maven更新期间抛出NullPointerException等相关知识的信息别忘了在本站进行查找喔。
本文标签: