2013-10-24 3 views
2

Создаю приложение с именем пакета info.dodata.smsforward и eclipse создаем конструкцию по умолчанию, как и Old.PNG.
enter image description hereМожно ли добавить новый пакет под папку scr в Android?

Я думаю, что строительство файл в папке \ ЮКЖД не хорошо, так что я добавить три пакета имя BLL, DLL, пользовательский интерфейс и поместить различные классы файл в другое имя пакета так же, как new.png. enter image description here

Мой вопрос являются

A: Могу ли я добавить новый пакет в папке \ ЮКЖД. Вы знаете, что в AndroidManifest.xml есть только один пакет = «info.dodata.smsforward», я не знаю, разрешено ли только одно имя пакета в одном приложении для Android.

B: Являются ли мои пакеты слишком короткими? Нужно ли добавлять домен до имени пакета BLL, DAL и UI. Будет ли короткое имя пакета (например, BLL, DLL) конфликтует с другим APP?

Старый ModePublic.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> 

Новый ModePublic.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> 
+0

да, вы можете иметь пакеты 'info.dodata.smsforward' было ваше имя пакета вы поместите ваши .java файлы в другом пакете, как' info.dodata.smsforward.model info.dodata.smsforward.view info.dodata.smsforward.controller' – Raghunandan

ответ

2

A. Да, вы можете, как и многие пакеты вы вроде как глубоко, как вам нравится.

B. На этот вопрос нет правил. Другим людям трудно понять, что вы имеете в виду с такими короткими именами. Поэтому, работая с большим количеством людей, вероятно, лучше иметь более приятные имена. Они не будут конфликтовать с другими приложениями, потому что они существуют только в вашем исходном каталоге имен пакетов. (манифест)

Примечание: Имя пакета AndroidManifest.xml служит уникальным идентификатором приложения. И создайте исходные папки, в которых сгенерированы классы. Например, bin/classes/info/dodata/smsforward/ Пакеты Java по существу являются просто папками в каталоге src. Вы используете их для объединения ваших интерфейсов и классов.

+0

Спасибо! Означает ли это, что имена пакетов в AndroidManifest.xml должны быть уникальными? и имена пакетов в файлах классов под папкой \ src могут быть такими же? –

+0

Да, но в вашем манифесте есть только 1 имя пакета. Это ваш идентификатор приложения. Например: com.companyname.appname, он часто выглядит как обратное доменное имя app.company.com. – Timmetje

1

Да я согласен с @ Тим

A: Вы можете добавить любое количество вспомогательных пакетов в пакете - нет проблем B:

Вы не можете добавить название основной пакет в УСК или DLL. Андроид должен иметь основное имя пакета с минимум двумя идентификаторами, чтобы применить приложение в магазине воспроизведения Google.

Только основной пакет должен быть с 2 идентификаторами, все остальные имена пакетов могут быть любого типа.

Но хороший подход к кодированию в Android должен иметь основной пакет, так как com.xxx и другие пакеты будут похожи на com.xxx.view, com.xxx.деятельности и т.д.

+0

Несомненно, BLL не может использоваться в качестве основного имени пакета. Но это был не вопрос. Он спрашивает, нужно ли ему использовать пакет приложения в качестве префикса для других. Нет. Если он может использовать DLL в качестве основного приложения. Он * может * использовать shortnamed, упакованный без идентификатора приложения в качестве префикса. – Timmetje

Смежные вопросы