Android 开发小技巧

作者: HannyYeung | 来源:发表于2017-03-14 11:46 被阅读142次
    小狗.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);
        }
    

    总结

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

    相关文章

      网友评论

        本文标题:Android 开发小技巧

        本文链接:https://www.haomeiwen.com/subject/dsbcnttx.html