我有一个应用程序,在drawable文件夹中使用.jpg
个文件在viewPager中显示。
我想防止简单地窃取我的apk drawable文件。所以在将它们加载到drawable文件夹之前,我在.jpg
文件内容名称中更改了一个唯一的单词Original
ےطےل Original II* ےى Ducky
到Fake
。
ےطےل Fake II* ےى Ducky
这会导致.Jpg
文件无法读取。然后我将不可读的文件加载到可绘制的文件夹中。
我需要一种方法将
Fake
替换为Original
,然后将其发送到mResources
。我不知道怎么做,请一步一步解释!!
class CustomPagerAdapter extends PagerAdapter {
int[] mResources = {
R.drawable.first,
R.drawable.second,
R.drawable.third,
R.drawable.fourth,
R.drawable.fifth,
R.drawable.sixth
};
Context mContext;
LayoutInflater mLayoutInflater;
public CustomPagerAdapter(Context context) {
mContext = context;
mLayoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return mResources.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((LinearLayout) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View itemView = mLayoutInflater.inflate(R.layout.pager_item, container, false);
ImageView imageView = (ImageView) itemView.findViewById(R.id.imageView);
imageView.setImageResource(mResources[position]);
container.addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((LinearLayout) object);
}
}
答案 0 :(得分:0)
这不是你想听到的答案,但是......
我不会花太多时间试图让你的文件不可读。即使你让它发挥作用,你也可能真的会减慢你的应用程序速度和/或使其不那么健壮。如果没有太多额外的麻烦,您可能会破坏操作系统代表您执行的所有自动资源选择(用于方向,屏幕密度等)。
更改允许的图形程序可能仍然可以读取您改变的drawable。而且他们总是容易被屏幕抓取。
IMO,最好花时间让你的应用程序尽可能好,让竞争对手尝试追赶。开发非平凡的Android应用程序可能非常具有挑战性,而无需尝试覆盖内置行为。