Latimerius,
Do you mean something like this? (I ripped this from another site)
Resources res =
context.getPackageManager().getResourcesForApplication("com.example.foo")
I was doing something very similar already (posted below), though thought it
was a bit of a hack.
final String packName = "com.jash.cp_source_two";
String mDrawableName = "a1";
try
{
PackageManager manager = getPackageManager();
Resources resources = manager.getResourcesForApplication(packName);
int mDrawableResID = resources.getIdentifier(mDrawableName,
"drawable",packName);
Drawable myDrawable = resources.getDrawable( mDrawableResID );
if( myDrawable != null )
{
image = (ImageView) findViewById(R.id.imageView1);
image.setImageDrawable(myDrawable );
}
}
catch (PackageManager.NameNotFoundException e)
{
Toast.makeText(getBaseContext(), "error = "+e,
Toast.LENGTH_LONG).show();
}
Is there any reason to use your method over what I already had?
Also, July was a big month and Mark Murphy posts a lot! Do you happen to
remember roughly what the topic was to help narrow down the search ;)
Thanks a great deal for this.
Russ
On Wednesday, January 2, 2013 10:42:23 AM UTC, latimerius wrote:
> On Wed, Jan 2, 2013 at 2:20 AM, Russell Wheeler <[email protected]>
> wrote:
>
>
>
> Latimerius,
>
>
> So how do you directly access them from the assets folder?
>
>
>
> You have to know the name of the package whose images you want to use but
> that shouldn't be a problem in your case if I understand correctly. Then you
> just pass it to createPackageContext() which you call on one of your
> Activities (I use the "main" one but I guess it probably doesn't matter much
> which one you pick) to retrieve a Context of the package containing images.
> After that, everything works the same as when working with "this" package's
> resources - you call getResources() or getAssets() on the Context etc.
>
>
>
> Doing it this way, are the images available to anyone who has root access?
> i.e. can they steal your images?
>
>
>
> Then can do that anytime anyway. Everybody seems surprised to learn that (I
> know I was!) but anybody can access your assets and resources any time they
> please with just minor inconvenience, and they DON'T need root for that.
>
>
>
> (There was a thread about this on this group last July I think, Mark Murphy
> had some insights back then so look it up if you're interested.)
>
>
>
>
> Why do you use assets? For ease, or for some other reason? I thought it would
> be better to have them in the res folders so that the diff screen sizes still
> get used, e.g. ldpi/hdpi etc folders?
>
>
>
> I use assets because the program I work on is a game, or a toy, which uses
> custom rules to adapt to different screen sizes and densities. We started
> off using resources but quickly found out that Android's built-in scaling
> etc. was just ruining our art and throwing off our screen layout algorithms.
>
>
>
> Of course, even if res folders didn't work for us with our special needs,
> they can still work splendid for you. In that case, just go for res, I have
> no first-hand experience with that but I don't see any reason why it
> shouldn't work.
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en