1

私はチュートリアルをやっていて、画像に関するセクションにいます。それらをフォルダー res/drawable に入れるように指示されています。しかし、私はそのフォルダーを持っていません。代わりにres/drawable-hdpi、 、 r es/drawable-ldpi、およびの 3 つがありres/drawable-mdpiます。それで、それらの違いは何ですか?

このチュートリアルを使用しています。

手順の 1 つは次のとおりです。

res/values/ に strings.xml ファイルを作成し、ファイルを次のように編集します。

strings.xml上記と組み合わせて、 res/drawable を使用するように指示していますが、これらのチュートリアルは古くなっていますか?

このチュートリアルには次のようなコードがあります。

R.id.spinner
R.array.planets_array

R.layout は単なる列挙型です。レイアウト フォルダーの main.xml を使用します。しかし、どこR.idからR.array来たのか。それが何であるかを知らないと言っているからです。R.java自動的に更新されるので、id が R に追加されるチュートリアルを読んで教えてもらえますか? それは言う

R.array.planets_array ID は、上記で定義された string-array を参照します

ただ、うまくいきません。同じ場所に同じファイル名があるため、strings.xml を作成しなかったことに違いがあるとは思えません。しかし、R.java は自動的に更新されるようになっているため、これを修正する方法がわかりません。

4

3 に答える 3

1

R がどこから来たのかを知るためです。

このR.javaファイルは、アプリケーション内のリソースへのある種のポインターを含む生成されたファイルです。Android の内部リソース管理システムでリソースを一意に識別するのは、実際には単純な整数です。

R.string識別子は、たとえば次のようなリソース XML ファイルから生成されます。

<resources>
    <string name="test">This is a test string.</string>
</resources>

R.array文字列配列 XML ファイルからの識別子。

<resources>
    <string-array name="days_of_week">
        <item>Monday</item>
        <item>Tuesday</item>
        <item>Wednesday</item>
        <item>Thursday</item>
        <item>Friday</item>
        <item>Saturday</item>
        <item>Sunday</item>
    </string-array>
</resources>

これで、その識別子を使用してその配列にアクセスできますR.id.days_of_week

R.id識別子は少し特殊です。

それらは 2 つの方法で生成されます。1 つ目は、構文Viewを使用して XML レイアウト ファイルでを定義する場合です。サイン@+id/...に注意してください。+

もう 1 つの方法は、たとえば文字列などのリソース XML ファイルで定義することです。

<resources>
    <item type="id" name="first" />
    <item type="id" name="second" />
</resources>

次に、このようなレイアウト XML ファイルでそれらを使用します@id/first。宣言する前に、それを参照すると、もう記号がない ことに注意してください。+

コードでは、次のように使用しますR.id.first

他にもたくさんのリソースがあります。アプリケーション リソースの記事を参照し、リソース タイプのサブ記事も確認してください。

于 2011-03-22T14:53:29.953 に答える
1

これらは、そこにあるさまざまなデバイスのさまざまな画面解像度用です。Android 開発者サイトで複数の画面のサポートについて読んでください。

于 2011-03-22T14:14:10.777 に答える
0

フォルダがない場合は、作成してください。基本的に、res/drawable-hdpi のようなより具体的なフォルダーにリソースがない場合のフォールバックです。

*-xx フォルダーを使用すると、さまざまな画面解像度に対してより具体的なドローアブル (画像) を提供できます。

同じ原則が values/ および values-xx/ に適用されます。ここで、xx は国コードです。xx バージョンでは、UI メッセージを翻訳できます。

于 2011-03-22T14:16:26.737 に答える