《第一行代码》读完总结

作者作为机械转软件的新人,通过两个半月学习《第一行代码》,实现了从对Android一无所知到有所了解。因Android版本更新,书中部分例子运行出错,作者分享了弹出对话框、使用通知、解析JSON数据及实战练习等方面的解决办法,助新手少走弯路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一行代码这本书是我的第一本android的书,通过两个半月,一边查看一些java的知识一边把里面的代码认真地敲了一遍。从一个机械转软件的新人,这本书给了我巨大的帮助,使我完成了对android的一无所知到对有所了解的转变,现在写一个简单的apk是没有问题了。

这本书给了我莫大的帮助,因此首先我非常感谢本书作者,郭霖。另外,我还非常感谢网上的各个博客主和问题答主,在我不懂和迷惑的时候总能在上面找到我寻求的答案。 由于android版本更新的关系,里面一些规则和API有所变化,使一些例子运行出错,这些对与老鸟来说可能没什么问题,但是对于新手来说还是要花很多时间的,甚至想不到方法。因此,我想在这里写出来,让和我一样的菜鸟能少走弯路。

第一个是书里的弹出对话框实现强制下线的功能,API23及以上的(安卓6.0及以上)版本不支持,只要把SDK和API版本换到23以下就可以了(当然测试的手机需要是安卓6.0一下的)。当然,在学习时敲一敲还是可以的,但是既然官方都不支持了我们在以后的开发中肯定得尽量避免使用这种方式。

第二个是书里的使用通知时设置Notification内容时出错,找不到setLatestEventInfo这个方法。刚开始还以为我写错了方法,后面自习核对后发现确实没写错,问了同事,同事也不知道咋回事。然后就GOOGLE,终于找到了答案,是因为低于API Level 11版本,也就是Android 2.3.3以下的系统中,setLatestEventInfo()函数是唯一的实现方法;但是 高于API Level 11,低于API Level 16 (Android 4.1.2)版本的系统中,可使用Notification.Builder来构造函数。但要使用getNotification()来使notification实现。此时,前面版本在notification中设置的Flags,icon等属性都已经无效,要在builder里面设置;高于API Level 16的版本,就可以用Builder和build()函数来配套的方便使用notification了。更具体的可以参这篇文章:http://blog.youkuaiyun.com/songyachao/article/details/51245370

第三个是使用GSON方式解析JSON格式数据时书上是提示安装jar依赖包,当我们把地址输入到浏览器进行下载时,发现跳到了github的页面,没有可以下载的jar包,可以下载源码。这里我们可以下载源码然后放到我们的java下面的文件里,这样也能实现目的;更推荐的方法是进入查找依赖的界面,然后把以来的语句放入我们的编译配置文件中(app.gradle里),这样既方便又简单。

第四个是最后的实战练习,一个问题是中国天气网的接口已经不能使用了,要么采用新的其他接口,但是不能很好的达到练习书中代码的作用。这个地方我是通过自己在本地服务器里添加数据解决的,当然只是部分城市即可(书里前面有讲到怎么使用本地服务器,我相信只要前面好好看了的都能做到)。另外一个问题是后台更新时数据更新但是并没有刷新界面,所以界面并不会变化(书里的更新间隔时间是8小时,我设置的10秒,方便查看效果),所以还应该加上刷新界面的代码,这个实战的代码我有放在github里,有需要的可以去查看 https://github.com/a-flying-pig/helloweather。

最后,希望以上对大家有所帮助,再次感谢《第一行代码》作者郭大神。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值