《Java程序设计》第6周学习总结

本文总结了《移动平台开发实践》课程第6周的学习内容,包括Android开发环境配置、项目搭建、Activity生命周期管理及UI组件介绍。通过实例解析了Toast与通知的使用场景及区别,并分享了代码调试技巧。

20189208 2018-2019-2 《移动平台开发实践》第6周学习总结

教材学习内容总结

23章介绍了Androidstudio等工具以及JDK、SDK。
24章介绍了如何安装Androidstudio,如何新建项目、虚拟设备、运行测试。
25章介绍了activity。activity的周期、图标、使用资源、启动其他活动、传递意图启动活动。
26章介绍了重要的UI组件。清单文件、Toast组件、通知、

教材学习中的问题和解决过程

  • 问题1:易混概念
  • 问题1解决方案:对比记忆
作用特点模板
Toast显示一条消息作为给用户的反馈到达预先定义的时间段会消失android.widget.Toast作为模板
通知出现在状态栏的消息持久、保持显示 直到关闭它或设备android.app.Notification的实例

代码调试中的问题和解决过程

  • 问题1:完成第二个实验时想在基础上继续修改的同时保留备份。
  • 问题1解决方案:项目名不能refactor,只能创建新的project,但是可以在码云创建新的分支。为了熟悉Android项目,

代码托管

1505842-20190407005256781-1879945631.png

上周考试错题总结

  • 错题1
    假如有一个InputStream,接下来的内容是XYZABC,下面代码中假如count为3,下面代码执行结果是?

public static String pullBytes(InputStream is, int count) throws IOException
{
is.mark(count);
final StringBuilder sb = new StringBuilder();
for(int i=0; i<count; i++)
sb.append((char)is.read());
is.reset();
is.skip(1);
sb.append((char)is.read());
return sb.toString();
}
/*
The result cannot be determined with the information given.
并非所有java.io流都支持mark()操作; 
如果不在流上调用mark- Supported(),则结果在运行时才会被识别。如果流确实支持mark()操作,那么结果将是XYZY,因为reset()操作将流放回到调用mark()之前的位置,并且skip(1)将跳过X.
如果流不支持mark()操作,则可能会抛出运行时异常“The code compiles but throws an exception at runtime.”
不知道输入流是否支持mark()操作,无法判断
*/
  • 错题2
    Eagle的一个实例经过serialized 和 deserialized后,name的值是?
public class Bird implements Serializable {
protected transient String name = "Bridget";
public void setName(String name) { this.name = name; }
public String getName() { return name; }
public Bird() {
this.name = "Matt";
}
}
public class Eagle extends Bird implements Serializable {
{ this.name = "Janette"; }
public Eagle() {
this.name = "Daniel";
}
}
/*
Bird类实现了Serializable,没有定义astatic serialVersionUID变量,但定义不是必需的,因此编译没有问题,代码也运行没有问题,
Java将在反序列化期间为第一个非可序列化的无参数父类调用构造函数,跳过任何构造函数和默认的可序列化类的初始化,包括Eagle和Bird本身。
Object()是第一个被调用的构造函数。将跳过所有默认初始化,
由于名称标记为瞬态,因此反序列化值为nulland,调用者无法使用setName()更改name的序列化值,因为name被标记为transient。
*/

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周---------------
第二周180/1802/318/18
第三周429/6091/424/42
第四周588/11972/630/72
第五周548/17452/620/92
第六周15934/176792/820/112

参考资料

转载于:https://www.cnblogs.com/Ychancy/p/10663841.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值