昨天看郭霖的书,发现两个很实用的开发技巧,哈哈哈,很高兴今天记得,写下来!
1 方便调试
我们开发时项目写的比较大,类比较多.这个时候修改调试以前的代码bug就会有很多问题!比如知道问题出现在那里,但是要去找到具体哪个类就会很困难,当然也不能排除代码都是你写的而且还都记得.如果你是去一个新公司接手别人的代码,让你调试你会怎么办呢?
一般项目代码都是继承一个父类BaseActivity,所以我们在BaseActivity里面添加一句代码!
public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i("currentClass ",getClass().getName());
}
}
如果MainActivity是继承这个父类的话,如果当前界面是MainActivity,我们可以看到日志打印:
哈哈哈!,这样一来就好了,可以直接知道当前界面是哪个类!
2 方便开发
如果你写了个Activity,你的同事需要调用你这类,但是你这类需要参数,也就是通过getIntent获得的数据,我们都是知道获取数据需要通过键来取值,如果你的同事想知道你的这个参数的键是什么,要么通过看你的代码,要么问你,所以可以在自己的Activity用如下方法:
public class SecondActivity extends BaseActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_actiivty);
String key = getIntent().getStringExtra("key");
}
public static void startSecondActivity(Context context, String str) {
Intent intent = new Intent(context, SecondActivity.class);
intent.putExtra("key", str);
context.startActivity(intent);
}
}
public class MainActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.bt).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SecondActivity.startSecondActivity(MainActivity.this,"Hello World");
}
});
}
}
如果有 startActivityForResult回调,道理同样:
public static void startSecondActivityForResult(Activity activity, String str, int code) {
Intent intent = new Intent(activity, SecondActivity.class);
intent.putExtra("key", str);
activity.startActivityForResult(intent, code);
}
总结
我发现有时看看书很有用的,不管是简单还是复杂,其实都值得一看!