2012年2月10日金曜日

Activityがスクリーンサイズより小さく表示される

ちょっとわかりづらい?。こんな感じに表示された。アプリの表示が画面サイズと合わない。それっぽい設定って無いんだよね。そういうアプリも見たことなかったし。
カッコワルイ
しばらくググっても分からなかったけど、早起きしてゴミ捨てしたおかげで、みつかった。
Galaxyシリーズは持ってないけど、エミュレータでもHTCの実機でも、同様の表示になる。ネットが無いころだったら、わからなくて諦めたなこれは。
AndroidManifest.xml<manifest>内に、以下のSdkVersionを追加したら、正しく表示された。
<uses-sdk android:minSdkVersion="4" />
カッコイイ
余談だけど、先人の作ったコードを参考にしてたら再現してしまい、SdkVersionは関係ないのかと再び悩んだら、微妙にタグが違ったりして力が抜けた。みんな苦労してるんだなあ。

2012年2月4日土曜日

findViewByIdはsetContentViewの後で

前回のHelloActivityのソースに、テキストを表示したくて追加したら、実行時エラーが出た。

02-04 01:03:38.007: E/AndroidRuntime(4179): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.helloactivity/com.example.android.helloactivity.HelloActivity}: java.lang.NullPointerException
LogCatにエラーはぬるぽしか理解できない。
DDMSの使い方も勉強しなければ。
public class HelloActivity extends Activity {
    public HelloActivity() {
    }
    /**
     * Called with the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        TextView tview = (TextView)this.findViewById(R.id.text);
        tview.setText( System.getProperty("file.encoding") );

        // Set the layout for this activity.  You can find it
        // in res/layout/hello_activity.xml
        setContentView(R.layout.hello_activity);
    }
}
"import android.widget.TextView;"も追加してある。
setContentView実行後でないと、Activityが実体化されずnullが返る。
Activityの仕様みたいでDialog等でも起きる。
参考資料(Kazzzの日記さん:AlertDialog#findViewByIdはshow以降じゃないと使えない)

今回判ったこと。
  1. 何をするにも先にsetContentViewする。
  2. findViewByIdでViewを取得できる。
  3. Viewは代入時にキャストする。

このエントリーはもちろんSyntaxHighlighterを試したくて書いた。

参考
ななし's Programming: SyntaxHighlighterのグーグルBloggerでの使い方
次回以降の宿題
よしけんActivity: Syntax Highlighter 3.0でLogcatのハイライト表示を自作する手順

2012年2月3日金曜日

HelloActivity

やっぱり最初はHelloWorldだよね。
新規Androidプロジェクト 

ビルド・ターゲットにAndroid1.6を選択 

既存サンプルからプロジェクトを作成

HelloActivityを選択

動いた! 
おつかれさまでした。

2012年2月1日水曜日

このブログはAndroidとJavaの私的メモです

ネットの文章を拾い読みしても、全くJavaもAndroidも理解しないので、まじめに初歩から、動かした事を書くメモ的ブログです。

コピペを多用するので、ソースには気をつけますが、もし不適切な引用などございましたら、ご連絡ください。携帯端末で投稿、確認する可能性を考え、改行は極力除いております。

以下の環境で遊んでます。
AMD Phenom X6+Memory12GB, System SSD128GB, WindowsPro 64bit
Java7-2 64bit, eclipse 3.7 64bit, Java EE, C/C++, Cygwin, SDKr16, NDKr7, Google web toolkit

エラー処理等は考慮しておりません。まだ分かんないし。