`
abc20899
  • 浏览: 910986 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

创建和使用Android library工程

阅读更多





创建library供多个工程共享代码、资源是非常常见的需求,网上这种资料非常少,基本上都是讲创建java工程,然后export,这种方式缺点非常多,大家可以自己google一下。
本文着重介绍如何创建Android library,并且在工程中使用此library提供的资源,具体步骤如下:
1. 创建一个Android工程,命名为MyLib
2. 进入工程设置选中Is Library

3. 创建另一个Android工程,命名为MyProj
4. 进入工程设置,添加MyLib

5. 在MyProj的AndroidManifest.xml中加入对library中activity的引用
<activity android:name="net.devdiv.mylib.MyLib" />
6. 由于编译后library中的资源和引用它的project资源是合并在一起的,为了避免重名问题,需要对library中资源进行重命名
1). 把main.xml改为mylib.xml,同时修改MyLib.java代码setContentView(R.layout.mylib);
2). strings.xml修改为 <?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="mylibhello">String fetched from lib!</string>

<string name="mylib_app_name">MyLib</string>

</resources>

7. 在MyProj中引用MyLib的资源

package net.devdiv.myproj;



import android.app.Activity;

import android.os.Bundle;

import android.widget.TextView;

import net.devdiv.mylib.*;

import android.content.Intent;



public class MyProj extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

TextView tv = (TextView)findViewById(R.id.myprojtext);

tv.setText(R.string.mylibhello);



Intent it = new Intent(this, MyLib.class);

startActivity(it);

}

}
分享到:
评论

相关推荐

    Awesome-Third-Library-Source-Analysis.zip

    Awesome-Third-Library-Source-Analysis.zip,众所周知,优秀源码的阅读与理解是最能提升自身功力的途径,如果想要成为一名优秀的Android工程师,那么Android优秀三方库源码的分析和理解则是必备技能。因此,为了将...

    Lua 学习教程 Android与Lua相互调用

    在Android项目中使用Lua,需要两个...1.获取LuaJava 工程,引入到你的Eclipse中,并将其设为Library工程 2.将Lua解析器相关的C代码和 LuaJava的C代码打包成so文件 3.创建你demo工程,并引入LuaJava工程 a.布局文件:

    Android v7 appcompat library

    这个就是v7的兼容包,由于使用eclipse时创建工程会发现主题报错,必须手动导入这个兼容包,所有上传这个资源。有需要的可以下载

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    SeetaFace2在Android上的使用:工程创建

    原GitHub https://github.com/seetafaceengine/SeetaFace2 这一项是需要自行编译的,... ...资源下载 ... 分别下载 headers、libraries 和 models 环境配置 在项目中新建一个Library,名称随意,但是包名必须为 com.seeta.sdk

    k9mail源码

    2.选择下载的文件解压后的文件夹下的plugins文件夹下面的那些工程(一共有4个,你可以一个一个选择,创建好后把名字改一下) 3.右键创建好后的项目,点击android选项把Is Library复选框勾选上,那四个项目都这样勾选...

    xmljava系统源码-DeskClock:系统源码DeskClock7.1在AndroidStudio上编译

    查看.mk文件发现依赖datetimepicker工程库,在AS工程中创建一个Module,module类型为AndroidLibrary,同理把对应的源码复制到该module中.效果图如下: datetimepicker源码路径:/repo/frameworks/opt/datetimepicker/ 2....

    OkNetutils:android常用网络请求

    本项目是在鸿洋前辈的okhttp-utils项目的基础上,根据自己的开发经验精简出两个常用的post网络请求的方法主要为自己使用方便,同时尝试一下如何创建自己的library库,okhttp-utils的所有方法仍然可以继续使用 ...

    VdiskSDK-Android:微盘Android客户端SDK

    确保设置VDiskSdk为VDiskSdk_Example的依赖工程(Library); 进入工程VDiskSdk_Example/com.vdisk.android.example.OAuthActivity,根据应用信息修改常量CONSUMER_KEY(App Key),CONSUMER_SECRET(Ap

    xmljava系统源码-Face_Detection:AndroidStudio(AS)导入OpenCV的face-detection(人脸识

    并创建新工程 ##从 Android 视图转为 Project 视图 ##添加 NDK 支持 File -&gt; Project Structure... ##导入 lib 模块 File -&gt; New -&gt; Import Module... ###非正常情况 ####target 未找到 #####Question Error:Failed ...

    高焕堂<应用框架原理与程序设计>源代码(Eclipse)

    Windows下编译.so文件步骤(这里我使用NDK(android-ndk-1.6_r1)加Cygwin 在windows下编译,如果没有请安装, 注:android-ndk-1.6_r1只支持android 1.6或更早版本,所以这里必须将你的android工程的Target设为1.6): ...

    新浪微博分享(分享的图片是根据一个listView做的截图)

    1.预先导入com_weibo_android做为引用库...2.右键MyWeiboDemo-&gt;Properties-&gt;Android-&gt;library:add(界面右下方)-选择com_weibo_android工程 3.运行 提示:项目默认sdcard目录下已经存在Pictures目录,若没有,请自行创建

    CordovaPluginsDome:Cordova插件圆顶

    Cordova 会创建一个带CordovaLib (Library项目) 的 Android 项目,这个就是Cordova的库 文件,插件的开发基于这个Library 2将项目导入eclispe 得到两个工程,展开工程目录如下: 其中,第一个工程MainActivity-...

    CircularBarPager-可实现多个进度同时进行或按步进行的进度条.zip

    如何使用xml中创建CircularBarPager实例&lt;com.github.OrangeGangsters.circularbarpager.library.CircularBarPager  android:id="@ id/circularBarPager"  android:layout_height="match_parent"  android:...

    Android Studio打包jar及aar包的方法

    创建工程 New -&gt; Module -&gt; Library 在gradle文件头添加 apply plugin: ‘com.android.library’ 打包模块 在库工程的 build.gradle 中最下方加入如下配置示例: // 删除已存在的 Jar 包 task deleteOldJar(type...

    rn-template:2021 新版 react native 模板工程

    集成了 github action 进行 android 的打包并生成apk产物文件和上传至 ToDo github action更改为 fastlane 打包签名上传 cli工具自动创建初始化项目 技术栈 原生依赖 @react-native-community/blur @react-native-...

    JNI之Hello-JNI进阶

    3. 在根目录下创建 jni 目录(mkdir jni). 4. 利用命令生成相应的头文件,在根目录下执行:javah -classpath bin/classes -d jni com.xxx.hello.HelloJni ————————————— ——————— ^ ^ 包名 ...

    JAVA上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    JAVA上百实例源码以及开源项目源代码

    FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上...

Global site tag (gtag.js) - Google Analytics