Getting SocketException while loading Images from Server - android

I am loading images in my listview from Server. All the images are .png and the size is quite less so that it can be easily shown like a thum image in a listview. But every time I am getting java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer).LogCat is showing the following exception :-
09-04 14:16:43.402: W/System.err(27413): java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
09-04 14:16:43.403: W/System.err(27413): at libcore.io.IoBridge.maybeThrowAfterRecvfrom(IoBridge.java:592)
09-04 14:16:43.403: W/System.err(27413): at libcore.io.IoBridge.recvfrom(IoBridge.java:556)
09-04 14:16:43.403: W/System.err(27413): at java.net.PlainSocketImpl.read(PlainSocketImpl.java:485)
09-04 14:16:43.403: W/System.err(27413): at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:37)
09-04 14:16:43.403: W/System.err(27413): at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:237)
09-04 14:16:43.403: W/System.err(27413): at com.android.okio.Okio$2.read(Okio.java:113)
09-04 14:16:43.403: W/System.err(27413): at com.android.okio.RealBufferedSource.indexOf(RealBufferedSource.java:147)
09-04 14:16:43.403: W/System.err(27413): at com.android.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:94)
09-04 14:16:43.403: W/System.err(27413): at com.android.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:175)
09-04 14:16:43.403: W/System.err(27413): at com.android.okhttp.internal.http.HttpTransport.readResponseHeaders(HttpTransport.java:101)
09-04 14:16:43.403: W/System.err(27413): at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:616)
09-04 14:16:43.403: W/System.err(27413): at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:379)
09-04 14:16:43.403: W/System.err(27413): at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:323)
09-04 14:16:43.403: W/System.err(27413): at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:190)
09-04 14:16:43.403: W/System.err(27413): at com.suvidhaa.AsyncImage.ImageLoader.getBitmap(ImageLoader.java:76)
09-04 14:16:43.403: W/System.err(27413): at com.suvidhaa.AsyncImage.ImageLoader.access$0(ImageLoader.java:59)
09-04 14:16:43.403: W/System.err(27413): at com.suvidhaa.AsyncImage.ImageLoader$PhotosLoader.run(ImageLoader.java:139)
09-04 14:16:43.404: W/System.err(27413): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
09-04 14:16:43.404: W/System.err(27413): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
09-04 14:16:43.404: W/System.err(27413): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
09-04 14:16:43.404: W/System.err(27413): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
09-04 14:16:43.404: W/System.err(27413): at java.lang.Thread.run(Thread.java:818)
09-04 14:16:43.404: W/System.err(27413): Caused by: android.system.ErrnoException: recvfrom failed: ECONNRESET (Connection reset by peer)
09-04 14:16:43.404: W/System.err(27413): at libcore.io.Posix.recvfromBytes(Native Method)
09-04 14:16:43.404: W/System.err(27413): at libcore.io.Posix.recvfrom(Posix.java:161)
09-04 14:16:43.404: W/System.err(27413): at libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:250)
09-04 14:16:43.404: W/System.err(27413): at libcore.io.IoBridge.recvfrom(IoBridge.java:553)
09-04 14:16:43.404: W/System.err(27413): ... 20 more
I have also tried to load the images by using Picasso library but still facing the same issue. I can' understand what's going on.
Kindly help me regarding the same, any help would be appreciable.
Thanks

Related

Retrofit cannot connect to my local web server on port 3000

