Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java yelpapi与Android集成_Java_Android_Api_Yelp - Fatal编程技术网

Java yelpapi与Android集成

Java yelpapi与Android集成,java,android,api,yelp,Java,Android,Api,Yelp,我正在尝试与Android的YelpAPI集成 每当我尝试连接时,总是会出现致命错误 10-14 18:32:29.207: E/AndroidRuntime(7354): FATAL EXCEPTION: main 10-14 18:32:29.207: E/AndroidRuntime(7354): java.lang.RuntimeException: Unable to start activity ComponentInfo{cse.usf.edu.android/cse.usf.ed

我正在尝试与Android的YelpAPI集成

每当我尝试连接时,总是会出现致命错误

10-14 18:32:29.207: E/AndroidRuntime(7354): FATAL EXCEPTION: main
10-14 18:32:29.207: E/AndroidRuntime(7354): java.lang.RuntimeException: Unable to start activity ComponentInfo{cse.usf.edu.android/cse.usf.edu.android.HelloWorldActivity}: android.os.NetworkOnMainThreadException
10-14 18:32:29.207: E/AndroidRuntime(7354):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2194)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2229)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at android.app.ActivityThread.access$600(ActivityThread.java:139)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1261)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at android.os.Looper.loop(Looper.java:154)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at android.app.ActivityThread.main(ActivityThread.java:4945)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at java.lang.reflect.Method.invokeNative(Native Method)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at java.lang.reflect.Method.invoke(Method.java:511)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at dalvik.system.NativeStart.main(Native Method)
10-14 18:32:29.207: E/AndroidRuntime(7354): Caused by: android.os.NetworkOnMainThreadException
10-14 18:32:29.207: E/AndroidRuntime(7354):     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1178)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at java.net.InetAddress.lookupHostByName(InetAddress.java:394)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:245)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at java.net.InetAddress.getAllByName(InetAddress.java:220)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:71)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:86)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at libcore.net.http.HttpEngine.connect(HttpEngine.java:303)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at org.scribe.model.Response.<init>(Response.java:27)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at org.scribe.model.Request.doSend(Request.java:110)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at org.scribe.model.Request.send(Request.java:62)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at org.scribe.model.OAuthRequest.send(OAuthRequest.java:12)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at cse.usf.edu.android.Yelp.search(Yelp.java:58)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at cse.usf.edu.android.HelloWorldActivity.onCreate(HelloWorldActivity.java:22)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at android.app.Activity.performCreate(Activity.java:4531)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1071)
10-14 18:32:29.207: E/AndroidRuntime(7354):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2150)
10-14 18:32:29.207: E/AndroidRuntime(7354):     ... 11 more
10-14 18:32:36.965: E/AndroidRuntime(7439): FATAL EXCEPTION: main
10-14 18:32:36.965: E/AndroidRuntime(7439): java.lang.RuntimeException: Unable to start activity ComponentInfo{cse.usf.edu.android/cse.usf.edu.android.HelloWorldActivity}: android.os.NetworkOnMainThreadException
10-14 18:32:36.965: E/AndroidRuntime(7439):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2194)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2229)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at android.app.ActivityThread.access$600(ActivityThread.java:139)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1261)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at android.os.Looper.loop(Looper.java:154)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at android.app.ActivityThread.main(ActivityThread.java:4945)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at java.lang.reflect.Method.invokeNative(Native Method)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at java.lang.reflect.Method.invoke(Method.java:511)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at dalvik.system.NativeStart.main(Native Method)
10-14 18:32:36.965: E/AndroidRuntime(7439): Caused by: android.os.NetworkOnMainThreadException
10-14 18:32:36.965: E/AndroidRuntime(7439):     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1178)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at java.net.InetAddress.lookupHostByName(InetAddress.java:394)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:245)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at java.net.InetAddress.getAllByName(InetAddress.java:220)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:71)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:86)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at libcore.net.http.HttpEngine.connect(HttpEngine.java:303)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at org.scribe.model.Response.<init>(Response.java:27)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at org.scribe.model.Request.doSend(Request.java:110)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at org.scribe.model.Request.send(Request.java:62)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at org.scribe.model.OAuthRequest.send(OAuthRequest.java:12)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at cse.usf.edu.android.Yelp.search(Yelp.java:58)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at cse.usf.edu.android.HelloWorldActivity.onCreate(HelloWorldActivity.java:22)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at android.app.Activity.performCreate(Activity.java:4531)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1071)
10-14 18:32:36.965: E/AndroidRuntime(7439):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2150)
10-14 18:32:36.965: E/AndroidRuntime(7439):     ... 11 more
(当然,WARE
secret
是我从Yelp获得的实际信息)


我对安卓相当陌生,所以我觉得它很简单,但我不太明白问题所在,因为我已经遵循了Yelp的示例,而且非常准确。

异常的名称非常清楚:您试图从主(UI)线程访问网络。UI线程应保留用于处理UI事件,以确保您的应用程序不会停止响应,并且您应该在后台线程上执行其他任务(如联网或计算)。

好的,我不确定该异常意味着什么。所以我必须创建一个调用YelpAPI的线程?我想我可以从我的主要活动中运行这个线程?@BarryTormey我链接的问题有如何在后台线程中运行任务的示例代码。您可以(而且应该)在主线程中创建异步任务,然后将其分派到后台运行。
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_hello_world);

    // Update tokens here from Yelp developers site, Manage API access.
    String consumerKey = "secret";
    String consumerSecret = "secret";
    String token = "secret";
    String tokenSecret = "secret";

    Yelp yelp = new Yelp(consumerKey, consumerSecret, token, tokenSecret);
    String response = yelp.search("burritos", 30.361471, -87.164326);

}