// 外部APKのパッケージ名 String packageName = "my.droid.example.outerresources"; Context context; try { // パッケージ名からコンテキストを作成 context = this.createPackageContext(packageName, Context.CONTEXT_RESTRICTED); //context = this.createPackageContext(packageName, Context.CONTEXT_IGNORE_SECURITY); // リソースの取得 Resources res = context.getResources(); // asset に下に作成したimagesディレクトリからファイルを取得 AssetManager as = res.getAssets(); String[] files = as.list("images"); for(String file : files) { Log.d(TAG, "AssetFile="+file); InputStream is = as.open(file); Bitmap bitmap = BitmapFactory.decodeStream(is); ImageView imageView = new ImageView(this); imageView.setImageBitmap(bitmap); linearLayout.addView(imageView); } // res/drawable からイメージを取得 int resId = res.getIdentifier("icon", "drawable", packageName); ImageView imageView = new ImageView(this); imageView.setImageDrawable(res.getDrawable(resId)); linearLayout.addView(imageView); } catch (NameNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
2010年10月4日月曜日
外部APKからリソースを取得する方法
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