发表时间:2019.11.7
在前不久的 Android Dev Summit ‘19 上,Jetpack Compose 终于发布了一个可直接获得的预览版。现在的版本还是 0.1.0-dev02,处于非常早期的版本,官方也再三强调非常有可能产生变化且无法用于生产环境。不过我认为这是简单了解一下 Compose 的好时机。有备而无患。
发表时间:2019.11.7
在前不久的 Android Dev Summit ‘19 上,Jetpack Compose 终于发布了一个可直接获得的预览版。现在的版本还是 0.1.0-dev02,处于非常早期的版本,官方也再三强调非常有可能产生变化且无法用于生产环境。不过我认为这是简单了解一下 Compose 的好时机。有备而无患。
发表时间:2019-10-20
本文会给出在 Android 上获取运营商的方法,几个相近方法结果的差异,以及在多卡情况下有效的获取方式。最后额外提一下一种不需要请求设备识别码获取运营商信息的方法。提供可运行的 demo 源码。
作为一个 Android 开发者,Flutter 上来就让我把各类字符串写在 widget 里,其实我心里是拒绝的。硬编码是不可能硬编码的。国际化又不会,就是只能去看看文档,才能学点新姿势这样子。看了文档之后,觉得国际化这部分,还是有点麻烦的,我觉得有必要拎出来单独写写。
最近碰到一个异常,android.os.FileUriExposedException: file://*** exposed beyond app through Intent.getData()
,了解了一下,原来是 Android 7.0(api level 24)开始,通过 URI 与其他应用共享文件要求 URI 必须是 content://
开头的形式。而 FileProvider 是用来做这件事最简便的方法。
当初看到 Material Design 那个 48 秒的视频的时候,我心里就有声音在大喊:“就是这个!我想要的就是这种设计!”
迄今已有三年多,MD 得到了不错的推广。然而能让我眼前一亮的设计却是寥寥。大量的应用纯粹套了一个 MD 的皮,用着提供的标准控件,但没有更为深入地去设计,显得非常枯燥干瘪。这种时候 MD 反而成了累赘。
不打算讲解 Dagger2 的基础知识。
原先在 Android 项目中使用 Dagger2,准备好了 Component 和 Module 之后,在 Activity 或者 Fragment 里大概是这么使用的:
最近补了一下 Web 方面的知识,心想着就顺带把博客重新鼓捣一下。
以前的博客——很久没更新了——是租了个便宜的虚拟主机,用 WordPress 搭的。并不懂 PHP,而且一段时间里也应该不会去学。如果我自己想要搞点自己想要的主题,实际练习一下自己的 Web 技术,会比较困难。付费也挺麻烦的,干脆就把这一个月几块钱也省了算了。
个人评价:2 星。
并没有读完,过程中就感到有很多问题,想着这真是本鸡汤的反面示范。有了些想法后,就觉得是能够用来写点什么的。于是准备写个读后感,在准备阶段发觉,细看这本书更是糟糕。
尽量写一些个人对于鸡汤类型文字的想法。虽然每次深入去思考这些糟糕的鸡汤也会有所收获——主要是指为什么糟糕这方面,但相当耗费时间,并不值得这样的投入。所以最好这篇读后感能成为糟糕鸡汤文的最后一篇感想。
2017-02-23 更新:旧文搬运。
SwipeRefreshLayout 是由官方提供的下拉刷新 Widget。最低在 v4 中可用。最近使用了一下,发现虽然是官方出品,但也还是不够理想。
原先尝试使用了 Android L 中提供的新支持库 RecyclerView,彼此之间的兼容性就不够好。(RecyclerView 在那是也是新库,bug 多多,现在当然没有这种情况了。)
后来因为需要实现滑动到底部自动加载更多数据的功能,把 RecyclerView 换回了 ListView。在打算添加 FloatingActionButton 在同一画面上时,发现 SwipeRefreshLayout 不够方便。根据 FloatingActionButton 这个库的说明,需要将 FloatingActionButton 与 ListView 放在同一 ViewGroup 下。
2017-02-20 更新:旧文搬运。内容很浅显,但这部分内容实际上是需要好好掌握的,等以后会再充实一下。
在近来做的实战项目中,终于涉及到了这个方面的内容,那就趁机学一学用一用。
事实上,这方面的内容并不难理解,但是总让我感觉不知该怎么用才好。这里也就只能列一列几种模式,至于相应的解决方法,还是需要自己去琢磨试验。