My app that is using Retrofit (v1.6.1) to connect to REST web services cannot connect to my local web server (running on localhost), this is the error I am getting.
This is inside Nexus4 (v4.3) emulator, I am using Android Studio for development and I have added android.permission.INTERNET & android.permission.ACCESS_NETWORK_STATE permissions in manifest file.
The error says its waited for 15s but it does not, it errors out right away.
07-13 15:57:53.947 820-840/it.test.android.app.activity D/Retrofit﹕ ---> HTTP POST http://localhost:3000/app/auth/signin
07-13 15:57:54.132 820-840/it.test.android.app.activity D/Retrofit﹕ Content-Type: application/json; charset=UTF-8
07-13 15:57:54.132 820-840/it.test.android.app.activity D/Retrofit﹕ Content-Length: 44
07-13 15:57:54.157 820-840/it.test.android.app.activity D/Retrofit﹕ {"auth":{"email":"steve","password":"pass"}}
07-13 15:57:54.387 820-840/it.test.android.app.activity D/Retrofit﹕ ---> END HTTP (44-byte body)
07-13 15:57:54.657 820-840/it.test.android.app.activity D/Retrofit﹕ ---- ERROR http://localhost:3000/app/auth/signin
07-13 15:57:54.857 820-840/it.test.android.app.activity D/Retrofit﹕ java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 3000) after 15000ms: isConnected failed: ECONNREFUSED (Connection refused)
at libcore.io.IoBridge.isConnected(IoBridge.java:223)
at libcore.io.IoBridge.connectErrno(IoBridge.java:161)
at libcore.io.IoBridge.connect(IoBridge.java:112)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
at java.net.Socket.connect(Socket.java:842)
at libcore.net.http.HttpConnection.<init>(HttpConnection.java:76)
at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
at libcore.net.http.HttpEngine.connect(HttpEngine.java:311)
at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
at retrofit.client.UrlConnectionClient.prepareRequest(UrlConnectionClient.java:68)
at retrofit.client.UrlConnectionClient.execute(UrlConnectionClient.java:37)
at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:321)
at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278)
at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at retrofit.Platform$Android$2$1.run(Platform.java:142)
at java.lang.Thread.run(Thread.java:841)
Caused by: libcore.io.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
at libcore.io.IoBridge.isConnected(IoBridge.java:208)
            at libcore.io.IoBridge.connectErrno(IoBridge.java:161)
            at libcore.io.IoBridge.connect(IoBridge.java:112)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
            at java.net.Socket.connect(Socket.java:842)
            at libcore.net.http.HttpConnection.<init>(HttpConnection.java:76)
            at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
            at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
            at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
            at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
            at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
            at libcore.net.http.HttpEngine.connect(HttpEngine.java:311)
            at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
            at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
            at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
            at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
            at retrofit.client.UrlConnectionClient.prepareRequest(UrlConnectionClient.java:68)
            at retrofit.client.UrlConnectionClient.execute(UrlConnectionClient.java:37)
            at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:321)
            at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
            at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278)
            at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at retrofit.Platform$Android$2$1.run(Platform.java:142)
            at java.lang.Thread.run(Thread.java:841)
07-13 15:57:54.857 820-840/it.test.android.app.activity D/Retrofit﹕ ---- END ERROR
On your phone connecting to localhost:3000 means "connect to port 3000 on local network interface" - which is local interface of the phone, not the port 3000 of the PC to which your phone is connected. There is nothing listening on port 3000 on the phone, so you get connection refused error.
Whould you're trying to do is (probably, hard to guess without more information) is to connect from the phone to port 3000 on you PC. So you should change the address you're connecting to from localhost to address of the PC. In case of emulator that would be 10.0.2.2 (which is localhost of the PC). See networking information for reference.
I solved the issue, need to use 10.0.2.2 instead of localhost to connect to my local server.
Found it here - http://developer.android.com/tools/devices/emulator.html#networkaddresses

Android - Broadcast Receiver connection gets called

