[转载]android工程中引入另一个工程中的资源

时间:2023-03-08 23:30:06
[转载]android工程中引入另一个工程中的资源

在项目中可能遇到这样的问题:项目过大,于是细分为N个子模块来做,每个模块都是不同的工程。涉及到activity传数据时,可以用intent等方法来解决。但是如果涉及到要共用资源,而又不能像传统java程序那样打成jar包,比如程序中有大量自定义view,而这些自定义view都引用了的一些资源文件时,就可以用这个方法。

工程一:MyViews

代码如下:

public class MyTextView extends TextView{

public MyTextView(Context context) {
  super(context);
  // TODO Auto-generated constructor stub
  this.setBackgroundColor(Color.BLUE);
  this.setText(context.getResources().getString(R.string.test_view));
 }

}

对工程一,右键-->properties,勾选Is Library,确定即可。

[转载]android工程中引入另一个工程中的资源

[转载]android工程中引入另一个工程中的资源

工程二:TestActivity

首先对工程二,右键-->properties-->android-->Add-->MyViews,然后确定即可

代码如下:

public class TestActivity extends Activity {
   
 private MyTextView mtv;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mtv=new MyTextView(this);
        setContentView(mtv);
    }
}

运行工程二,可发现成功调用了工程一中的MyTextView