[英]JGraphT implementation in Android
我將 JGraphT 實現到 Android 應用程序中。
我已將所需的所有內容添加到 Gradle 中,之后我想將一些示例放入代碼中:
SimpleDirectedWeightedGraph<String, DefaultWeightedEdge> topoGraph =
new SimpleDirectedWeightedGraph<String, DefaultWeightedEdge>(DefaultWeightedEdge.class);
topoGraph.addVertex("Rysy");
topoGraph.addVertex("Giewont");
DefaultWeightedEdge e1 = topoGraph.addEdge("Rysy", "Giewont");
DefaultWeightedEdge e2 = topoGraph.addEdge("Giewont", "Rysy");
topoGraph.setEdgeWeight(e1, 200);
topoGraph.setEdgeWeight(e2, 400);
當我想啟動我的應用程序時,我收到一個錯誤:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.mountaintraveller, PID: 9857
java.lang.BootstrapMethodError: Exception from call site #226 bootstrap method
at org.jgrapht.util.SupplierUtil.createSupplier(SupplierUtil.java:60)
at org.jgrapht.util.SupplierUtil.<clinit>(SupplierUtil.java:38)
at org.jgrapht.util.SupplierUtil.createSupplier(SupplierUtil.java:60)
at org.jgrapht.graph.SimpleDirectedWeightedGraph.<init>(SimpleDirectedWeightedGraph.java:45)
at com.example.mountaintraveller.MainActivity.onCreate(MainActivity.java:84)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.ClassCastException: Bootstrap method returned null
at org.jgrapht.util.SupplierUtil.createSupplier(SupplierUtil.java:60)
at org.jgrapht.util.SupplierUtil.<clinit>(SupplierUtil.java:38)
at org.jgrapht.util.SupplierUtil.createSupplier(SupplierUtil.java:60)
at org.jgrapht.graph.SimpleDirectedWeightedGraph.<init>(SimpleDirectedWeightedGraph.java:45)
at com.example.mountaintraveller.MainActivity.onCreate(MainActivity.java:84)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
其中行:在 org.jgrapht.graph.SimpleDirectedWeightedGraph.(SimpleDirectedWeightedGraph.java:45) 來自圖問題。
我無法理解那里的“調用站點 #226 引導方法異常”是什么意思。
我已經找到了這個錯誤的解決方案。 所需的一切:
打開你的 Gradle 文件並插入:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
在 android { ... } 選項中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.