Java Android应用程序上的地图

Java Android应用程序上的地图,java,android,eclipse,multithreading,Java,Android,Eclipse,Multithreading,大家好?问题出在标题上!我无法在模拟器的SD卡上显示我的OsMap.map 有人能告诉我有什么问题吗 首先是我所做的步骤: My MainActivity.Java: package com.formation.macarte; import java.io.File; import java.io.IOException; import org.mapsforge.android.maps.GeoPoint; import org.mapsforge.android.maps.MapActi

大家好?问题出在标题上!我无法在模拟器的SD卡上显示我的OsMap.map

有人能告诉我有什么问题吗

首先是我所做的步骤:

My MainActivity.Java:

package com.formation.macarte;
import java.io.File;
import java.io.IOException;

import org.mapsforge.android.maps.GeoPoint;
import org.mapsforge.android.maps.MapActivity;
import org.mapsforge.android.maps.MapController;
import org.mapsforge.android.maps.MapView;

import android.annotation.SuppressLint;
import android.os.Bundle;
//import android.view.Menu;
//import android.view.MenuItem;
import android.os.Environment;

public class MainActivity extends MapActivity {

    MapController monController;
    double longitude   = 12.482883;
    double latitude  = 48.849076;       

    @SuppressLint("SdCardPath")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        MapView mapView = new MapView(this);
        mapView.setClickable(true);
        mapView.setBuiltInZoomControls(true);
        mapView.setMapFile(Environment.getExternalStorageDirectory().getAbsolutePath()
                + "/OsMap.map");

        setContentView(mapView);
    }
}
在我的androidManifest中,我有:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.formation.macarte"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="20" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            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>
</manifest>

如何解决此问题?

也许您应该将映射加载代码部分放在线程中,以释放onCreate()中的负担。也许地图文件的大小相当大,加载时间也更长。也许你是对的!拥有文件OsMap.map---rwxr-w的like权限正确吗?in/mnt/sdcard?
10-12 13:21:27.105: E/Trace(1727): error opening trace file: No such file or directory (2)
10-12 13:21:27.995: D/dalvikvm(1727): GC_CONCURRENT freed 72K, 8% free 2770K/2992K, paused 25ms+6ms, total 106ms
10-12 13:21:27.995: D/dalvikvm(1727): WAIT_FOR_CONCURRENT_GC blocked 92ms
10-12 13:21:28.135: D/dalvikvm(1727): GC_CONCURRENT freed 13K, 7% free 3163K/3388K, paused 20ms+13ms, total 110ms
10-12 13:21:28.135: D/dalvikvm(1727): WAIT_FOR_CONCURRENT_GC blocked 29ms
10-12 13:21:28.215: D/osm(1727): main: invalid map start position latitude: 1718579815
10-12 13:21:28.515: I/Choreographer(1727): Skipped 38 frames!  The application may be doing too much work on its main thread.
10-12 13:21:28.855: D/dalvikvm(1727): GC_CONCURRENT freed 86K, 7% free 3478K/3712K, paused 11ms+11ms, total 113ms
10-12 13:21:28.855: D/dalvikvm(1727): WAIT_FOR_CONCURRENT_GC blocked 93ms
10-12 13:21:29.045: I/Choreographer(1727): Skipped 172 frames!  The application may be doing too much work on its main thread.
10-12 13:21:29.324: D/gralloc_goldfish(1727): Emulator without GPU emulation detected.
10-12 13:21:32.465: I/Choreographer(1727): Skipped 45 frames!  The application may be doing too much work on its main thread.
10-12 13:21:32.535: I/Choreographer(1727): Skipped 39 frames!  The application may be doing too much work on its main thread.
10-12 13:21:32.575: I/Choreographer(1727): Skipped 33 frames!  The application may be doing too much work on its main thread.
10-12 13:21:32.645: I/Choreographer(1727): Skipped 31 frames!  The application may be doing too much work on its main thread.
10-12 13:21:32.785: I/Choreographer(1727): Skipped 116 frames!  The application may be doing too much work on its main thread.
10-12 13:21:32.925: I/Choreographer(1727): Skipped 32 frames!  The application may be doing too much work on its main thread.
10-12 13:21:33.005: I/Choreographer(1727): Skipped 40 frames!  The application may be doing too much work on its main thread.
10-12 13:21:33.085: I/Choreographer(1727): Skipped 33 frames!  The application may be doing too much work on its main thread.
10-12 13:21:39.675: I/Choreographer(1727): Skipped 36 frames!  The application may be doing too much work on its main thread.