カテゴリー: eclipse

eclipseでtab( > ←こいつ)を非表示にする(´・ω・`)

なんとなくテーマを変えて背景を黒っぽいのにしようと思い立つ(`・ω・´)

変更する → tab(>)の表示にイラッと来る(#^ω^) → ぐぐる →
ヒットしたことを試す → なぜか消えない → むっきーヽ(`Д´)ノ

試したことは
「設定」ダイアログの[Java]-[コード・スタイル]-[フォーマッタ]-<編集>ボタン →
「~プロパティ」ダイアログの「インデント」タブの「一般設定」セクションの「タブ/ポリシー」を
“タブのみ”にして<適用>
みたいな操作手順。

でもうちのeclipseでは>が消えないヽ(`Д´)ノ


色々と設定を眺めた結果、[一般]-[JStyle]の「タブ」のチェックを外せば良いみたい。
JStyle

tab-display
     ↓
tab-nodisplay


なんでうちのeclipseでは消えなかったのか不明だが、何はともあれ良かった良かった(・∀・)

お・ぼ・え・が・き (´-人-`)


ブックマークしといて余りにも放置しすぎてしまい、実際には何に利用したか
忘れたページがちらほら(ノ∀`) もしかしたらブックマークしただけのページも
あるかもw


多分、admobを座標指定しようとしている時に参考にしたページ?
setMargins()?
AndroidのFrameLayoutに座標を指定してViewを配置する場合の注意点

admobを動的に扱おうとして参考にしたページ群…だと思う…
FrameLayout ウィジェットを重ね合わせて配置する。
Viewのサイズを動的に変更するには
ImageViewへのLayoutParams設定でハマった
Admob in android. How to make it appear and disappear – Stack Overflow

多分admobの高さ50dpを考慮するためにぐぐった…?まだ実装してない。
Android dip, dp, から pt, px に変換する


なんか期待通りの半透明にならないと思ったら、setColor()後に
setAlpha()しなきゃいけなかったらしい(ノ∀`)
setColorとsetAlphaで半透過描画した時の落とし穴

FROYO切り捨てや何やらでぐぐった…?
Android ビルドバージョンで処理を分岐する


android – When is surfaceChanged activated? – Stack Overflow
ソースを眺めていてsurfaceChanged()っていつ使用されるんだと思ってぐぐったんだったかな。

In case of screen rotation from vertical to horizontal, the size of the viewport may change, so you should reset your viewport and projection matrices.

他にも使用する時はあるんだろうけれどもここでは画面回転時にGLsurfaceviewで
ビューポートのサイズが変更されたりするからビューポートやプロジェクションを
リセットすべきと言っているような…


eclipseをlunaにした時に設定のエクスポート・インポートした。
Eclipseの設定を別の環境に移行するには?
こちらの方が更に詳しい。
Eclipseバージョンアップ時の移行方法のメモ

お・ぼ・え・が・き (´-人-`)


SurfaceViewへの描画サンプル

画像ではない直接描画
Androidプログラミングの館修正すべき箇所

Canvas#drawBitmapでのBitmapの静的描画。drawableリソースの読み込み。
SurfaceViewで高速描画する(1)
Threadを利用したBitmapの動的描画。
SurfaceViewで高速描画する(2) 処理落ちを考慮したタイマ処理

Viewへの描画だが、予備知識として。
グラフィックス(1)-Viewクラスへの描画

onTouchEventとの併用
グラフィックス(2)-SurfaceViewによる描画

クラスやインターフェイスが分かれているので、ちょっと面倒くさいかも。
Androidの勉強ページ

BallInof.java→BallInfo.java

SampleCanvasThread.javaで以下を追加。他にもなんか修正した…かも?

ArrayList<BallInfo> ballList = null;
public float screenWidth;
public float screenHeight;
public SurfaceHolder holder;

eclipseのウィザード関連

まだ完全ではないが概ね理解した …

ような気がするが目的まではまだだから取り敢えず覚書…
頭の中、パンッパンッやで…(ヽ’ω`)


ViewPluginが存在しなくてエラー。画像を返せば良いようだが、取り敢えずそこでストップ。
リスト3 file→element
作って覚えるEclipseプラグイン(2):ツリー表示プラグインを作成する (1/2)


テンプレートを利用する場合
Eclipse ウィザードを使って開発を高速化する

テンプレートを利用しない場合
Building an Eclipse Plug-in Project Wizard Linux Sagas

natureの登録まで
プロジェクトの特徴付け(Natureの付与)を行う

ネーチャー、ビルダー関連
プロジェクト・ネーチャーの定義方法: Eclipseプラグイン開発
新規ビルダーの定義: Eclipseプラグイン開発
Natureの作り方
Builderの作り方
eclipse plugin > java based project, how to – Stack Overflow

読み途中
Eclipse JDT tutorial – Java Model – Create, Access, Load Projects
Eclipse JDT – Abstract Syntax Tree (AST) and the Java Model – Tutorial

それほど詳しく読んではいないが理解の助けになったり、ずばりそのものらしきものが
書かれているようだが英語やサンプルが難解なので取り敢えず後回しにしてるもの(ノ∀`)
Eclipseプラグイン開発メモ(Hishidama’s Eclipse Plugin develop Memo)
独自の Eclipse プラグイン・テンプレートを作成する
FrontPage – きのさいと
Writing an Eclipse Plug-in (Part 4): Create a Custom Project in Eclipse – New Project Wizard: the Behavior | Hidden Clause
Computing Reality: Creating a Plugin Project Plugin Project Wizard
Eclipse Plugins Exposed, Part 3: Customizing a Wizard – O’Reilly Media
Eclipse Corner Article: Creating JFace Wizards
2.3 Reviewing the Generated Code | A Simple Eclipse Plug-in Example | InformIT

Composite

他のコントロールを含むことが出来るコントロールであるこのクラスのインスタンス
Instances of this class are controls which are capable of containing other controls.
Help – Eclipse Platform

Compositeは各種ウィジェットのスーパークラスであり、 SwingのJPanelのように、他のウィジェットのコンテナとして使用することができます。
Composite – SWTサンプル集

swt.null

nullは正確にはレイアウトではなく、レイアウトをセットしないということです。

 レイアウトデータとは、レイアウトにCompositeクラスを載せて自動的に配置するときに、配置のされ方を微調整するためのデータをセットするクラスです。
SWTレイアウトを活用しよう


主な流れ

  1. eclipse SDKやeclipse platform SDKを「新規ソフトウェアのインストール」でインストールする。
  2. eclipseで新規ウィザードを作るにはプラグイン・プロジェクトを利用する。テンプレートを利用しない場合はINewWizard等を使って構築する。
  3. 「org.eclipse.jdt.core.JavaCore」等を利用する為には必須プラグインの設定する。(org.eclipse.jdt系のjarを全て)
    How can I import eclipse JDT classes in a project
    Eclipseプラグイン マニフェストエディターメモ(Hishidama’s Eclipse Plugin MANIFEST Editor Memo)
  4. 設定項目や挙動はWizardPageのcreateControl()等に書いて、それをWizardにaddPage()していくらしい。この辺は特に触ってないので詳しくは不明(ノ∀`)
  5. WizardのperformFinish()で実際のプロジェクト作成のコードを書く。IFolderやらIClasspathEntryを使う
  6. IProjectDescription(プロジェクトの設定?)にnature(プロジェクトの特徴・方向性?)する。
  7. natureにbuilderを設定する。

という感じでやっていけば取り敢えずは良さそう(・∀・)

appcompat_v7の除去(´・ω・`)?


追記20150115
久しくAndroidプロジェクトを新規作成していなかったので気付かなかったけど
最新版だと”appcompat_v7″プロジェクトが自動増殖しないみたいなので、
他にこれを利用するプロジェクトがある場合は”appcompat_v7″プロジェクトを
削除しては駄目(´・ω・`) fragment周りはなくなってる気がする…


appcompat_v7絡みを取り除く手順。
正しいのかどうかわからないのでこちらでのみ載っける(ノ∀`)
これはアクションバーを使用しないようなゲームサンプルを勉強する時に
余計なコードが入ってると「わけわかんねーよ、バーヤ、バーヤヽ(`Д´)ノ」と
怒りだしてしまうような俺氏みたいな初心者向けの手順。
或いはサポートライブラリを入れたくないけど非力なPCを使っているが故に
APIレベル14以上のエミュレータがまともに動かなかったりする人向け (ヽ’ω`) ワイノコトヤ

適当に画面スナップを撮ったので、もしかすると手順に無駄とか手違いがあるかも(ノ∀`)


※作成したプロジェクトが”test”、削除したいappcompat_v7フォルダが”appcompat_v7″の場合

  1. “appcompat_v7″フォルダを右クリックし、コンテキストメニューが表示されたら<削除>をクリック。
    delete-01
     
  2. チェックを入れて<OK>をクリック。delete-02
     
  3. “test”フォルダを右クリックし、コンテキストメニューが表示されたら、[プロパティ]をクリック。
    delete-03
     
  4. 「~のプロパティ」画面が表示されたら、左ペインで[Android]を選択し、「ライブラリ」セクションで削除するライブラリプロジェクトを選択し、<除去>をクリック。除去されたら<OK>をクリック。
    delete-04
     
  5. 各valuesフォルダ内のstyles.xml、menuフォルダ内のmain.xml、layoutフォルダ内のfragment_main.xmlファイルを削除。styles.xml、main.xmlはそれぞれファイル内のタグを削除すればエラーは消えるような気もするけれども面倒臭いのでファイルごと削除してる(・∀・) fragment_main.xmlも邪魔くさいから削除。
    delete-05
     
  6. MainActivity.javaをダブルクリック。
    delete-06
     
  7. import文、extends文の”ActionBar”部分、コードの一部を削除。
    delete-07
     
  8. “Activity”用のimport文を追加。
    delete-08
     
  9. onCreateOptionsMenuメソッド、onCreateOptionsMenuメソッド、PlaceholderFragmentクラスを削除。
    delete-09
    delete-10
     
  10. AndroidManifest.xmlファイルを開き、<Application>タグ内の”android:theme=”@style/AppTheme”“を削除。
    delete-11
     
  11. MainActivity.java内に”import android.R;”が存在していたら削除。
    delete-12
     
  12. “test”プロジェクトを右クリックし、コンテキストメニューからビルドパスの構成を開く。delete-13
     
  13. 「ライブラリ」タブを開き、”Android Private Libraries”を選択して<除去>をクリック。
    delete-14
     

という手順で空っぽに近くなるような気がする( ・`ω・´) チガッタラゴメンナサイ