GPS程序代码显示没有错误,但模拟器上有unfortunately application stopped
消息
我对WhereAmI.java的GPS代码。
package com.example.whereami;
import java.io.IOException;
import java.util.List;
import com.marakana.R;
import android.app.Activity;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class WhereAmI extends Activity implements LocationListener { //
LocationManager locationManager; //
Geocoder geocoder; //
TextView textOut; //
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textOut = (TextView) findViewById(R.id.textOut);
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); //
geocoder = new Geocoder(this); //
// Initialize with the last known location
Location lastLocation = locationManager
.getLastKnownLocation(LocationManager.GPS_PROVIDER); //
if (lastLocation != null)
onLocationChanged(lastLocation);
}
@Override
protected void onResume() { //
super.onRestart();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000,
10, this);
}
@Override
protected void onPause() { //
super.onPause();
locationManager.removeUpdates(this);
}
//Called when location has changed
public void onLocationChanged(Location location) { //
String text = String.format(
"Lat:\t %f\nLong:\t %f\nAlt:\t %f\nBearing:\t %f", location
.getLatitude(), location.getLongitude(), location.getAltitude(),
location.getBearing()); //
textOut.setText(text);
//Perform geocoding for this location
try {
List<Address> addresses = geocoder.getFromLocation(
location.getLatitude(), location.getLongitude(), 10); //
for (Address address : addresses) {
textOut.append("\n" + address.getAddressLine(0)); //
}
} catch (IOException e) {
Log.e("WhereAmI", "Couldn't get Geocoder data", e);
}
}
//Methods required by LocationListener
public void onProviderDisabled(String provider) {
}
public void onProviderEnabled(String provider) {
}
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
我的清单文件:AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.marakana" android:versionCode="1" android:versionName="1.0">
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name">
<activity android:name=".WhereAmI" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="4" />
<!-- -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
</manifest>
我的main.xml文件:它也没有错误
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:background="#fff" android:orientation="vertical">
<!-- -->
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_gravity="center"
android:textColor="#333" android:textSize="30dp" android:text="@string/hello_world"/>
<!-- -->
<ScrollView android:layout_height="fill_parent"
android:layout_width="fill_parent">
<!-- -->
<TextView android:textColor="#333" android:layout_gravity="center"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:gravity="center" android:textSize="25dp" android:text="Waiting..."
android:id="@+id/textOut"></TextView>
</ScrollView>
</LinearLayout>
以上程序的Logcat错误,我收到消息“遗憾的是应用程序已停止”:
12-23 10:04:43.288: E/ActivityThread(641): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cd3350 that was originally bound here
12-23 10:04:43.288: E/ActivityThread(641): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cd3350 that was originally bound here
12-23 10:04:43.288: E/ActivityThread(641): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
12-23 10:04:43.288: E/ActivityThread(641): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
12-23 10:04:43.288: E/ActivityThread(641): at android.app.ContextImpl.bindService(ContextImpl.java:1418)
12-23 10:04:43.288: E/ActivityThread(641): at android.app.ContextImpl.bindService(ContextImpl.java:1407)
12-23 10:04:43.288: E/ActivityThread(641): at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
12-23 10:04:43.288: E/ActivityThread(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
12-23 10:04:43.288: E/ActivityThread(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
12-23 10:04:43.288: E/ActivityThread(641): at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116)
12-23 10:04:43.288: E/ActivityThread(641): at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249)
12-23 10:04:43.288: E/ActivityThread(641): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856)
12-23 10:04:43.288: E/ActivityThread(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
12-23 10:04:43.288: E/ActivityThread(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
12-23 10:04:43.288: E/ActivityThread(641): at android.os.AsyncTask$2.call(AsyncTask.java:287)
12-23 10:04:43.288: E/ActivityThread(641): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
12-23 10:04:43.288: E/ActivityThread(641): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
12-23 10:04:43.288: E/ActivityThread(641): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
12-23 10:04:43.288: E/ActivityThread(641): at java.lang.Thread.run(Thread.java:856)
12-23 10:04:43.309: E/StrictMode(641): null
12-23 10:04:43.309: E/StrictMode(641): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cd3350 that was originally bound here
12-23 10:04:43.309: E/StrictMode(641): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
12-23 10:04:43.309: E/StrictMode(641): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
12-23 10:04:43.309: E/StrictMode(641): at android.app.ContextImpl.bindService(ContextImpl.java:1418)
12-23 10:04:43.309: E/StrictMode(641): at android.app.ContextImpl.bindService(ContextImpl.java:1407)
12-23 10:04:43.309: E/StrictMode(641): at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
12-23 10:04:43.309: E/StrictMode(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
12-23 10:04:43.309: E/StrictMode(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
12-23 10:04:43.309: E/StrictMode(641): at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116)
12-23 10:04:43.309: E/StrictMode(641): at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249)
12-23 10:04:43.309: E/StrictMode(641): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856)
12-23 10:04:43.309: E/StrictMode(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
12-23 10:04:43.309: E/StrictMode(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
12-23 10:04:43.309: E/StrictMode(641): at android.os.AsyncTask$2.call(AsyncTask.java:287)
12-23 10:04:43.309: E/StrictMode(641): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
12-23 10:04:43.309: E/StrictMode(641): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
12-23 10:04:43.309: E/StrictMode(641): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
12-23 10:04:43.309: E/StrictMode(641): at java.lang.Thread.run(Thread.java:856)
12-23 10:04:43.318: E/ActivityThread(641): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40ce41c8 that was originally bound here
12-23 10:04:43.318: E/ActivityThread(641): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40ce41c8 that was originally bound here
12-23 10:04:43.318: E/ActivityThread(641): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
12-23 10:04:43.318: E/ActivityThread(641): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
12-23 10:04:43.318: E/ActivityThread(641): at android.app.ContextImpl.bindService(ContextImpl.java:1418)
12-23 10:04:43.318: E/ActivityThread(641): at android.app.ContextImpl.bindService(ContextImpl.java:1407)
12-23 10:04:43.318: E/ActivityThread(641): at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
12-23 10:04:43.318: E/ActivityThread(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
12-23 10:04:43.318: E/ActivityThread(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
12-23 10:04:43.318: E/ActivityThread(641): at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
12-23 10:04:43.318: E/ActivityThread(641): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
12-23 10:04:43.318: E/ActivityThread(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
12-23 10:04:43.318: E/ActivityThread(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
12-23 10:04:43.318: E/ActivityThread(641): at android.os.AsyncTask$2.call(AsyncTask.java:287)
12-23 10:04:43.318: E/ActivityThread(641): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
12-23 10:04:43.318: E/ActivityThread(641): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
12-23 10:04:43.318: E/ActivityThread(641): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
12-23 10:04:43.318: E/ActivityThread(641): at java.lang.Thread.run(Thread.java:856)
12-23 10:04:43.338: E/StrictMode(641): null
12-23 10:04:43.338: E/StrictMode(641): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40ce41c8 that was originally bound here
12-23 10:04:43.338: E/StrictMode(641): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
12-23 10:04:43.338: E/StrictMode(641): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
12-23 10:04:43.338: E/StrictMode(641): at android.app.ContextImpl.bindService(ContextImpl.java:1418)
12-23 10:04:43.338: E/StrictMode(641): at android.app.ContextImpl.bindService(ContextImpl.java:1407)
12-23 10:04:43.338: E/StrictMode(641): at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
12-23 10:04:43.338: E/StrictMode(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
12-23 10:04:43.338: E/StrictMode(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
12-23 10:04:43.338: E/StrictMode(641): at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
12-23 10:04:43.338: E/StrictMode(641): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
12-23 10:04:43.338: E/StrictMode(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
12-23 10:04:43.338: E/StrictMode(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
12-23 10:04:43.338: E/StrictMode(641): at android.os.AsyncTask$2.call(AsyncTask.java:287)
12-23 10:04:43.338: E/StrictMode(641): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
12-23 10:04:43.338: E/StrictMode(641): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
12-23 10:04:43.338: E/StrictMode(641): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
12-23 10:04:43.338: E/StrictMode(641): at java.lang.Thread.run(Thread.java:856)
答案 0 :(得分:-1)
您显示
Package = "com.marakana"
在您的课程(whereami)中,您声明的包是“com.example.whereami;”
从(“com.marakana”)更改清单(“com.example.whereami”)中的包名称
删除“import com.marakana.R”后尝试此清单来自你的进口
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.whereami"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="4"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.whereami.WhereAmI"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-library android:name="com.google.android.maps" />
</application>
<uses-feature android:name="android.hardware.location.gps"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
</manifest>