Android URI to drawable

  • Thread starter Dirk Bruere at NeoPax
  • Start date
D

Dirk Bruere at NeoPax

Drawable d =
Drawable.createFromPath("e:\\Config\\$NetRadioCovers\\Other\\96.7
Ashbourne Radio.jpg");

This returns null, even though the path is correct.
Any ideas on how to do it?
 
L

Lew

Dirk said:
Drawable d =
Drawable.createFromPath("e:\\Config\\$NetRadioCovers\\Other\\96.7
Ashbourne Radio.jpg");

This returns null, even though the path is correct.
Any ideas on how to do it?

Here is a lesson in why you should put all the necessary information in thebody of your post, and not just in the subject. Your subject refers to "Android URI", but the body of your post talks about a Windows path. That isconfusing.

Regardless, the evidence from the tiny bit of information you provide is that the path is most definitely *not* correct. At the very least, you should re-examine that assumption and take steps to prove it. (E.g., write a unit test that test for something like 'new File("your path").exists()'.) Don't assume the path is right, prove that it's right. I will bet you fifty bucks that it isn't. (Monopoly money only.)

Please give ocmplete information in your post. Is this a Windows problem or an Android problem? If this is Android, then the path isn't even correctly formatted, much less correct.

You should consider using 'System.getProperty("file.separator")' or equivalent instead of hard-coding non-portable idioms.

Also, I see no evidence of a URI in your code snippet. How does that figure in?
 
D

Dirk Bruere at NeoPax

Here is a lesson in why you should put all the necessary information in the body of your post, and not just in the subject. Your subject refers to "Android URI", but the body of your post talks about a Windows path. That is confusing.

Regardless, the evidence from the tiny bit of information you provide is that the path is most definitely *not* correct. At the very least, you should re-examine that assumption and take steps to prove it. (E.g., write a unit test that test for something like 'new File("your path").exists()'.) Don't assume the path is right, prove that it's right. I will bet you fifty bucks that it isn't. (Monopoly money only.)

Please give ocmplete information in your post. Is this a Windows problem or an Android problem? If this is Android, then the path isn't even correctly formatted, much less correct.

You should consider using 'System.getProperty("file.separator")' or equivalent instead of hard-coding non-portable idioms.

Also, I see no evidence of a URI in your code snippet. How does that figure in?

Thanks.
In replying to this I think I have just realized what is wrong.
How to fix it is another matter
 
D

Dirk Bruere at NeoPax

Thanks.
In replying to this I think I have just realized what is wrong.
How to fix it is another matter

What I need is a path I can use.
The machine I am looking for is on the LAN, and named "Base".
The path on that machine is e:\\Config\\$NetRadioCovers\\Other\\96.7
Ashbourne Radio.jpg"

What is the correct path string with the machine name added?
 
R

Roedy Green

Drawable d =
Drawable.createFromPath("e:\\Config\\$NetRadioCovers\\Other\\96.7
Ashbourne Radio.jpg");

This returns null, even though the path is correct.
Any ideas on how to do it?

I am not familiar with the Android API, but I would try reading the
JPG in several utilities to see if any complain it is not quite
kosher. Load/Save sometimes cleans out weirdnesses.
Try converting to png. If it works, I am correct.

JPG is an old format and more abused.


--
Roedy Green Canadian Mind Products
http://mindprod.com
Capitalism has spurred the competition that makes CPUs faster and
faster each year, but the focus on money makes software manufacturers
do some peculiar things like deliberately leaving bugs and deficiencies
in the software so they can soak the customers for upgrades later.
Whether software is easy to use, or never loses data, when the company
has a near monopoly, is almost irrelevant to profits, and therefore
ignored. The manufacturer focuses on cheap gimicks like dancing paper
clips to dazzle naive first-time buyers. The needs of existing
experienced users are almost irrelevant. I see software rental as the
best remedy.
 
L

Lew

And that would be what, exactly? (With emphasis on the "exactly".)
What I need is a path I can use.
The machine I am looking for is on the LAN, and named "Base".
The path on that machine is e:\\Config\\$NetRadioCovers\\Other\\96.7
Ashbourne Radio.jpg"

What is the correct path string with the machine name added?

You need a LAN-aware or WAN-aware file system.

Your subject line has the right idea - refer to the resource via a URI, specifically a URL.

URLs are made available by drivers or servers that recognize the access protocol. For example. to read a local file or one that is presented as such by your network driver, you can use the "file://" protocol. The file system understands that one. On the Web you use the "http://" protocol. Web servers understand that one.

There is no automatic network driver that presents files on the host as files on the Android device. If you do mount one, it will present the remote files in Android (i.e., Linux) file-system syntax, not Windows. This is true for any remote-file access system - the resource presented as a file is in terms of the local file system, not the remote one. That's basic networking.

So make a server (file system, Web, FTP, or whatever) that presents the desired resource via a URL, then connect to it in the appropriate way (network, HTTP client, FTP client, ...) from the Android device, using a 'java.net.URL' to get to it.
 
D

Dirk Bruere at NeoPax

And that would be what, exactly? (With emphasis on the "exactly".)


You need a LAN-aware or WAN-aware file system.

Your subject line has the right idea - refer to the resource via a URI, specifically a URL.

URLs are made available by drivers or servers that recognize the access protocol. For example. to read a local file or one that is presented as such by your network driver, you can use the "file://" protocol. The file system understands that one. On the Web you use the "http://" protocol. Web servers understand that one.

There is no automatic network driver that presents files on the host as files on the Android device. If you do mount one, it will present the remote files in Android (i.e., Linux) file-system syntax, not Windows. This is true for any remote-file access system - the resource presented as a file is in terms of the local file system, not the remote one. That's basic networking.

So make a server (file system, Web, FTP, or whatever) that presents the desired resource via a URL, then connect to it in the appropriate way (network, HTTP client, FTP client, ...) from the Android device, using a 'java.net.URL' to get to it.

Thanks.
The real fun started later, when the code I had began to work.
Seems there was an automatic s/w update on the prog I was trying to
interface with the Android app. The new version of the s/w presented a
correct URL to me.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top