Android开发的组件打包成JAR安装包,通过封闭成JAR包,可以重复利用,非常有利于扩展和减少工作重复性。这里为了讲解方便,我用了之前的一个代码框架中核心部分,不了解的可以回头看一下:http://smallwoniu.blog.51cto.com/3911954/1324842

这里需要说明一下,一般,不需要打入jar包的文件有:

1、/src/目录下的activity文件

2、根目录下的文件,.classpath, .project, manifest.xml, .properties, .cfg等

3、/bin/目录下的文件,如:manifest.xml, .dex, .apk, resources.ap_等

4、/bin/res目录

5、/res/drawable 相关的目录

6、/res/layout/ 目录

7、/res/menu/ 目录

 

第一步:删除Activity,右击项目-->导出。

第二部:只勾选src即可。

第三步,点击Finish,桌面上就生成了一个名为Android的Jar包。

 

   下面我们就可以像使用其他JAR文件一样使用我们自己的自定义框架包了。下面给出本代码框架的一个小DEMO介绍如何使用这个JAR包。

 

1.新建文件夹lib,将jar 包放入。

2.关联导入的Android.jar.

3.点击Add JARS ,选择完成即可。

 

使用规则:

1.首先,为了完整使用框架,我们需要将一些辅助类添加进去,不清楚的可以看框架讲解的那篇(http://smallwoniu.blog.51cto.com/3911954/1324842)。

2.程序入口MainActivity:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class MainActivity extends Activity implements IActivity{
                                                                                                                                                                                                                                      
    public Button mBtnLogin; //登陆按钮:测试代码框架是否运行正常
    public TextView mTvLogin;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
                                                                                                                                                                                                                                          
        //1.将要执行任务的Activity,加入到集合中
        MyApplication.allActivity.add(this);
                                                                                                                                                                                                                                          
        this.mBtnLogin = (Button) findViewById(R.id.button1);
        this.mTvLogin = (TextView) findViewById(R.id.textView1);
        mBtnLogin.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //2.产生任务:对应填入参数
                Task task = new Task(TaskID.MANAGER_LOGIN, "框架测试成功!!""---登陆任务----");
                //3.将当前任务加入到写好的线程池中()
                MyApplication.poolManager.addTask(task);
            }
        });
    }
    @Override
    public void init() {
        // TODO Auto-generated method stub
                                                                                                                                                                                                                                          
    }
    @Override
    public void refresh(Object... params) {
        //接收线程处理过后返回的数据
        mTvLogin.setText(params[0].toString());
    }
}

 

   到此,完成了打包的讲解,比较简单,好久没写博客了手有点生疏,希望可以帮助到大家!

 

  本例中所使用的框架Demo 和 最终完整使用的Android.jar的Demo下载地址:http://down.51cto.com/data/1092550

本文出自 “狂奔的蜗牛” 博客,请务必保留此出处http://smallwoniu.blog.51cto.com/3911954/1365339

【移动开发】Android中将我们平时积累的工具类打包的更多相关文章

  1. Android开发之封装log打印日志的工具类,实用logutils详细代码

    public final class LogUtil { /** all Log print on-off */ private final static boolean all = true; /* ...

  2. iOS开发拓展篇—封装音频文件播放工具类

    iOS开发拓展篇—封装音频文件播放工具类 一.简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - ...

  3. Android PermissionUtils:运行时权限工具类及申请权限的正确姿势

    Android PermissionUtils:运行时权限工具类及申请权限的正确姿势 ifadai 关注 2017.06.16 16:22* 字数 318 阅读 3637评论 1喜欢 6 Permis ...

  4. android开发时间和日期的代码实现工具类(一)

    android开发时间和日期工具类的代码实现: package com.gzcivil.utils; import android.annotation.SuppressLint; import an ...

  5. Android开发之使用Handler封装下载图片工具类(源码分享)

    假设每下载一张图片,就得重写一次Http协议,多线程的启动和handler的信息传递就显得太麻烦了,我们直接来封装一个工具类,便于我们以后在开发时随时能够调用. (1)在清单文件加入权限 <us ...

  6. Android开发学习之路-Palette颜色提取工具类使用

    视频(要FQ):https://www.youtube.com/watch?v=5u0dtzXL3PQ Palette是一个在support-v7包中的一个颜色提取工具类,用法比较简单,而且是谷歌官方 ...

  7. 【Android代码片段之六】Toast工具类(实现带图片的Toast消息提示)

    转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/6841266  作者:张燕广 实现的Toast工具类ToastUtil封装 ...

  8. iOS开发 -- 为本地文件添加自定义属性的工具类

    前言:实际开发,我们可能会有这样的需求,就是为文件添加自定义的属性,或者是可以将文件的相关信息添加进该文件的属性中,这样可以以备下次读取利用. 那么本文就是要介绍"拓展文件属性的工具类&qu ...

  9. android的Log日志打印管理工具类(一)

    android的Log日志的打印管理工具类: package com.gzcivil.utils; import android.util.Log; /** * 日志打印管理 * * @author ...

随机推荐

  1. MySQL where

    MySQL where 子句 我们知道从MySQL表中使用SQL SELECT 语句来读取数据. 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中. 语法 以下是SQL ...

  2. [转载]C++中声明与定义的区别

    C++学了这么多年你知道为什么定义类时,类的定义放在.h文件中,而类的实现放在cpp文件中.它们为什么能够关联到一起呢?你知道什么东西可以放在.h文件中,什么不能.什么东西又可以放在cpp文件中.如果 ...

  3. vim插件和配置

    vim插件和配置 插件 pathogen 可以方便地管理vim插件 在没有pathogen的情况下,vim插件的文件全部都放在.vim目录,卸载插件很麻烦,pathogen可以将不同的插件放在一个单独 ...

  4. How to Enable or Disable a cell in DataGridview Row ?

    Following link http://msdn.microsoft.com/en-us/library/ms171619.aspxhttp://windowsclient.net/blogs/f ...

  5. 如何用angularjs制作一个完整的表格之四__自定义ng-model标签的属性使其支持input之外的html元素

    有的时候我们需要为非input类型的元素添加ng-model来实现双向的数据绑定,从而减少冗余代码,那么可以尝试一下的方式 例如:我页面中使用了contenteditable这个属性来实现用户可直接编 ...

  6. weekly review

    鉴于某位昔日工作在我身边的大师一直在写review,所以为了能靠近大师,我也要开始写review了. 无名师曾经说过,想要成为大师的话,要先找到一个大师,然后追随大师,再然后与大师通行,之后成为大师, ...

  7. 防止SQL注入攻击,数据库操作类

    如果不规避,在黑窗口里面输入内容时利用拼接语句可以对数据进行攻击 如:输入Code值 p001' union select * from Info where '1'='1 //这样可以查询到所有数据 ...

  8. Solr4.8.0源码分析(10)之Lucene的索引文件(3)

    Solr4.8.0源码分析(10)之Lucene的索引文件(3) 1. .si文件 .si文件存储了段的元数据,主要涉及SegmentInfoFormat.java和Segmentinfo.java这 ...

  9. 转:zookeeper3.4.5安装笔记

    文章来自于:http://mmicky.blog.163.com/blog/static/150290154201392893623943/   1:解压 官网zookeeper.apache.org ...

  10. KEIL C编译器常见警告与错误信息的解决办法

    对于函数的自变量.局部变量和全局变量声明如果没有指定内存类型,则内存模式将成为内定的内存类型.如果指定了内存类型的变量,则不理会内存模式,完全有所指定的内存类型为主.    SMALL模式:小模式   ...