Flutter 学习:开发环境、开发工具、初始化一个项目

Flutter是Google推出的一款移动端UI框架,可以快速统一构建Android和IOS高质量的原生UI界面。https://flutter.io 。这个应该是今年最火的跨平台多端融合的移动框架。一方面是Google推的,Google在程序员心目中的地位还是一如既往的重要!另外一方面是Facebook的React native好像这些年有些式微,比如Airbnb就在今年高调宣布弃用React Native框架。

Read more »

IOS生成静态库

上次发了一篇《Cocoapods发布自定义开源组件库》的文章,这种开源组件库你发布后,别人通过pod下载安装到项目里面就能看到所有的源码信息,甚至能直接修改源码。但有时候有需要不能公开源码,但是又要打包给别人用的,比如公司的某个产品需要提供SDK给别人使用。

Read more »

CocoaPods 发布自定义的开源组件

pod lib create 的命令说明

我们开发应用的时候经常会用到别人开发好的组件,比如Moya网络请求库、HandyJSON阿里巴巴的JSON解析库等等很多很多。我们只需要一个Podfile文件和敲一个pod install就可以使用这些开源库了,非常方便。程序员的这种开源精神一直都是受到大家好评的,那既然我们也是程序员,就应用为开源做贡献的嘛。可能你有啥好点子也想开源出来,发布到CocoaPods上供大家使用,那该如何发布自己的库呢?CocoaPods提供了很简单方便的模式。 官方提供了pod lib create这个命令来生成一个cocoapods库的模版,这个是官方的说明:Using Pod Lib Create

Read more »

Shell脚本打包IOS和Android应用

打包应用一直都是个麻烦问题,IOS也好,Android也好,开发工具都是提供通过简单的点击一步步操作进行打包,IOS还能发布到App Store等。但是开发过程中总是会有很多要求,打包发布版,开发版,不同参数打包等等。时间又长,又要一个个打,想到浪费时间!于是想到用自动构建,但是IOS构建有要求,不好操作!

Read more »

IOS状态栏样式修改

以前的状态栏样式修改很简单:

UIApplication.shared.statusBarStyle = .lightContent 

把这句话写在 AppDelegate 里面就是全局的配置。如果你需要某一个单独的ViewController特殊处理就在这个ViewController里面再写一下这句话就行。

Read more »

IOS语音识别功能

语音识别现在有很多在做的,百度、迅飞等。我本来想用百度的语音识别,后来发现它的SDK不提供swift,用它的OC版本的SDK老是编译有问题。后来想反正现在苹果自带就有这个API,就是要求最低需要IOS10版本,现在10以下的应该也不多了,就打算用苹果自带的API开发一个。

Read more »

关于Android状态保持看这一篇就够了

最近好像蛮流行这样给文章取名的,恩,蛮叼的!其实文章内容是一个业务问题引发的关于状态保持的理解!

Fragment的状态保持

先说Fragment状态保持相关的问题,因为最近做项目碰到了问题。

Read more »

Android 后台任务管理调度

android后台任务执行调度一直问题蛮多的,在Android5.0之后加入了一个JobScheduler,管理这些后台执行的任务,并且给了一些限制策略,一方面控制耗电,一方面也尽量保证任务执行。项目中一直用这个管理器来执行一些后台的任务。

用起来也很简单,首先建一个任务的Service要继承自JobService,并且把这个Service注册到Manifest文件里面:

<service
            android:name=".DemoJobService"
            android:exported="true"
            android:permission="android.permission.BIND_JOB_SERVICE" />

Read more »

日程周视图和日视图自定义View

最近项目中要做一个日程管理的模块,其实这东西每个手机系统都有,就是系统的日历应用,做到产品中是为了产品中使用,并能把产品内的数据进行管理展现,方便用户管理生活和工作日程。

日程管理最基本的界面会有三种视图,月视图、周视图、日视图,大概就下面这样的:

月视图 周视图 日视图
月视图 周视图 日视图

Read more »

Android 工程gradle知识点记录

原文链接:https://www.jianshu.com/p/8b8a550246bd

gradle-wrapper.properties:

Wrapper是对Gradle的一层包装,便于在团队开发过程中统一Gradle构建的版本号,这样大家都可以使用统一的Gradle版本进行构建。

img

上面我们看到的图就是Gradle提供内置的Wrapper task帮助我们自动生成Wrapper所需的目录文件。再看看我们Android项目里面自动生成的文件

img

img

终于,我们知道这几个自动生成的文件原来是Gradle Wrapper创建出来的。

Read more »