このチュートリアルの手順に従いました。プロジェクトに「HelloWorld」ではなく「HelloWorld3」という名前を付けました。私はすべての手順を注意深く実行し、「HelloWorldActivity.java」ですでに存在していたもの(デフォルト)を削除しました。これは次のとおりです。
package com.esri.arcgis.android.samples.helloworld3;
import android.app.Activity;
import android.os.Bundle;
import com.esri.android.map.MapView;
public class HelloWorld3Activity extends Activity {
MapView mMapView ;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mMapView = new MapView(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
protected void onPause() {
super.onPause();
mMapView.pause();
}
@Override protected void onResume() {
super.onResume();
mMapView.unpause();
}
}
以前のコードを変更し、代わりにこのコードを配置しました。
public class HelloWorldActivity extends Activity {
MapView map = null;
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Retrieve the map and initial extent from XML layout
map = (MapView)findViewById(R.id.map);
// Add dynamic layer to MapView
map.addLayer(new ArcGISTiledMapServiceLayer("" +
"http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"));
}
protected void onPause() {
super.onPause();
map.pause();
}
protected void onResume() {
super.onResume();
map.unpause();
}
}
(チュートリアルで言及されていることに従いましたが、絶対に「HelloWorld3Activity」という名前を付けました)
そして、私のコードは次のようになりました。
package com.esri.arcgis.android.samples.helloworld3;
import android.app.Activity;
import android.os.Bundle;
import com.esri.android.map.MapView;
public class HelloWorld3Activity extends Activity {
MapView map = null;
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Retrieve the map and initial extent from XML layout
map = (MapView)findViewById(R.id.map);
// Add dynamic layer to MapView
map.addLayer(new ArcGISTiledMapServiceLayer("" +
"http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"));
}
protected void onPause() {
super.onPause();
map.pause();
}
protected void onResume() {
super.onResume();
map.unpause();
}
}
ただし、「ArcGISTiledMapServiceLayer」の下に赤い下線がありました!!
何が問題ですか?!どうしたらいいのかわからない!
Ctrl + Shift + O >>をクリックして、不足しているインポートを更新して問題を解決しようとしました(問題が解決することを期待しています。赤い下線が消え、コードは次のようになりました。
package com.esri.arcgis.android.samples.helloworld3;
import android.app.Activity;
import android.os.Bundle;
import com.esri.android.map.MapView;
import com.esri.android.map.ags.ArcGISTiledMapServiceLayer;
public class HelloWorld3Activity extends Activity {
MapView map = null;
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Retrieve the map and initial extent from XML layout
map = (MapView)findViewById(R.id.map);
// Add dynamic layer to MapView
map.addLayer(new ArcGISTiledMapServiceLayer("" +
"http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"));
}
protected void onPause() {
super.onPause();
map.pause();
}
protected void onResume() {
super.onResume();
map.unpause();
}
}
その後、実行してみました。プロジェクト「HelloWorld3」を右クリックし、「実行」>「Androidアプリケーション」をクリックしました。エミュレータが起動し、アプリケーションのアイコンが見つかりました。しかし、それをクリックすると、この画面(またはウィンドウ)が表示されました。
何が問題ですか?!私を助けてください!!
***これは私の以前の関連質問「Eclipseのエミュレーター(ArcGIS Androidアプリ)?」です。
よくわかりませんが、これはLogcatだと思います。
10-17 12:38:19.820: I/dalvikvm(557): threadid=3: reacting to signal 3
10-17 12:38:19.871: I/dalvikvm(557): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:19.911: D/dalvikvm(557): Trying to load lib /data/data/com.esri.arcgis.android.samples.helloworld3/lib/libGLMapCore.so 0x412a6680
10-17 12:38:20.320: I/dalvikvm(557): threadid=3: reacting to signal 3
10-17 12:38:20.371: I/dalvikvm(557): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:20.582: D/dalvikvm(557): Added shared lib /data/data/com.esri.arcgis.android.samples.helloworld3/lib/libGLMapCore.so 0x412a6680
10-17 12:38:20.601: W/ApplicationContext(557): Unable to create external cache directory
10-17 12:38:20.820: I/dalvikvm(557): threadid=3: reacting to signal 3
10-17 12:38:20.851: I/dalvikvm(557): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:21.711: W/ApplicationContext(557): Unable to create external cache directory
10-17 12:38:22.021: D/libEGL(557): Emulator without GPU support detected. Fallback to software renderer.
10-17 12:38:22.021: D/libEGL(557): loaded /system/lib/egl/libGLES_android.so
10-17 12:38:22.101: W/dalvikvm(557): threadid=11: thread exiting with uncaught exception (group=0x409c01f8)
10-17 12:38:22.122: D/gralloc_goldfish(557): Emulator without GPU emulation detected.
10-17 12:38:22.132: E/AndroidRuntime(557): FATAL EXCEPTION: GLThread 75
10-17 12:38:22.132: E/AndroidRuntime(557): java.lang.IllegalArgumentException: No configs match configSpec
10-17 12:38:22.132: E/AndroidRuntime(557): at com.esri.android.map.MapSurface$a.chooseConfig(Unknown Source)
10-17 12:38:22.132: E/AndroidRuntime(557): at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1009)
10-17 12:38:22.132: E/AndroidRuntime(557): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1362)
10-17 12:38:22.132: E/AndroidRuntime(557): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1216)
10-17 12:38:29.820: D/dalvikvm(557): GC_CONCURRENT freed 320K, 5% free 9217K/9607K, paused 6ms+8ms
10-17 12:38:31.741: I/Process(557): Sending signal. PID: 557 SIG: 9
10-17 12:38:38.980: I/dalvikvm(585): threadid=3: reacting to signal 3
10-17 12:38:39.121: I/dalvikvm(585): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:39.371: D/dalvikvm(585): Trying to load lib /data/data/com.esri.arcgis.android.samples.helloworld3/lib/libGLMapCore.so 0x4129e4c8
10-17 12:38:39.490: I/dalvikvm(585): threadid=3: reacting to signal 3
10-17 12:38:39.532: I/dalvikvm(585): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:39.892: D/dalvikvm(585): Added shared lib /data/data/com.esri.arcgis.android.samples.helloworld3/lib/libGLMapCore.so 0x4129e4c8
10-17 12:38:39.900: W/ApplicationContext(585): Unable to create external cache directory
10-17 12:38:40.001: I/dalvikvm(585): threadid=3: reacting to signal 3
10-17 12:38:40.033: I/dalvikvm(585): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:40.501: I/dalvikvm(585): threadid=3: reacting to signal 3
10-17 12:38:40.530: W/ApplicationContext(585): Unable to create external cache directory
10-17 12:38:40.562: I/dalvikvm(585): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:40.780: D/libEGL(585): Emulator without GPU support detected. Fallback to software renderer.
10-17 12:38:40.780: D/libEGL(585): loaded /system/lib/egl/libGLES_android.so
10-17 12:38:40.911: D/gralloc_goldfish(585): Emulator without GPU emulation detected.
10-17 12:38:40.921: W/dalvikvm(585): threadid=11: thread exiting with uncaught exception (group=0x409c01f8)
10-17 12:38:40.971: E/AndroidRuntime(585): FATAL EXCEPTION: GLThread 78
10-17 12:38:40.971: E/AndroidRuntime(585): java.lang.IllegalArgumentException: No configs match configSpec
10-17 12:38:40.971: E/AndroidRuntime(585): at com.esri.android.map.MapSurface$a.chooseConfig(Unknown Source)
10-17 12:38:40.971: E/AndroidRuntime(585): at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1009)
10-17 12:38:40.971: E/AndroidRuntime(585): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1362)
10-17 12:38:40.971: E/AndroidRuntime(585): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1216)
10-17 12:38:41.011: I/dalvikvm(585): threadid=3: reacting to signal 3
10-17 12:38:41.041: I/dalvikvm(585): Wrote stack traces to '/data/anr/traces.txt'
10-17 12:38:42.511: D/dalvikvm(585): GC_CONCURRENT freed 306K, 4% free 9231K/9607K, paused 20ms+123ms
10-17 12:38:54.530: I/Process(585): Sending signal. PID: 585 SIG: 9