Android向けのプログラミングを行っていたときに、リソース(同じ魔法のR)で作業するときの生活を少し改善するいくつかのルールを自分で作成しました。
リソースの名前はその本質を表示する必要があります(最も明白なルール)
例えば
< string name ="set_as_wallpaper" > As wallpaper </ string >
* This source code was highlighted with Source Code Highlighter .
自動的に生成された識別子の名前を変更するのを怠らないでください。これらの識別子は、ほとんど意味のない名前で残りの識別子のみを散らかすためです。
リソース名は、メインの論理領域で始まる必要があります
- これがメニューのタイトルのタイトルである場合、メニューで始まる必要があります
- これがダイアログのタイトルのタイトルである場合、ダイアログで始まる必要があります
- トーストの場合、トーストで始まります
- 文字列がクラスの一部に関連付けられている場合、名前がこのクラスの名前で始まるようにします
文字列または識別子が特定のコンテキスト(たとえば、アクティビティ)を厳密に参照している場合、このコンテキストの名前は論理名に従う必要があります
例えば
- menu_ main _send(メニュー項目はアクティビティMainにあります)
- toast_ add_image _success(トーストはアクティビティAddImage用)
名前は、それらが配置されているファイルの名前で始まる必要があります
ほとんどの場合、これはレイアウトの識別子に適用されます。 これは、フレームワークがすべての識別子を1つのヒープにダンプするという事実のために行われるべきであり、これが行われない場合、識別子が「物理的に」配置されている場所を把握することが難しくなります。
名前はレベルを通過する必要があります
つまり メイン論理レベル、ファイル名、要素、回線記述
- dialog_main_button_search(これは主にDialogに適用されます。ActivityMainにあります。これはボタン用です。これは碑文検索です)
- toast_error_while_loading_roller_image(これは主にToastのテキストです。これはエラーです。説明
合計
このアプローチの主な利点は、Eclipseのオートコンプリートを介した迅速な検索です。 たとえば、コードでメニューを定義し、特定のアイテムの特定のタイトルを検索するには、R.string.menu_と入力するだけで、すべての可能な名前がすぐに表示されます。 アクティビティ内のビュー検索についても同じことが言えます。R.id.my_activity_nameと入力するだけで、すべてが既にフルビューになっています。 また、このアプローチを使用すると、リソースが宣言されている場所を見つけるのがはるかに簡単になります。
コードに文字列定数がある場合は、Alt + Shift + Aを押すだけでいつでも簡単にそれらをXMLファイルに転送できることを忘れないでください。