首页 文章 精选 留言 我的

精选列表

搜索[activity],共5511篇文章
优秀的个人博客,低调大师

营销活动之活动创建接口koubei.marketing.campaign.activity.create(创建口令送活动)-Java版

说明:本帖是测试营销活动创建口令送活动,首先要创建口碑门店,本帖是沙箱环境测试,仅供参考!! 是否支持沙箱环境:支持 接口文档:查看 sdk下载:下载 沙箱Java版营销活动demo:download:营销活动Java版.zip 1.代码请求示例: AlipayClient alipayClient =newDefaultAlipayClient(AlipayConfig.URL ,AlipayConfig.APPID,AlipayConfig.RSA_PRIVATE_KEY,"json",AlipayConfig.CHARSET,AlipayConfig.ALIPAY_PUBLIC_KEY,"RSA2"); KoubeiMarketingCampaignActivityCreateRequest request

优秀的个人博客,低调大师

7.kotlin安卓实践课程-用kotlin写第一个activity对应M层

简介 主要会通过安卓实战来讲解kotlin语法和实际应用,本教程设及知识点包括框架模式mvp+mvvm, Databinding(数据绑定框架),Dagger2(依赖注入框架),DeepLink(页面路由框架),Rxjava,RxAndroid(异步操作框架),Retrofit,Okhtttp等,不过本教程重点在kotlin所以这些框架需要了解可自行百度。 针对人群:Android中级以上,kotlin入门 上一篇文章讲了RandomPresenter的代码构成 在上篇RandomPresenter代码中有这么一段 mModel.getRandom(type) .observeOn(AndroidSchedulers.mainThread()) .subscribe({ res -> if (!res.error) { mView.onRandom(res.results[0]) } }, {})) mModel.getRandom(type)这句话就是在mModel里去请求网络,具体实现我们看看 /** * Created by bigman on 18-05-17. */ class RandomModel @Inject constructor(private val service:RandomService) :RandomContract.Model{ override fun getRandom(type:String): Observable<JsonResult<List<FuckGoods>>> { return service.getRandom(type) } } 这个RandomModel主要是提供了一个注入的构造函数,在这里它的构造函数里面传入了一个RandomService接口,这个接口的实现如下 /** * Created by liuguirui on 2018/5/17. */ interface RandomService { /** * 手气不错 */ @GET("random/data/{type}/1") fun getRandom(@Path("type") type:String): Observable<JsonResult<List<FuckGoods>>> } 熟悉 Retrofit+Rxjava的同学应该很清楚这个接口类就是用来声明服务器接口和参数声明的,它和我们正常java写的retrofit接口没太大的区别,这里只有一个getRandom方法 然后让我们再回到RandomModel class RandomModel @Inject constructor(private val service:RandomService) :RandomContract.Model 这里的constructor我们前面我们见过但是我没说,大概英文水平8都是八级以上肯定猜到是构造函数吧。 语法点:构造函数 1.分类 kotlin中构造函数一种主构造函数和次构造函数,而java是没有主次之分但是java也是支持多个构造函数的 2.主构造函数 主构造函数是写在类名后面的,比如我们这里的class RandomModel @Inject constructor(private val service:RandomService),这就是主构造函数的一般形式 主构造函数只能有一个,次构造函数可有可无 主构造函数不能包含任何的代码,但是初始化的代码可以放到init函数里面,这个我们前面说过 当主构造函数有注解或者可见性修饰符,需加 constructor 关键字,我们这里的代码就包含了注解 3.次构造函数 咱们这里没用到次构造函数没关系,kotlin的次构造函数和java的多个构造函数有点不同,kotlin的次构造函数必须直接或间接的委托给主构造函数 看以下代码 class Coder (name:String){ //直接委托 constructor(name: String,age:Int):this(name) { } //间接委托 constructor(name: String, age: Int,score:Int) : this(name, age) { } } 这里有几个点: class Coder (name:String)这里其实就是主构造函数 次构造函数必须用constructor关键字,而且必须用:冒号直接或间接委托给主构造函数 直接委托就是this关键字去调用的,比如这里的constructor(name: String,age:Int):this(name)就是通过this(name)直接调用了主构造函数 间接委托,比如这里的constructor(name: String, age: Int,score:Int) : this(name, age)是先用this(name, age)调用了第一个次构造函数,然后通过这个次构造函数间接的调用了主构造函数 然后我们回头看看RandomPresenter的构造函数,其实和这里的 RandomModel一样的主构造函数,看看它的代码 class RandomPresenter @Inject constructor(private val mModel: RandomModel, private val mView: RandomContract.View) : RandomContract.Presenter, BasePresenter() 其实这种形式在我们这个项目里非常常见大家以后见多了也就习惯了,我们顺便看完这个构造函数里的RandomContract的代码 /** * Created by bigman on 18-05-18. */ interface RandomContract{ interface View{ fun onRandom(goods:FuckGoods) } interface Model{ fun getRandom(type: String): Observable<JsonResult<List<FuckGoods>>> } interface Presenter{ fun getRandom(type: String) } } 熟悉google官方的mvp框架的同学应该知道这个接口文件的意义,这就是一个简单的协议接口,同时提供了mvp三个核心层次不同的接口定义,其实就是面向接口编程的一种标准形式 欢迎一起交流,有问题加群交流 kotlin实战交流群群二维码.png

优秀的个人博客,低调大师

6.kotlin安卓实践课程-用kotlin写第一个activity对应P层

简介 主要会通过安卓实战来讲解kotlin语法和实际应用,本教程设及知识点包括框架模式mvp+mvvm, Databinding(数据绑定框架),Dagger2(依赖注入框架),DeepLink(页面路由框架),Rxjava,RxAndroid(异步操作框架),Retrofit,Okhtttp等,不过本教程重点在kotlin所以这些框架需要了解可自行百度。 针对人群:Android中级以上,kotlin入门 上一篇文章讲了MainActivity的代码构成 MainActivity当中有一段代码 floatingButton.setOnClickListener { mPresenter.getRandom("Android") } 它就是通过P层去请求网络,具体的定义我们先看看RandomPresenter的构成 /** * Created by bigman on 18-05-18. */ class RandomPresenter @Inject constructor(private val mModel: RandomModel, private val mView: RandomContract.View) : RandomContract.Presenter, BasePresenter() { override fun getRandom(type: String) { addSubscription( mModel.getRandom(type) .observeOn(AndroidSchedulers.mainThread()) .subscribe({ res -> if (!res.error) { mView.onRandom(res.results[0]) } }, {})) } } 首先看看这个addSubscription是个什么方法 /** * Created by bigman on 18-05-18. */ open class BasePresenter { var compositeSubscription = CompositeSubscription() protected fun addSubscription(subscription: Subscription) { compositeSubscription.add(subscription) } fun unSubscribe() { if(compositeSubscription.hasSubscriptions()){ compositeSubscription.unsubscribe() } } } 每个Presenter都要继承于BasePresenter,然后由BasePresenter里面的CompositeSubscription对象统一管理订阅者的订阅和解绑(rxjava2实现就是观察者模式,不了解rxjava2的可以去学习一下rxjava2) 语法点:继承 open class BasePresenter 由于kotlin中所有类和方法默认都是final的,不能直接继承或重写,需要继承的类或类中要重写的方法都应当在定义时添加open关键字 然后又回到RandomPresenter mModel.getRandom(type) .observeOn(AndroidSchedulers.mainThread()) .subscribe({ res -> if (!res.error) { mView.onRandom(res.results[0]) } }, {}) mModel接下来几节会说到,我们主要看看这个链式调用,这是一个基本的rx异步操作,通过mModel做网络请求,然后在安卓主线程观察一旦有结果返回就通过subscribe订阅结果处理数据,并且通过mView这个引用对象去回调通知界面做显示等UI操作 欢迎一起交流,有问题加群交流 kotlin实战交流群群二维码.png

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册