Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android项目本地手动创建库_Android_Global - Fatal编程技术网

Android项目本地手动创建库

Android项目本地手动创建库,android,global,Android,Global,我不确定我做的是对的。我怀疑的主要原因是,在这个或其他论坛上,我找不到做过类似事情的人 我在我的项目中创建了一个抽象java类。把它命名为lib。我在这里列出了项目中所有其他类使用的几种结构和方法 它对我来说很有用,但我想知道是否有一种更被接受的方法来收集所有常用的方法和结构 注意:当然,所有方法都声明为publicstatic 注二:我不知道如何在抽象类中获取上下文,因此如果需要,我必须将其作为参数传递给该方法。这是您要查找的内容吗 public abstract class Abstract

我不确定我做的是对的。我怀疑的主要原因是,在这个或其他论坛上,我找不到做过类似事情的人

我在我的项目中创建了一个抽象java类。把它命名为lib。我在这里列出了项目中所有其他类使用的几种结构和方法

它对我来说很有用,但我想知道是否有一种更被接受的方法来收集所有常用的方法和结构

注意:当然,所有方法都声明为publicstatic


注二:我不知道如何在抽象类中获取上下文,因此如果需要,我必须将其作为参数传递给该方法。

这是您要查找的内容吗

public abstract class AbstractActivity extends Activity{

    public static synchronized boolean showAlertBox(Context ctx,final String title,final String message,final String okBtnTxt,final OnClickListener clickListener){

    AlertDialog.Builder alertbox; alertbox = new AlertDialog.Builder(ctx);
     this.runOnUiThread(new Runnable() {

        @Override
        public void run() { 


        alertbox.setTitle(title);
        alertbox.setMessage(message);
        if(okBtnTxt!=null || clickListener!=null)
          alertbox.setNeutralButton(okBtnTxt,clickListener);
        alertbox.show(); 
             .....

     }
     });

     return true;
    }
 }
在扩展这个抽象类的类中,您可以使用showAlertBoxthis调用它;
其他明智的做法是使用AbstractActivity.showAlertBoxContext

好吧,多亏@Matt Wolfe的评论,我才知道我所做的被称为实用类,它被广泛用于在项目中共享公共代码。 通用模板为:

公共抽象类库{ 公共静态最终整数0=0; 公共静态最终整数=1; 公共静态最终int 2=2; 公共静态无效函数1{ } 公共静态void funct2int i,字符串s{ } } 您可以从任何其他代码中这样使用它:

...;
lib.func1( lib.ZERO );
lib func2( lib.TWO, "sandwich" );
...;
知道这一点让我相信我所做的一切都是正确的


找到一种避免前缀lib的方法将是完美的。只需让ECLIPSE和编译器找到正确的导入并识别只包含其名称的函数,就像它们对全局库所做的那样。

不,不,不。你误解了我的意思。我不是问如何调用AlertDialog。该警报只是我在lib中输入内容的一个示例。我问的是,我实现了这个本地lib,它工作得很好,但以前似乎没有人使用过这种技术。由于我不想重新发明轮子,我想知道全局方法通常是如何处理的。我编辑了原始问题并删除了警报示例,以避免误解。我感到困惑,你想在这里实现什么?在公共库中集中可重用代码?是的,就是这样。我不需要所有项目都使用公共库,只需要一个项目使用公共库。我认为您需要更清楚地定义这个库的用途。重用代码没有单一的策略,有数百种。实用程序类可以提供帮助,使用设计模式和良好的编码原则将有所帮助。你的问题太笼统了,不能给出一个好的答案。@Matt Wolfe,我想你不情愿地给了我我想要的答案。我不知道我所做的被称为实用类,在你提到它之后,我搜索了它。瞧!!很多人都在使用它,所以我现在更有信心我做出了正确的选择。我认为你没有抓住抽象类的要点。抽象意味着类应该但不必包含抽象方法。它的工作原理是抽象类将某些方法声明为抽象的,并且通常会声明和定义其他方法。这里可以使用多态性的概念,您可以从该类中调用抽象方法。。还要记住,类名应该以大写字母开头。此外,我还建议根据实用程序类执行的一些常见功能对它们进行分组。。您永远不能直接创建它们的实例,您必须提供一个具体的实现并实例化它。我想不出有什么理由把实用程序类抽象化,因为实用程序类只是一个psuedo类,实际上它有很多函数。。。你根本不需要实例化它们,通常你只需要调用函数。关于抽象类的用户,你可能是对的,我的意思是说抽象类不需要实例化。我应该把这些方法定下来。名称库没有构成问题,它编译正常,我没有收到任何错误或警告。如果从我之前的评论中不清楚,我发布的代码不仅仅是一个示例,它工作正常,我使用它很好。嗨,马特,不要光顾我。我拥有计算机工程学士学位,主修高级编程和超大规模集成电路。我知道什么是命名约定。在这种情况下,我不需要遵循它们,因为它只是我眼睛的代码。如果您想提供帮助,请告诉我如何在不必创建实用程序类的情况下调用本地实用程序函数,以便调用不需要我现在使用的“lib.”前缀。无论如何,我非常感谢你迄今为止的帮助。谢谢