学习入门small框架

开怀一笑

  程序员找不到对象,一般有三种情况:
  1. C#、JAVA都有对象,但是经常找不到对象。
  2.ASM C直接没有对象。
  3.javascript都是伪对象,最多算暧昧。
  但C++日子一直都好过,因为C++是多继承,富二代呀!!!

Small框架搭建

  言归正传,下面我们开始进入Small框架的入门集成吧~~

  1. 准备工作(默认你电脑有android开发环境)

  操作系统:Win7 64位
  开发工具:Android Studio


  2. 创建项目


   2.1 创建 宿主APP 工程

   跟平常创建项目一样,创建一个App项目,这里我们定的包名是com.ht.demo 在项目的build.gradle的dependencies里面加入下面的代码

classpath 'net.wequick.tools.build:gradle-small:1.1.0-alpha2'

   在gradle的最后面加入下面的代码

apply plugin: 'net.wequick.small'

small 
{
    buildToAssets = false
    aarVersion = '1.1.0-alpha2'
    android 
    {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.3"
        supportVersion = "23.4.0"
    }
}


   把项目切换到project目录,点击app右键,新建assets目录(该目录在main下面),到这里宿主app创建完成


   2.1 创建 插件APP 工程

   在宿主app点右键新建 Module,如下图:
这里写图片描述

创建的时候,选择 Phone & Tablet Module,如下图:
这里写图片描述

  Tips:这个地方要注意的是Application/Library name这里填插件名称的时候,前面要加App.如App.main;另外一个要注意的地方Package name在填的时候,一定要宿主app的包名+插件app的名称,如宿主app的包名是com.ht.demo,那么这里填的包名是com.ht.demo.app.main

   到这里,恭喜你,完成了插件APP的创建


   2.2 关联宿主APP工程

   在宿主APP的assets目录下面,新建一个bundle.json文件,如图:
这里写图片描述

   在bundle.json文件里面加入以下内容:

{
    "version": "1.0.0",
    "bundles": 
    [
        {
            "uri": "main",
            "pkg": "com.ht.demo.app.main"
        }
    ]
}

  其中pkg为 插件APP的包名 ,我们在上面有介绍过,uri为插件的名称,这个你自己定义。最后你有多少个插件就在这里按格式加json串,详细可以看demo里面的json


   到这里关联成功了,下面我教大家进行项目编译


   2.3 项目编译(这个很关键)

   编译的地方如图:
这里写图片描述

   依次输入以下命令行:

gradlew buildLib -q

gradlew buildBundle -q

   走完这两步,项目编译成功了


   2.4 运行Small项目(就要可以看到效果了,期待吧~~~哈哈)

   在宿主APP工程里面,新建一个Application类,进行Small初始化,如下:

public class AppContext extends Application
{
    public AppContext()
    {
        Small.preSetUp(this);
    }

    @Override
    public void onCreate()
    {
        super.onCreate();
    }
}

   初始化完成之后,开始进行宿主打开插件的操作,代码如下:

public class MainActivity extends Activity
{
    private Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg)
        {
            super.handleMessage(msg);
            Small.openUri("main",MainActivity.this);
            finish();
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
    }

    @Override
    protected void onStart()
    {
        super.onStart();
        Small.setUp(MainActivity.this, new Small.OnCompleteListener()
        {
            @Override
            public void onComplete()
            {
                handler.sendEmptyMessageDelayed(0,3000);
            }
        });
    }
}

  在MainActivity里的onstart方法里面进行setup,然后打开插件的时候用Small.openUri(xxx,xxx),第一个参数为bundle.json里面你自定义的uri,第二个参数为上下文

   到这里,可以运行项目了,看效果吧~~~

最后项目跑起来之后,在宿主APP里面会生成如下的内容:

这里写图片描述

   每个so文件其实就是一个app

  3. 结束语

  到这里,一个简单的Small框架搭建成功了,还有更多惊喜在后面,大家期待吧~~另外附上demo的下载地址,欢迎大家下载下来学习研究!demo用Small框架搭建了一个Radiobutton+Fragment的大众APP架子!demo里面还有关于插件继承宿主APP里面的类的方法,大家下载下来研究吧!

  demo下载地址: 戳这里

每天努力一点点,未来的你会感恩现在的自己~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值