Android学习笔记_01 - Android中以Jar文件形式来封装类库

Android学习笔记_01 -  Android中以Jar文件形式来封装类库

 

在开发过程中经常需要将一些代码封装后交付使用,尤其是一些公用函数类,可以给自己或他人复用,而不用过多关心模块里的代码实现。在Android中也可以实现此类需求,经过多方参考资料和测试,实现了通过下面的方式进行封装。注:测试环境见《前言》。

测试项目要求:只是为了展示封装步骤和注意事项,所以项目的功能做得足够简单。就是在Jar里封装一个“加法计算”的函数,在另外的调用工程里通过调用该函数实现加法。

 

1、 JAR文件的生成。

1.1、       创建工程


点击菜单:File – New – Android ApplicationProject。弹出下图的画面:

 

建立应用程序和工程名:ClassInJar ---- 表示该工程是封装类库的工程;

此处包名为:test.classinjia;

SDK:2.3.3;

点击下一步

 

按上图红色框子里进行勾选设置。继续点击下一步:一直按Next直到出现Finish,不用改变其它配置,成功建立工程,在Package Explorer里如下图所示:

 

1.2、       删除res目录下资源文件的内容,如下图所示

 

1.3、       删除AndroidManifest.xml中的无用内容,删除后如下图:

 

 

1.4、       建立功能实现的Java文件

在src文件夹点击鼠标右键菜单 – new – class,建立一个类,出现下图界面:

注意上图中红框内的输入,第一个是包名,和ClassInJar.Manifest.xml文件里的包名一致,见下图:

点击Finish按钮后,会在src目录下生产包“test.classinjar”和Java文件“MyClass.java”:


编辑MyClass.java文件,代码如下:

package test.classinjar;

 

public classMyClass {

 

    public MyClass() {

        // TODO Auto-generated constructor stub

    }

   

    public int MyPlus(inta,intb){

        return a+b;

    }

 

}

 

MyPlus函数就是MyClass类里的一个公共函数,功能就是返回两个整数a、b的和。

 

   

1.5、       生产Jar文件


在工程名“ClassInJar”右键点击菜单:Export。弹出窗体如下图:

 

选择上图中红框里的选项,点击Next按钮


上图中,上方红框里的选择钮都清空,下方红框里指定输出文件名。点击“Finish”按钮。成功生产ClassInJar.jar文件。如下图:

 

2、 Jar文件的使用

2.1、建立使用Jar文件的示例工程

点击菜单:File – New – Android ApplicationProject。弹出下图的画面:


建立应用程序和工程名:UseTheJar ---- 表示该工程是调用类库Jar文件的工程;

此处包名为:test.usethejia;

SDK:2.3.3;

一直按Next直到出现Finish,不用改变其它配置,成功建立工程,在Package Explorer里如下图所示:


2.2、引用Jar文件


在PackageExplorer 视图里的UseTheJar项目目录上右键弹出菜单:Build Path--- Configure Build Path…;


选择Libraries页,点击“Add External JARs…”按钮


选择前面生成的Jar文件,本示例中文件路径为:D:\MobileApp\WorkSpace\ClassInJar\ClassInJar.jar。点击“打开按钮”:

如上图红色框所示,指定的Jar文件已经成功加入。

 

选择Order and Export页:


注意选中上图中红框子里的CheckBox选项。点击OK按钮。

Jar文件导入成功,如下图所示:

 

2.3、修改res目录 ---- layout目录 ----- “activity_main.xml”文件,内容如下:

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/LinearLayout1"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".MainActivity">

 

   <TextView

        android:id="@+id/msgTextView"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/hello_world"/>

 

   <Button

        android:id="@+id/button1"

        android:layout_width=" fill_parent "

        android:layout_height="wrap_content"

        android:text="A + B = ?"

        android:onClick="Button1Click"/>

 

</LinearLayout>

 

2.4、编写“MainActivity.java”文件代码,如下:

package test.usethejar;

 

import test.classinjar.MyClass;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.widget.TextView;

 

public classMainActivity extends Activity {

 

    @Override

    protected void onCreate(BundlesavedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }

 

    @Override

    public booleanonCreateOptionsMenu(Menu menu) {

        // Inflate themenu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }

   

    public void Button1Click(View v){

        TextViewmsgTextView = (TextView)findViewById(R.id.msgTextView);

        MyClassmyClass = newMyClass();

        msgTextView.setText(myClass.MyPlus(1,2)+””);

    }

 

}

 

2.5、在模拟器上运行程序

初始加载如下图所示:


点击按钮后,结果如下图所示,


说明在UserTheJar这个工程里,MainActivity.java调用ClassInJar里的类MyClass里的函数MyPlus成功,完成了1+2=3的运算。

 

调试成功。完成了Jar文件对类库的封装试验。

 

示例源码: android学习笔记_01 - Android中以Jar文件形式来封装类库.rar



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值