【移动开发】Android中将我们平时积累的工具类打包
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中将我们平时积累的工具类打包的更多相关文章
- Android开发之封装log打印日志的工具类,实用logutils详细代码
public final class LogUtil { /** all Log print on-off */ private final static boolean all = true; /* ...
- iOS开发拓展篇—封装音频文件播放工具类
iOS开发拓展篇—封装音频文件播放工具类 一.简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - ...
- Android PermissionUtils:运行时权限工具类及申请权限的正确姿势
Android PermissionUtils:运行时权限工具类及申请权限的正确姿势 ifadai 关注 2017.06.16 16:22* 字数 318 阅读 3637评论 1喜欢 6 Permis ...
- android开发时间和日期的代码实现工具类(一)
android开发时间和日期工具类的代码实现: package com.gzcivil.utils; import android.annotation.SuppressLint; import an ...
- Android开发之使用Handler封装下载图片工具类(源码分享)
假设每下载一张图片,就得重写一次Http协议,多线程的启动和handler的信息传递就显得太麻烦了,我们直接来封装一个工具类,便于我们以后在开发时随时能够调用. (1)在清单文件加入权限 <us ...
- Android开发学习之路-Palette颜色提取工具类使用
视频(要FQ):https://www.youtube.com/watch?v=5u0dtzXL3PQ Palette是一个在support-v7包中的一个颜色提取工具类,用法比较简单,而且是谷歌官方 ...
- 【Android代码片段之六】Toast工具类(实现带图片的Toast消息提示)
转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/6841266 作者:张燕广 实现的Toast工具类ToastUtil封装 ...
- iOS开发 -- 为本地文件添加自定义属性的工具类
前言:实际开发,我们可能会有这样的需求,就是为文件添加自定义的属性,或者是可以将文件的相关信息添加进该文件的属性中,这样可以以备下次读取利用. 那么本文就是要介绍"拓展文件属性的工具类&qu ...
- android的Log日志打印管理工具类(一)
android的Log日志的打印管理工具类: package com.gzcivil.utils; import android.util.Log; /** * 日志打印管理 * * @author ...
随机推荐
- Android之声音管理器《AudioManager》的使用以及音量控制
以下为网上下载然后拼接-- Android声音管理AudioManager使用 手机都有声音模式,声音.静音还有震动,甚至震动加声音兼备,这些都是手机的基本功能.在Android手机中,我们同样可以通 ...
- openstack VM可以ping外部网络,但是外部网络ping不通VM
经过无数次的尝试,终于搭建好了完整的Openstack,本来VM可以获取到IP地址,但是等到我大功告成的时候,突然发现外部网络却不能ping进VM,我可是整整折腾了我几个通宵,这是哭啊.然而,皇天不负 ...
- Linux CentOS6.4下Mysql数据库的安装与配置
一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...
- WebAPI下的如何实现参数绑定
本文将概述在WebAPI方式下将如何将参数绑定到一个action方法,包括参数是如何被读取,一系列规则决定特定环境采用的那种绑定方式,文章最后将给出一些实际的例子. Parameter binding ...
- MySQL学习-常用命令整理
Eyes are more eloquent than lips. “眉目传情胜于甜言蜜语” 整理了一下自己遇到并且经常用到的MySQL命令,虽然官方文档上有很详细的解释,不过自己还是在这里记录一下, ...
- jQuery 的ready事件和 JavaScript 的load事件对比
为了理解2个事件的异同,先了解一下HTML文档加载顺序 HTML DOM文档加载步骤 HTML DOM文档加载是按顺序执行的,这与浏览器的渲染方式有关,一般浏览器渲染操作的顺序大致按如下几个步骤 1, ...
- JavaScript设计模式之工厂模式
一.工厂模式概念 工厂模式定义一个用于创建对象的接口,这个接口由子类决定实例化哪一个类.该模式使一个类的实例化延迟到了子类.而子类可以重写接口方法以便创建的时候指定自己的对象类型(抽象工厂). 这个模 ...
- Lang语言包
\languages\zh_cn\admin\common.php里配置后台所有常量
- 柔性数组-读《深度探索C++对象模型》有感 (转载)
最近在看<深度探索C++对象模型>,对于Struct的用法中,发现有一些地方值得我们借鉴的地方,特此和大家分享一下,此间内容包含了网上搜集的一些资料,同时感谢提供这些信息的作者. 原文如下 ...
- HDU1465 第六周L题(错排组合数)
L - 计数,排列 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descrip ...