Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.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
Android 与Scribe和SharedReference建立连接_Android_Oauth_Scribe_Fitbit - Fatal编程技术网

Android 与Scribe和SharedReference建立连接

Android 与Scribe和SharedReference建立连接,android,oauth,scribe,fitbit,Android,Oauth,Scribe,Fitbit,当我登录后直接连接时,一切都很好。然后我存储到SharedReferences值请求(访问登录站点的第一个令牌-尽管我知道它不需要…),pin(也不需要pin),access_令牌和access_secret 我尝试使用存储在SharedReferences中的数据建立连接 OAuthService service= new ServiceBuilder() .provider(FitbitApi.class) .apiKey( oauth_consumer_key )

当我登录后直接连接时,一切都很好。然后我存储到SharedReferences值请求(访问登录站点的第一个令牌-尽管我知道它不需要…),pin(也不需要pin),access_令牌和access_secret

我尝试使用存储在SharedReferences中的数据建立连接

OAuthService service= new ServiceBuilder()
    .provider(FitbitApi.class)
    .apiKey( oauth_consumer_key )
    .apiSecret( oauth_consumer_secret )
    .build();
Log.d("TOKEN", access_token.getToken());
OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_ACTIVITIES_URL);
service.signRequest(access_token, request);

Response response = request.send();
我收到一个错误:

