1

私の Android アプリでは、次のプロパティを<application>AndroidManifest.xmlに追加する必要があります。

<application android:name="de.myapp.My-App.de">

プロジェクトの名前は「My-App.de」です。ここでダッシュとドットを使用するのは良い考えではないことはわかっていますが、変更することはできません。プロダクト オーナーは、このように呼び出すことを望んでいます。

エラー メッセージが表示されるので、ダッシュを "\" 文字でエスケープしただけで、次の名前になりました。

<application android:name="de.myapp.My\-App.de">

これは正しいです?最後のドットもエスケープする必要がありますか?

4

4 に答える 4

2

使ってみませんandroid:labelか?

補足です。クライアントが通常のキーボードの代わりにプルトニウムキーボードを使用するように言った場合、それを受け入れますか?時々(ほとんど毎回)、特にコンピュータサイエンスに来るとき、私たちと同じバックグラウンドを持たないクライアントを排除しなければなりません。何かができない(またはすべきでないなど)場合は、クライアントを説得する必要があります。システムの安全性が低い、または侵害される可能性がある、アプリケーションが不安定になる、クライアントが望んでいることをより理解しやすい方法で実行できるなど、さまざまな理由を説明できます。

少なくとも私の会社では、開発とアドバイスをするために報酬を受け取ってます。クライアントと話をしても、クライアントが何を望んでいるのかを理解し、何ができないのか、何をすべきなのかを確実に理解する傾向があります。代わりは。

編集:

いくつかのリソース:

http://developer.android.com/guide/topics/manifest/application-element.html#nm

Nameは、Applicationサブクラスの完全修飾名です。ご存知かもしれませんが、クラスはダッシュで書かれるべきではありません。Androidの命名規則は世界で最も正確ではないことは誰もが知っているので、このような問題は常に発生します。すでに定義されているデフォルト@string/app_nameにダッシュを追加してみてください。私はAndroidプロジェクトの前にいませんが、それでも機能するはずです。そうでない場合は、文字列をCDATAマークアップで囲んでみてください。

<string name="app_name"><![CDATA[de.myapp.My-App.de]]></string>

これにより、xmlがテキストをエスケープすることを回避できます(これは必要ではないはずですが、誰が知っていますか)。

于 2013-03-19T15:59:01.387 に答える
2

フォルダーのstrings.xml下に、次のres/valuesようにアプリ名を追加できます。

<string name="app_name">de.myapp.My-App.de</string>

次に、あなたAndroidManifest.xmlはそれを参照できます:

<application android:name="@string/app_name">

これにより、アプリ名にダッシュを含めることができます。

于 2013-03-19T15:57:07.447 に答える
0

appnameをstring.xmlに保存し、特殊文字-(ダッシュ)とをエンコードすることをお勧めします。(ドット)ユニコードについては、ここでユニコードを参照できます-> http://jrgraphix.net/research/unicode_blocks.php?block=0

例:.My \ u002DApp \ u002Ede

于 2013-03-19T15:59:23.800 に答える
0
<application android:name="de.myapp.My-App.de"> is not correct.

あなたはただ使う

<application android:name="Package_name.Application_class_name">

パッケージとクラスの名前が必要な場所

于 2013-03-21T06:18:11.547 に答える