Does anyone know why when I click on a button with onclick() method then a broadcast receiver connextion gets called. This broadcast it's used when the connection switch between off to on or reverse. But I was online already and it got called!
There are the errors:
09-04 22:35:25.285: E/SqliteDatabaseCpp(8057): CREATE TABLE android_metadata failed
09-04 22:35:25.285: E/SQLiteDatabase(8057): Failed to open the database. closing it.
09-04 22:35:25.285: E/SQLiteDatabase(8057): android.database.sqlite.SQLiteDatabaseLockedException: database is locked
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.database.sqlite.SQLiteDatabase.setLocale_(SQLiteDatabase.java:2211)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:2199)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1130)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1081)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:1167)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:833)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:221)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:157)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at com.background.Database.open(Database.java:135)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at com.background.Broadcast_Reciver.onReceive(BroadcastService.java:100)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:728)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.os.Handler.handleCallback(Handler.java:605)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.os.Handler.dispatchMessage(Handler.java:92)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.os.Looper.loop(Looper.java:137)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at android.app.ActivityThread.main(ActivityThread.java:4507)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at java.lang.reflect.Method.invokeNative(Native Method)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at java.lang.reflect.Method.invoke(Method.java:511)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
09-04 22:35:25.285: E/SQLiteDatabase(8057): at dalvik.system.NativeStart.main(Native Method)
09-04 22:35:25.285: D/AndroidRuntime(8057): Shutting down VM
09-04 22:35:25.285: W/dalvikvm(8057): threadid=1: thread exiting with uncaught exception (group=0x40c341f8)
09-04 22:35:25.300: E/AndroidRuntime(8057): FATAL EXCEPTION: main
09-04 22:35:25.300: E/AndroidRuntime(8057): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x10000010 (has extras) } in com.background.Broadcast_Reciver#41724178
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:737)
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.os.Handler.handleCallback(Handler.java:605)
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.os.Handler.dispatchMessage(Handler.java:92)
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.os.Looper.loop(Looper.java:137)
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.app.ActivityThread.main(ActivityThread.java:4507)
09-04 22:35:25.300: E/AndroidRuntime(8057): at java.lang.reflect.Method.invokeNative(Native Method)
09-04 22:35:25.300: E/AndroidRuntime(8057): at java.lang.reflect.Method.invoke(Method.java:511)
09-04 22:35:25.300: E/AndroidRuntime(8057): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
09-04 22:35:25.300: E/AndroidRuntime(8057): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
09-04 22:35:25.300: E/AndroidRuntime(8057): at dalvik.system.NativeStart.main(Native Method)
09-04 22:35:25.300: E/AndroidRuntime(8057): Caused by: android.database.sqlite.SQLiteDatabaseLockedException: database is locked
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method)
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.database.sqlite.SQLiteDatabase.setLocale_(SQLiteDatabase.java:2211)
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:2199)
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1130)
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1081)
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:1167)
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:833)
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:221)
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:157)
09-04 22:35:25.300: E/AndroidRuntime(8057): at com.background.Database.open(Database.java:135)
09-04 22:35:25.300: E/AndroidRuntime(8057): at com.background.Broadcast_Reciver.onReceive(BroadcastService.java:100)
09-04 22:35:25.300: E/AndroidRuntime(8057): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:728)
09-04 22:35:25.300: E/AndroidRuntime(8057): ... 9 more
Take a look at this error please:
java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x10000010 (has extras) } in com.background.Broadcast_Reciver#41724178

Fatal Exception when writing to socket from another thread

I have set up a socket connection between two droids, and I can send data back and forth with no problem. However, in the server side I have set up a ContentObserver to be notified when there is a change to the contacts.
I get the notification, but when I try to send a message to the client that the contacts have changed, I get a fatal exception. The content observer code is
public class ContactWatcher extends ContentObserver {
public ContactWatcher( Handler h )
{
super( h );
}
public void onChange(boolean selfChange)
{
if(!ConnectionManager.devices[0].matches("Null"))
{
ConnectionManager.sendMessage(MessageNames.CONTACT_UPDATE, 0);
}
}
I get to the sendMessage code, but when it tries to write to the socket the program crashes with the LogCat output
09-04 16:00:50.880: ERROR/AndroidRuntime(958): FATAL EXCEPTION: main
09-04 16:00:50.880: ERROR/AndroidRuntime(958): android.os.NetworkOnMainThreadException
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1077)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at dalvik.system.BlockGuard$WrappedNetworkSystem.write(BlockGuard.java:290)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at org.apache.harmony.luni.net.PlainSocketImpl.write(PlainSocketImpl.java:462)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at org.apache.harmony.luni.net.SocketOutputStream.write(SocketOutputStream.java:55)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:165)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at java.io.BufferedWriter.flush(BufferedWriter.java:129)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at java.io.PrintWriter.flush(PrintWriter.java:270)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at java.io.PrintWriter.println(PrintWriter.java:491)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at java.io.PrintWriter.println(PrintWriter.java:603)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at com.gigaset.homepanel.ConnectionManager.sendMessage(ConnectionManager.java:151)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at com.gigaset.homepanel.ContactWatcher.onChange(ContactWatcher.java:19)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at android.database.ContentObserver$NotificationRunnable.run(ContentObserver.java:43)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at android.os.Handler.handleCallback(Handler.java:587)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at android.os.Handler.dispatchMessage(Handler.java:92)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at android.os.Looper.loop(Looper.java:132)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at android.app.ActivityThread.main(ActivityThread.java:4025)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at java.lang.reflect.Method.invokeNative(Native Method)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at java.lang.reflect.Method.invoke(Method.java:491)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
09-04 16:00:50.880: ERROR/AndroidRuntime(958): at dalvik.system.NativeStart.main(Native Method)
The Android SDK documentation for the NetworkOnMainThreadException class is pretty clear and easy to understand. It states that it is thrown on Honeycomb when you try to perform a network operation on the main UI thread.
The fix is of course to run the network operation in a background thread. You can associate the ContentObserver with a different thread by passing a handler for that thread when you construct the ContentObserver.
Alternately, you could directly spawn a new thread, or post a runnable to a handler on a different thread.
If you really want to run the network operation on the main thread, you should be able to disable that exception via the StrictMode apis (not recommended)

