Re: Android URI to drawable
Dirk Bruere at NeoPax wrote:
Dirk Bruere at NeoPax wrote:
Lew wrote:
Dirk Bruere at NeoPax wrote:
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 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.
And that would be what, exactly? (With emphasis on the "exactly".)
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?
You need a LAN-aware or WAN-aware file system.
Your subject line has the right idea - refer to the resource via a URI, spe=
cifically a URL.
URLs are made available by drivers or servers that recognize the access pro=
tocol. 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 syste=
m understands that one. On the Web you use the "http://" protocol. Web se=
rvers understand that one.
There is no automatic network driver that presents files on the host as fil=
es 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 tr=
ue 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 networ=
king.
So make a server (file system, Web, FTP, or whatever) that presents the des=
ired 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.
--
Lew