「Android第一行代码」学习笔记一

本文是针对《Android第一行代码》的学习笔记。

1.知晓当前是哪一个活动

新建BaseActivity类继承AppCompatActivity,重写onCreate()方法

1
Log.d("BaseActivity", getClass().getSimpleName);

让BaseAcitity成为所有活动的父类

2.随时随地退出程序

新建ActivityCollector类作活动管理器,修改上面的BaseActivity,在onCreate()中添加ActivityCollector.addActivity(this),在onDestroy()中添加ActivityCollector.removeActivity(this);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class BaseActivity extends AppCompatActivity {

public static List<Activity> activities = new ArrayList<>();

public static void AddActivity(Activity activity) {
activities.add(activity);
}

public static void removeActivity(Activity activity) {
activities.remove(activity);
}

public static void finishAll() {
for (Activity activity : activities) {
activity.finish();
}
}
}

3.启动活动的最佳写法

1
2
3
4
5
6
7
8
9
public class SecondActivity extends AppCompatActivity {

public static void actionStart(Context context,String data1, String data2) {
Intent intent = new Intent(context, SecondActivity.class);
intent.putExtra("param1", data1);
intent.putExtra("param2", data2);
context.startActivity(intent);
}
}

故无需阅读SecondActivity全部源码就可以知道要传入参数,调用也只需一行代码。

1.百分比布局
PercentFrameLayout
PercentRelativeLayout

在项目的build.gradle的dependencies闭包中添加complile 'com.android.support:percent:24.1.1',接着Sysnc now重新同步。

2.引入布局与自定义控件
引入布局解决重复编写布局问题,自定义控件解决重复编写事件注册代码。