如何调用另一个包中的Application

在项目中要集成Xabber,将它作为一个Lib,

。。。。。

Xabber 原有代码

/**
* Base entry point.
*
* @author alexander.ivanov

*/
public class Application extends android.app.Application {

Xabber 中 AndroidManifest.xml

<application
      
android:debuggable="true"
      
android:label="@string/application_name"

       android:icon="@drawable/ic_launcher"

      
android:name="com.xabber.android.data.Application"

把 android:name="com.xabber.android.data.Application"
放到我的项目中配置节点中,但程序一直就报错,提示Application为空,心道 艹。

无奈之下。

在我的项目中做了

package 我的项目中;

import android.content.res.Configuration;
import android.util.Log;

import com.xabber.android.data.Application;

public class ApplicationWapper extends Application {

    public ApplicationWapper() {

        Log.i("startup", "开始进入");

}

android:name="我的项目.ApplicationWapper

再次启动,好了。

有一种可能,先在我的项目包中查找这个Application的扩展,如果没有找到,人家就不理了,就使用默认的了。但是如果我写一个新类,强制引用Xabber中的Application
它就不得不去载了。

由于接触Android没几天,上面也只是猜测。

而且还有一个,Dex 中对于外部引用的Jar是如何存放呢? 难道是原样打包进去?先留个问号。

如果都是原样打包的方法那就可以理解了,对于Application这种自启动类的,对于移动设备要求启动快,且处理能力有限,所以只从主Jar中查找。除非显式的如我这样来指定??????????????

有了上面这个想法,放在口边的脏话就骂了。

时间: 2024-10-14 10:57:12

如何调用另一个包中的Application的相关文章

C语言学习_C如何在一个文件里调用另一个源文件中的函数

问题 C如何在一个文件里调用另一个源文件中的函数,如题. 解决办法 当程序大了代码多了之后,想模块化开发,不同文件中存一点,是很好的解决办法,那我们如何做才能让各个文件中的代码协同工作呢?我们知道,main函数是程序入口,我们希望把不同的功能写在不同的函数中,并把这些函数统一放到另外一个文件里,以便main函数显得太长,main函数可以在用到某方法的时候调用来处理.为了实现这个步骤,我们这样做.首先定义一个c代码的头文件,如function.h,在里面声明将要实现的函数,如int add(int

python 一个包中的文件调用另外一个包文件 实例

python不同文件夹中模块的引用调用顺序,被调用的模块中①有类的 模块.类().方法()   ②无类的:模块.方法() test包中testIm.py 调用 test1包中testIm1.py中的方法craw1()方法,输出结果: testIm.py # coding:utf-8# testIm.py位于test包中,要调用test1包中的testIm1.py中的方法craw1()方法 import sys sys.path.append('C:\\pythonwork\\test1') #加

android开发中一个activity如何调用另一个xml中的控件

有时候,我们需要在一个Activity中调用另一个xml布局文件,即非本Activity所绑定的xml布局文件中的控件,这时候就不能直接findViewById,不然会报错指向空对象,这时就需要像下面这样做. LayoutInflater factory = LayoutInflater.from(当前类.this); View layout = factory.inflate(R.layout.你要获取的另一个XML, null); TextView textview = (TextView)

Android--------从一个包中的Avtivity创建另外另外一个包的Context

Android中有Context的概念,想必大家都知道.Context可以做很多事情,打开activity.发送广播.打开本包下文件夹和数据库.获取classLoader.获取资源等等.如果我们得到了一个包的Context对象,那我们基本上可以做这个包自己能做的大部分事情. 那我们能得到吗?很高兴的告诉你,能!      Context有个createPackageContext方法,可以创建另外一个包的上下文,这个实例不同于它本身的Context实例,但是功能是一样的. 这个方法有两个参数:1

mssql 存储过程调用另一个存储过程中的结果的方法分享

摘要:下文将分享"一个存储过程"中如何调用"另一个存储过程的返回结果",并应用到自身的运算中 在实际开发中,我们经常会遇到在一个存储过程中调用另一个存储过程的返回结果(存储过程相互应用), 实现思路:主要采用临时表将存储过程返回的结果集进行存储,然后供另一个存储过程应用.如下所示: create proc pr_b @a int,@b int as begin select @a as a @b as b union all select @a+1 as a @b+

bug日记之---------js中调用另一个js中的有ajax的方法, 返回值为undefind

今天做一个OCR授权的需求, 需要开发一个OCR弹框, 让用户选择是否授权给第三方识别公司(旷世科技)保存和识别用户个人信息, 照片等. 其中用到了在一个js的方法中调用另外一个js的方法, 其中有一点特别的是另外一个js的方法中会进行一个ajax, 会根据ajax返回的结果来进行返回true或者false. 在测试的过程中我发现不管怎么弄, 最后返回的都是undefind. 下面来模拟一下这个场景 上面这个例子中,flag一直都是undefind,ajax已经是同步的情况下依旧返回undefi

java 如何调用另外一个包的代码

1.新建java project,新建一个包,如baseTest,在该包下新建类,代码如下: package baseTest; import java.awt.*;import java.awt.geom.*;import javax.swing.*; public class DrawLineFrame {public static void main (String [] args){ JFrame window = new DrawFrame(); window.setTitle("绘制

CI框架中一个类中调用另一个类中已经加载对象测试

controller.php 1 <?php 2 class CI_Controller { 3 4 private static $instance; 5 6 public function __construct() 7 { 8 self::$instance =& $this; 9 10 foreach (is_loaded() as $var => $class) 11 { 12 $this->$var =& load_class($class); 13 $obj

调用另一个工程中内容提供者的步骤

1. 获取内容解析器 ContentResolver resolver = this.getContentResolver(); 2. 指定URI Uri uri = Uri.parse("content://tian.wang.gai.di.hu/bao.ta.zhen.he.yao"); 3. 操作银行数据库 ContentValues values = new ContentValues(); values.put("name", "张三"