How to play video from URL?

I am using MediaPlayer to try and stream video and audio from youtube.
How do i go about doing this using the url:
Example:
http://www.youtube.com/watch?v=SgGhtjKWLOE&feature=feedrec
EDIT: LogCat Error i get when using your methods.
09-04 22:22:30.140: INFO/AwesomePlayer(85): setDataSource_l('http://www.youtube.com/watch?v=I3jv0IF9n6A')
09-04 22:22:30.140: INFO/NuHTTPDataSource(85): connect to www.youtube.com:80/watch?v=I3jv0IF9n6A #0
09-04 22:22:30.250: INFO/NuHTTPDataSource(85): connect to m.youtube.com:80/watch?desktop_uri=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DI3jv0IF9n6A&v=I3jv0IF9n6A&gl=US #0
09-04 22:22:30.410: INFO/NuHTTPDataSource(85): connect to m.youtube.com:80/#/watch?desktop_uri=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DI3jv0IF9n6A&v=I3jv0IF9n6A&gl=US #0
09-04 22:22:30.570: INFO/NuHTTPDataSource(85): Chunked transfer encoding applied.
09-04 22:22:30.570: WARN/NuHTTPDataSource(85): Server did not give us the content length!
09-04 22:22:31.000: INFO/NuCachedSource2(85): ERROR_END_OF_STREAM
09-04 22:22:31.630: ERROR/MediaPlayer(8404): error (1, -2147483648)
09-04 22:22:31.630: WARN/System.err(8404): java.io.IOException: Prepare failed.: status=0x1
09-04 22:22:31.630: WARN/System.err(8404): at android.media.MediaPlayer.prepare(Native Method)
09-04 22:22:31.630: WARN/System.err(8404): at com.fttech.example.youtube.example.AccessibleYouTube.watchVideo(AccessibleYouTube.java:139)
09-04 22:22:31.630: WARN/System.err(8404): at java.lang.reflect.Method.invokeNative(Native Method)
09-04 22:22:31.630: WARN/System.err(8404): at java.lang.reflect.Method.invoke(Method.java:491)
09-04 22:22:31.630: WARN/System.err(8404): at android.view.View$1.onClick(View.java:2678)
09-04 22:22:31.630: WARN/System.err(8404): at android.view.View.performClick(View.java:3110)
09-04 22:22:31.630: WARN/System.err(8404): at android.view.View$PerformClick.run(View.java:11928)
09-04 22:22:31.630: WARN/System.err(8404): at android.os.Handler.handleCallback(Handler.java:587)
09-04 22:22:31.630: WARN/System.err(8404): at android.os.Handler.dispatchMessage(Handler.java:92)
If you're wanting to use MediaPlayer object then the following calls will work for you:
MediaPlayer mp = new MediaPlayer();
mp.setDataSource("http://www.youtube.com/watch?v=SgGhtjKWLOE&feature=feedrec");
mp.prepare();
mp.start();
Otherwise, if you don't mind having the YouTube app take over, you can use the following code:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=SgGhtjKWLOE&feature=feedrec")));
Uri uri = Uri.parse("http://www.youtube.com/watch?v=SgGhtjKWLOE&feature=feedrec");
Intent i = new Intent("android.intent.action.VIEW");
i.setDataAndType(uri, "video/*");
startActivity(i);

Finding issue in getting latitude and longitude