11-13 14:40:55.657: W/dalvikvm(9502): threadid=1: thread exiting with uncaught exception (group=0x418e8898)
11-13 14:40:55.657: E/AndroidRuntime(9502): FATAL EXCEPTION: main
11-13 14:40:55.657: E/AndroidRuntime(9502): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.iecom.fitbitgb/com.iecom.fitbitgb.FitBitLogin}: org.scribe.exceptions.OAuthConnectionException: There was a problem while creating a connection to the remote service.
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.ActivityThread.access$700(ActivityThread.java:159)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.os.Looper.loop(Looper.java:137)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.ActivityThread.main(ActivityThread.java:5419)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at java.lang.reflect.Method.invokeNative(Native Method)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at java.lang.reflect.Method.invoke(Method.java:525)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at dalvik.system.NativeStart.main(Native Method)
11-13 14:40:55.657: E/AndroidRuntime(9502): Caused by: org.scribe.exceptions.OAuthConnectionException: There was a problem while creating a connection to the remote service.
11-13 14:40:55.657: E/AndroidRuntime(9502):     at org.scribe.model.Request.send(Request.java:70)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at org.scribe.model.Request.send(Request.java:76)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at com.iecom.fitbitgb.FitBitCommunicator.getUserActivity(FitBitCommunicator.java:43)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at com.iecom.fitbitgb.FitBitLogin.onCreate(FitBitLogin.java:46)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.Activity.performCreate(Activity.java:5372)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)
11-13 14:40:55.657: E/AndroidRuntime(9502):     ... 11 more
11-13 14:40:55.657: E/AndroidRuntime(9502): Caused by: android.os.NetworkOnMainThreadException
11-13 14:40:55.657: E/AndroidRuntime(9502):     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1144)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at java.net.InetAddress.getAllByName(InetAddress.java:214)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpEngine.connect(HttpEngine.java:311)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at org.scribe.model.Response.<init>(Response.java:29)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at org.scribe.model.Request.doSend(Request.java:117)
11-13 14:40:55.657: E/AndroidRuntime(9502):     at org.scribe.model.Request.send(Request.java:66)
11-13 14:40:55.657: E/AndroidRuntime(9502):     ... 17 more
11-13 14:40:55.657:W/dalvikvm(9502):threadid=1:线程以未捕获异常退出(组=0x418e8898)
11-13 14:40:55.657:E/AndroidRuntime(9502):致命异常:main
11-13 14:40:55.657:E/AndroidRuntime(9502):java.lang.RuntimeException:无法启动活动组件信息{com.iecom.fitbitgb/com.iecom.fitbitgb.FitBitLogin}:org.scribe.exceptions.OAuthConnectionException:创建到远程服务的连接时出现问题。
11-13 14:40:55.657:E/AndroidRuntime(9502):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295)
11-13 14:40:55.657:E/AndroidRuntime(9502):位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
11-13 14:40:55.657:E/AndroidRuntime(9502):在android.app.ActivityThread.access$700(ActivityThread.java:159)
11-13 14:40:55.657:E/AndroidRuntime(9502):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
11-13 14:40:55.657:E/AndroidRuntime(9502):在android.os.Handler.dispatchMessage(Handler.java:99)上
11-13 14:40:55.657:E/AndroidRuntime(9502):在android.os.Looper.loop(Looper.java:137)
11-13 14:40:55.657:E/AndroidRuntime(9502):位于android.app.ActivityThread.main(ActivityThread.java:5419)
11-13 14:40:55.657:E/AndroidRuntime(9502):位于java.lang.reflect.Method.Invokenactive(本机方法)
11-13 14:40:55.657:E/AndroidRuntime(9502):在java.lang.reflect.Method.invoke(Method.java:525)处
11-13 14:40:55.657:E/AndroidRuntime(9502):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
11-13 14:40:55.657:E/AndroidRuntime(9502):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
11-13 14:40:55.657:E/AndroidRuntime(9502):在dalvik.system.NativeStart.main(本机方法)
11-13 14:40:55.657:E/AndroidRuntime(9502):原因:org.scribe.exceptions.OAuthConnectionException:创建到远程服务的连接时出现问题。
11-13 14:40:55.657:E/AndroidRuntime(9502):位于org.scribe.model.Request.send(Request.java:70)
11-13 14:40:55.657:E/AndroidRuntime(9502):位于org.scribe.model.Request.send(Request.java:76)
11-13 14:40:55.657:E/AndroidRuntime(9502):在com.iecom.fitbitgb.FitBitCommunicator.getUserActivity(FitBitCommunicator.java:43)
11-13 14:40:55.657:E/AndroidRuntime(9502):位于com.iecom.fitbitgb.FitBitLogin.onCreate(FitBitLogin.java:46)
11-13 14:40:55.657:E/AndroidRuntime(9502):在android.app.Activity.performCreate(Activity.java:5372)上
11-13 14:40:55.657:E/AndroidRuntime(9502):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
11-13 14:40:55.657:E/AndroidRuntime(9502):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)
11-13 14:40:55.657:E/AndroidRuntime(9502):。。。还有11个
11-13 14:40:55.657:E/AndroidRuntime(9502):由以下原因引起:android.os.NetworkOnMainThreadException
11-13 14:40:55.657:E/AndroidRuntime(9502):在android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1144)
11-13 14:40:55.657:E/AndroidRuntime(9502):位于java.net.InetAddress.lookupHostByName(InetAddress.java:385)
11-13 14:40:55.657:E/AndroidRuntime(9502):位于java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
11-13 14:40:55.657:E/AndroidRuntime(9502):位于java.net.InetAddress.getAllByName(InetAddress.java:214)
11-13 14:40:55.657:E/AndroidRuntime(9502):在libcore.net.http.HttpConnection.(HttpConnection.java:70)
11-13 14:40:55.657:E/AndroidRuntime(9502):在libcore.net.http.HttpConnection.(HttpConnection.java:50)
11-13 14:40:55.657:E/AndroidRuntime(9502):在libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
11-13 14:40:55.657:E/AndroidRuntime(9502):在libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
11-13 14:40:55.657:E/AndroidRuntime(9502):在libcore.net.http.HttpConnection.connect(HttpConnection.java:128)上
11-13 14:40:55.657:E/AndroidRuntime(9502):在libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)上
11-13 14:40:55.657:E/AndroidRuntime(9502):在libcore.net.http.HttpEngine.connect(HttpEngine.java:311)上
11-13 14:40:55.657:E/AndroidRuntime(9502):在libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)上
11-13 14:40:55.657:E/AndroidRuntime(9502):在libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)上
11-13 14:40:55.657:E/AndroidRuntime(9502):在libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
11-13 14:40:55.657:E/AndroidRuntime(9502):位于org.scribe.model.Response(Response.java:29)
11-13 14:40:55.657:E/AndroidRuntime(9502):位于org.scribe.model.Request.doSend(Request.java:117)
11-13 14:40:55.657:E/AndroidRuntime(9502):位于org.scribe.model.Request.send(Request.java:66)
11-13 14:40:55.657:E/AndroidRuntime(9502):。。。还有17个

我相信我在新构建OAuthService时犯了一些错误。。。有什么想法吗?

这是您的问题:
原因:android.os.NetworkOnMainThreadException
由于Android 4.0,您无法在主线程上建立url连接。使用
线程
异步任务


干杯

只是为了补充。。。所有的首选项都设置好了…请制作一个关于“在Android中集成Fitbit”的教程。