2

我创建了一个包名称为 info.dodata.smsforward 的应用程序,eclipse 创建了一个默认文件结构,就像 Old.PNG 一样。
在此处输入图像描述

我觉得\scr文件夹下的文件构建不好,所以我添加了三个包名BLL,DLL,UI,并将不同的类文件放入不同的包名中,就像New.PNG一样。 在此处输入图像描述

我的问题是

A: 我可以在文件夹 \scr. 下添加新包吗?您知道 AndroidManifest.xml 中只有一个 package="info.dodata.smsforward",我不知道一个 Android 应用程序中是否只允许一个包名称。

B: 我的包裹名是不是太短了?我需要在包名 BLL、DAL 和 UI 之前添加我的域吗?短包名(如BLL、DLL)会不会和其他APP冲突?

旧模式Public.java

package info.dodata.smsforward;
public class ModePublic {

    public final static int DBVersion=2;
    public final static String DBName="smsforward.db";  
}

旧的 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="info.dodata.smsforward"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="info.dodata.smsforward.UIMain"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

新模式公共.java

package DAL;
public class ModePublic {   
    public final static int DBVersion=2;
    public final static String DBName="smsforward.db";
}

新的 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="info.dodata.smsforward"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="UI.UIMain"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
4

2 回答 2

2

A.是的,你可以,你喜欢多少包,深度多少就多少。

B.对此没有规定。其他人很难理解你用这么短的名字是什么意思。因此,当与更多人一起工作时,最好有更好的名字。它们不会与其他应用程序冲突,因为它们只存在于您的初始包名称目录中。(显现)

注意:AndroidManifest.xml名称用作应用程序的唯一标识符。并创建生成类的初始文件夹。例如, bin/classes/info/dodata/smsforward/ Java 包本质上只是 src 目录中的文件夹。您使用它们来捆绑您的接口和类。

于 2013-10-24T14:44:06.743 回答
1

是的,我同意@tim

A:您可以在一个包中添加任意数量的子包 - 没有问题 B:

您不能将主包名称添加为 BLL 或 DLL。android需要一个至少有2个标识符的主包名,以便在google play store应用应用程序。

只有主包应该有 2 个标识符,所有其他包名称可以是任何类型。

但是好的 android 编码方法应该有一个主包,如 com.xxx,其他包如 com.xxx.view、com.xxx.activity 等

于 2013-10-24T14:59:32.570 回答