Android开发技巧Android知识Android开发

Android 开发小技巧

2017-03-14  本文已影响142人  HannyYeung
小狗.jpg

昨天看郭霖的书,发现两个很实用的开发技巧,哈哈哈,很高兴今天记得,写下来!

1 方便调试

我们开发时项目写的比较大,类比较多.这个时候修改调试以前的代码bug就会有很多问题!比如知道问题出现在那里,但是要去找到具体哪个类就会很困难,当然也不能排除代码都是你写的而且还都记得.如果你是去一个新公司接手别人的代码,让你调试你会怎么办呢?

懵逼.png

一般项目代码都是继承一个父类BaseActivity,所以我们在BaseActivity里面添加一句代码!


public class BaseActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.i("currentClass ",getClass().getName());
    }
}

如果MainActivity是继承这个父类的话,如果当前界面是MainActivity,我们可以看到日志打印:

log.png

哈哈哈!,这样一来就好了,可以直接知道当前界面是哪个类!

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);
    }

总结

我发现有时看看书很有用的,不管是简单还是复杂,其实都值得一看!

上一篇 下一篇

猜你喜欢

热点阅读