文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何正确的使用SimpleCommand框架

2023-05-30 19:04

关注

这期内容当中小编将会给大家带来有关如何正确的使用SimpleCommand框架,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

使用场景:

此框架并不适合于短时间内有大量请求的场景,比较适合于并发执行4~6个异步请求

工程目录介绍:

在SimpleCommand整个工程目录下,有三个比较重要的module:app、sample、simplecommand

simplecommand:

这个是最重要的一个依赖module,所有核心功能都是在此module种完成的。主要包括以下几个核心类:

Command:这个类是所有Command执行者的父类。其中包含3个主要的核心方法:
start–此方法会启动CommandService服务,并在子线程中执行耗时操作
execute–在CommandService中回调到的方法,一般将耗时操作放在此方法中执行
notifuListeners–通知所有的ResultListener

app:

在app module里主要是做演示功能。通过module dependency依赖到了simplecommand module。然后自定义NetworkCommand实现请求网络数据并显示到UI界面

sample:

是一个比较完整的案例演示module。通过添加simplecommand.aar包实现网络请求功能。具体的使用方法请继续往下看!

使用步骤:以下步骤是以网络请求功能作为演示Demo

1 在新建的app module中新建libs文件夹,并将sample的libs中的simplecommand.aar拷贝到此libs文件夹下

2 在你自己新建的app module的build.gragle中的android块中添加如下语句:

repositories { flatDir {  dir 'libs' //注意:需要提前在app module中创建出libs文件夹 }}

3 在app module的build.gradle的dependencies中添加如下依赖:

compile 'com.squareup.okhttp3:okhttp:3.3.1'compile 'com.jakewharton.picasso:picasso2-okhttp3-downloader:1.1.0'compile (name: 'simplecommand', ext: 'aar')

4 新建HumourCommand(类名可以自己根据业务随便取), 并集成NetworkCommand类,具体代码如下:

package com.danny_mcoy.commandlibdemo;import android.content.Context;import android.net.Uri;import android.os.Parcel;import com.danny_mcoy.simplecommad.cmd.network.NetworkCommand;import com.danny_mcoy.simplecommad.log.Logger;import com.squareup.okhttp.Request;public class HumourCommand extends NetworkCommand { @Override protected String buildUrl(Context context) {  Uri.Builder builder = Uri.parse("http://api.laifudao.com")    .buildUpon();  builder.appendEncodedPath("open/xiaohua.json");  Logger.e("JIANG", "url is " + builder.toString());  return builder.toString(); } @Override protected Request getRequest(String url) {  return new Request.Builder()    .url(url)    .build(); } public static final Creator<HumourCommand> CREATOR = new Creator<HumourCommand>() {  @Override  public HumourCommand createFromParcel(Parcel source) {   return new HumourCommand();  }  @Override  public HumourCommand[] newArray(int size) {   return new HumourCommand[size];  } };}

5 HumourCommand创建好之后, 就可以在MainActivity中使用了,通过实现一个Button的点击事件btnClick开始 :

package com.danny_mcoy.commandlibdemo;import android.os.Handler;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.TextView;import com.danny_mcoy.simplecommad.extra.Params;import com.danny_mcoy.simplecommad.log.Logger;import com.danny_mcoy.simplecommad.receiver.AppResultReceiver;public class MainActivity extends AppCompatActivity implements AppResultReceiver.ResultListener { private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = ((TextView) findViewById(R.id.text_Main)); } public void btnClick(View view) { HumourCommand apiCommand = new HumourCommand(); AppResultReceiver receiver = new AppResultReceiver(new Handler(), this); apiCommand.start(this, receiver); } @Override public void onResultSuccess(Bundle resultData) { if (null != resultData) {  String body = resultData.getString(Params.CommandMessage.EXTRA_BODY);  Logger.e("JIANG", " body is " + body);  textView.setText(body); } } @Override public void onResultFailed(Bundle resultData) { Logger.e("JIANG", " failed"); } @Override public void onResultProgress(Bundle resultData) { Logger.e("JIANG", " progress"); }}

上述就是小编为大家分享的如何正确的使用SimpleCommand框架了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