Here is the program I used to code it in my android application to find the GPS location of the device.
package com.gps.TestingApps;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.TextView;
public class TestingApps extends Activity implements LocationListener{
private LocationManager locationManager;
private TextView latitude;
private TextView longitude;
/** Called when the activity is first created. */
#Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//bind the ui components to code referances
latitude = (TextView) findViewById(R.id.latitude);
longitude = (TextView) findViewById(R.id.longitude);
//get the locationManager
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
startListening();
}
private void startListening() {
//registers our class as the listener
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, (LocationListener) this);
}
private void stopListening() {
locationManager.removeUpdates((LocationListener) this);
}
public void onLocationChanged(Location location) {
latitude.setText(location.getLatitude()+"");
longitude.setText(location.getLongitude()+"");
stopListening();
}
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
I didn't get any bugs but there is a runtime error, I can't get the values of latitude and longitude instead I get the value false values for both.
here is the error message displayed in my Logcat.
09-04 12:52:47.541: WARN/ResourceType(59): Failure getting entry for 0x7f020000 (t=1 e=0) in package 0: 0xffffffb5
09-04 12:52:49.981: WARN/ResourceType(122): Failure getting entry for 0x7f020000 (t=1 e=0) in package 0: 0xffffffb5
09-04 12:52:50.161: WARN/PackageManager(122): Failure retrieving icon 0x7f020000 in package com.greatinnovus.TestingApps
09-04 12:52:50.161: WARN/PackageManager(122): android.content.res.Resources$NotFoundException: Resource ID #0x7f020000
09-04 12:52:50.161: WARN/PackageManager(122): at android.content.res.Resources.getValue(Resources.java:846)
09-04 12:52:50.161: WARN/PackageManager(122): at android.content.res.Resources.getDrawable(Resources.java:534)
09-04 12:52:50.161: WARN/PackageManager(122): at android.app.ApplicationContext$ApplicationPackageManager.getDrawable(ApplicationContext.java:1923)
09-04 12:52:50.161: WARN/PackageManager(122): at android.content.pm.ComponentInfo.loadIcon(ComponentInfo.java:88)
09-04 12:52:50.161: WARN/PackageManager(122): at com.htc.launcher.LauncherModel.updateApplicationInfoTitleAndIcon(LauncherModel.java:488)
09-04 12:52:50.161: WARN/PackageManager(122): at com.htc.launcher.LauncherModel.makeAndCacheApplicationInfo(LauncherModel.java:469)
09-04 12:52:50.161: WARN/PackageManager(122): at com.htc.launcher.LauncherModel.access$300(LauncherModel.java:55)
09-04 12:52:50.161: WARN/PackageManager(122): at com.htc.launcher.LauncherModel$1.run(LauncherModel.java:188)
09-04 12:52:50.181: ERROR/PackageInstallationReceiver(235): Remove /data/local/tmp/com.greatinnovus.TestingApps.apk Fail!
09-04 12:52:50.201: WARN/System.err(235): java.io.IOException: Error running exec(). Commands: [/system/xbin/su, 0, /system/bin/rm, /data/local/tmp/com.greatinnovus.TestingApps.apk] Working Directory: null Environment: null
09-04 12:52:50.281: WARN/System.err(235): at java.lang.ProcessManager.exec(ProcessManager.java:196)
09-04 12:52:50.291: WARN/System.err(235): at java.lang.Runtime.exec(Runtime.java:225)
09-04 12:52:50.291: WARN/System.err(235): at java.lang.Runtime.exec(Runtime.java:313)
09-04 12:52:50.301: WARN/System.err(235): at java.lang.Runtime.exec(Runtime.java:246)
09-04 12:52:50.301: WARN/System.err(235): at com.htc.android.psclient.PackageInstallationReceiver.removeTempPackageFile(PackageInstallationReceiver.java:30)
09-04 12:52:50.311: WARN/System.err(235): at com.htc.android.psclient.PackageInstallationReceiver.onReceive(PackageInstallationReceiver.java:22)
09-04 12:52:50.311: WARN/System.err(235): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2408)
09-04 12:52:50.321: WARN/System.err(235): at android.app.ActivityThread.access$2700(ActivityThread.java:112)
09-04 12:52:50.321: WARN/System.err(235): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1741)
09-04 12:52:50.321: WARN/System.err(235): at android.os.Handler.dispatchMessage(Handler.java:99)
09-04 12:52:50.331: WARN/System.err(235): at android.os.Looper.loop(Looper.java:123)
09-04 12:52:50.331: WARN/System.err(235): at android.app.ActivityThread.main(ActivityThread.java:3948)
09-04 12:52:50.341: WARN/System.err(235): at java.lang.reflect.Method.invokeNative(Native Method)
09-04 12:52:50.351: WARN/System.err(235): at java.lang.reflect.Method.invoke(Method.java:521)
09-04 12:52:50.351: WARN/System.err(235): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
09-04 12:52:50.351: WARN/System.err(235): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
09-04 12:52:50.361: WARN/System.err(235): at dalvik.system.NativeStart.main(Native Method)
09-04 12:52:50.361: WARN/System.err(235): Caused by: java.io.IOException: No such file or directory
09-04 12:52:50.381: WARN/System.err(235): at java.lang.ProcessManager.exec(Native Method)
09-04 12:52:50.391: WARN/System.err(235): at java.lang.ProcessManager.exec(ProcessManager.java:194)
09-04 12:52:50.391: WARN/System.err(235): ... 16 more
09-04 12:52:51.751: WARN/Resources(1707): Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f050000}
09-04 12:52:51.751: WARN/Resources(1707): Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f050002}
09-04 12:53:19.541: ERROR/SETTING_AUTO_BACKLIGHT(59): open: /sys/class/leds/lcd-backlight/auto failed, errno: 2
09-04 12:54:27.811: ERROR/SETTING_AUTO_BACKLIGHT(59): open: /sys/class/leds/lcd-backlight/auto failed, errno: 2
09-04 12:54:43.911: WARN/KeyCharacterMap(1707): Bad keycharmap - filesize=32
09-04 12:54:45.313: WARN/WeatherUtil(122): schedule DCS task, mixed quest code
09-04 12:54:51.962: WARN/MobileDataStateTracker(59): startUsingNetworkFeature=enableAGPS callid=59calluid= 1000
09-04 12:55:21.951: WARN/MobileDataStateTracker(59): stopUsingNetworkFeature=enableAGPS callid=59calluid= 1000
09-04 12:55:38.811: WARN/dalvikvm(122): disableGcForExternalAlloc: true
09-04 12:55:38.971: ERROR/SETTING_AUTO_BACKLIGHT(59): open: /sys/class/leds/lcd-backlight/auto failed, errno: 2
09-04 12:55:39.661: WARN/dalvikvm(122): disableGcForExternalAlloc: false
09-04 12:55:39.841: WARN/dalvikvm(122): disableGcForExternalAlloc: true
09-04 12:55:40.981: WARN/dalvikvm(122): disableGcForExternalAlloc: false
09-04 12:55:43.481: WARN/WeatherUtil(122): schedule DCS task, mixed quest code
09-04 12:56:26.191: WARN/dalvikvm(122): disableGcForExternalAlloc: true
09-04 12:56:27.301: WARN/dalvikvm(122): disableGcForExternalAlloc: false
09-04 12:56:29.811: WARN/WeatherUtil(122): schedule DCS task, mixed quest code
09-04 12:56:42.331: WARN/ResourceType(59): Failure getting entry for 0x7f020000 (t=1 e=0) in package 0: 0xffffffb5
09-04 12:56:45.691: ERROR/PackageInstallationReceiver(235): Remove /data/local/tmp/com.greatinnovus.TestingApps.apk Fail!
09-04 12:56:45.711: WARN/System.err(235): java.io.IOException: Error running exec(). Commands: [/system/xbin/su, 0, /system/bin/rm, /data/local/tmp/com.greatinnovus.TestingApps.apk] Working Directory: null Environment: null
09-04 12:56:45.711: WARN/System.err(235): at java.lang.ProcessManager.exec(ProcessManager.java:196)
09-04 12:56:45.711: WARN/System.err(235): at java.lang.Runtime.exec(Runtime.java:225)
09-04 12:56:45.711: WARN/System.err(235): at java.lang.Runtime.exec(Runtime.java:313)
09-04 12:56:45.721: WARN/System.err(235): at java.lang.Runtime.exec(Runtime.java:246)
09-04 12:56:45.721: WARN/System.err(235): at com.htc.android.psclient.PackageInstallationReceiver.removeTempPackageFile(PackageInstallationReceiver.java:30)
09-04 12:56:45.721: WARN/System.err(235): at com.htc.android.psclient.PackageInstallationReceiver.onReceive(PackageInstallationReceiver.java:22)
09-04 12:56:45.721: WARN/System.err(235): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2408)
09-04 12:56:45.721: WARN/System.err(235): at android.app.ActivityThread.access$2700(ActivityThread.java:112)
09-04 12:56:45.721: WARN/System.err(235): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1741)
09-04 12:56:45.721: WARN/System.err(235): at android.os.Handler.dispatchMessage(Handler.java:99)
09-04 12:56:45.731: WARN/System.err(235): at android.os.Looper.loop(Looper.java:123)
09-04 12:56:45.731: WARN/System.err(235): at android.app.ActivityThread.main(ActivityThread.java:3948)
09-04 12:56:45.731: WARN/System.err(235): at java.lang.reflect.Method.invokeNative(Native Method)
09-04 12:56:45.731: WARN/System.err(235): at java.lang.reflect.Method.invoke(Method.java:521)
09-04 12:56:45.741: WARN/System.err(235): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
09-04 12:56:45.741: WARN/System.err(235): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
09-04 12:56:45.741: WARN/System.err(235): at dalvik.system.NativeStart.main(Native Method)
09-04 12:56:45.741: WARN/System.err(235): Caused by: java.io.IOException: No such file or directory
09-04 12:56:45.761: WARN/System.err(235): at java.lang.ProcessManager.exec(Native Method)
09-04 12:56:45.761: WARN/System.err(235): at java.lang.ProcessManager.exec(ProcessManager.java:194)
09-04 12:56:45.761: WARN/System.err(235): ... 16 more
09-04 12:56:45.901: WARN/ResourceType(122): Failure getting entry for 0x7f020000 (t=1 e=0) in package 0: 0xffffffb5
09-04 12:56:45.941: WARN/PackageManager(122): Failure retrieving icon 0x7f020000 in package com.greatinnovus.TestingApps
09-04 12:56:45.941: WARN/PackageManager(122): android.content.res.Resources$NotFoundException: Resource ID #0x7f020000
09-04 12:56:45.941: WARN/PackageManager(122): at android.content.res.Resources.getValue(Resources.java:846)
09-04 12:56:45.941: WARN/PackageManager(122): at android.content.res.Resources.getDrawable(Resources.java:534)
09-04 12:56:45.941: WARN/PackageManager(122): at android.app.ApplicationContext$ApplicationPackageManager.getDrawable(ApplicationContext.java:1923)
09-04 12:56:45.941: WARN/PackageManager(122): at android.content.pm.ComponentInfo.loadIcon(ComponentInfo.java:88)
09-04 12:56:45.941: WARN/PackageManager(122): at com.htc.launcher.LauncherModel.updateApplicationInfoTitleAndIcon(LauncherModel.java:488)
09-04 12:56:45.941: WARN/PackageManager(122): at com.htc.launcher.LauncherModel.updateAndCacheApplicationInfo(LauncherModel.java:289)
09-04 12:56:45.941: WARN/PackageManager(122): at com.htc.launcher.LauncherModel.access$500(LauncherModel.java:55)
09-04 12:56:45.941: WARN/PackageManager(122): at com.htc.launcher.LauncherModel$2.run(LauncherModel.java:265)
09-04 12:56:46.551: WARN/Resources(1751): Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f050000}
09-04 12:56:46.551: WARN/Resources(1751): Converting to string: TypedValue{t=0x12/d=0x0 a=2 r=0x7f050002}
09-04 12:56:59.111: WARN/KeyCharacterMap(1751): Bad keycharmap - filesize=32
09-04 12:57:00.524: WARN/WeatherUtil(122): schedule DCS task, mixed quest code
09-04 12:57:59.821: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 12:58:59.911: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 12:59:59.981: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:01:00.121: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:01:03.131: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:01:06.141: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:02:06.281: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:03:06.461: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:03:09.463: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:03:12.481: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:04:12.621: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:05:12.741: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:05:15.744: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:05:18.751: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:06:18.881: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:06:21.873: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:07:21.963: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:07:24.971: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:07:27.981: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:08:28.181: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:08:31.182: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:08:34.201: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:08:37.221: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:08:40.241: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:09:40.383: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:09:43.381: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:09:46.401: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:10:46.531: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:11:46.641: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:11:49.641: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:12:49.771: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:12:52.771: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:12:55.801: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:12:58.822: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:12:59.721: WARN/Smack/Packet(166): notify conn break (IOEx), close connection
09-04 13:13:01.832: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:13:04.842: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
09-04 13:13:07.861: WARN/LocationManagerService(59): acquireWakeLock(): Unable to get WiFi lock
Your problem is not related to GPS in any way. You're simply missing an icon in your res/drawable folder, that you're referencing to from somewhere, as you can see in your log.
android.content.res.Resources$NotFoundException:
Resource ID #0x7f020000 09-0

Categories

Resources