需求:java
需求分析通常步骤:android
软件项目需求分析git
产品经理经常使用软件app
第27章主要介绍了5种控件布局方法:ide
第28章主要介绍了如何处理事件和编写监听器(event listener)监听点击、长按、触碰、按键等。函数
第29章主要介绍了为操做栏添加溢出、操做和下拉式导航、为溢出添加操做,添加回退功能。
第30章主要介绍了菜单的三种类型布局
TableLayout | GridLayOut | |
---|---|---|
平分 | × | √ |
水平&垂直 同时对齐 | × | √ |
跨行列布局 | × | √ |
控件自动换行 | × | √ |
空白网格 | × | √ |
直接使用 | √ | 需设置 |
extend | LinarLayOut | ViewGroup |
Bundle mBundle = new Bundle(); //bundle类中加入数据(key -value的形式,另外一个activity里面取数据的时候,就要用到key,找出对应的value) mBundle.putString("Data", "data from TestBundle"); //新建一个intent对象,并将该bundle加入这个intent对象 Intent intent = new Intent(); ntent.setClass(TestBundle.this, Target.class); intent.putExtras(mBundle);
Log.d(tag, message); /*快捷输入 | 对应级别 logv + Tab | verbose logd + Tab | debug logi + Tab | info logw + Tab | warn loge + Tab | error */
android:theme=”@style/AppTheme
(appTheme主题或者其子类),而不能用android:style。 不然会提示错误:学习
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. /* 关系能够这么形容:AppCompatActivity————>FragmentActivity————>Activity。 */
public void onSaveInstanceState(Bundle savedInstanceState){ super.onSaveInstanceState(savedInsanceState); }
private class ButtonListener implements View.OnClickListener { public void onClick(View v) { switch (v.getId()) { case R.id.btn1_1: Intent a = new Intent(MainActivity.this, LinearLayOut1.class); startActivity(a); break; case R.id.btn1_2: Intent b = new Intent(MainActivity.this, LinearLayOut2.class); startActivity(b); break; case R.id.btn1_3: Intent c = new Intent(MainActivity.this, LinearLayOut3.class); startActivity(c); break; case R.id.btn2: Intent d = new Intent(MainActivity.this, RelativeLayOut.class); startActivity(d); break; case R.id.btn3: Intent e = new Intent(MainActivity.this, FrameLayOut.class); startActivity(e); break; case R.id.btn4: Intent f = new Intent(MainActivity.this, TableLayOut.class); startActivity(f); break; case R.id.btn5 Intent g = new Intent(MainActivity.this, GridLayOut.class); startActivity(g); break; default: break;} }}
public class Zebra implements Serializable { private static final long serialUID = 1L; private transient String name = "George"; private static String birthPlace = "Africa"; private transient Integer age; private java.util.List<Zebra> friends = new java.util.ArrayList<>(); private Object tail = null; { age = 10;} public Zebra() { this.name = "Sophia";} } }//name age /*代码编译并运行没有问题,alUID与serialVersionUID不一样,serialVersionUID是推荐的修补,但不是必需的,这不构成任何编译问题。序列化过程不会使用serialUID进行版本控制。能力和年龄变量都是瞬态的,这意味着它们的值不会被保存。Upon deserialization,默认的初始化和构造函数将是跳过,它们都将为空.*/
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | ----- | ----- | ----- | |
第二周 | 180/180 | 2/3 | 18/18 | |
第三周 | 429/609 | 1/4 | 24/42 | |
第四周 | 588/1197 | 2/6 | 30/72 | |
第五周 | 548/1745 | 1/7 | 20/92 | |
第六周 | 15934/17679 | 2/9 | 20/112 | |
第七周 | 2390/20310 | 1/10 | 18/130 |