2013年9月24日火曜日

ListViewの要素の高さを固定する

AndroidのListViewの要素の高さを固定するには layout_height だけではなく、
minHeight も設定する必要がある。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:minHeight="60dp"
    android:orientation="horizontal" >
    ... 省略...
<LinearLayout>

2013年9月1日日曜日

Eclipseで補完が効かないときの対処方法

MacのEclipseでコード補完が効かなくなってしまった。

補完しようとすると「No Default Proposals」出て肝心の補完候補が出ない。
環境設定のキーバンドをいじっても改善せず。
 調べてみたところ eclipse の設定ファイルがおかしくなっているようでした。

対処方法:
workspace の「.metadata/.pluging/org.eclipse.core.runtime/.settings」フォルダにある
ogr.eclipse.jdt.ui.prefs」ファイルの
content_assist_disabled_computers
というパラメータをコメントアウト(行頭に # を付ける)。

Eclipse を再起動するとコード補完ができるようになりました。

2013年7月13日土曜日

Androidアプリのデジタル署名に必要な証明書の作成

Google Playにアプリを公開するためには apk ファイルにデジタル署名をする必要があります。
今回はそのデジタル署名に必要な証明書の作成方法を説明します。

keytool コマンドを使います。
下記の例ではエイリアス名 ash、有効期限10000日の証明書を作ります。
結果は ash.keystore というファイルに出力されます。

$ keytool -genkey -v -keystore ash.keystore -alias ash -keyalg RSA -validity 10000

キーストアのパスワードを入力してください:

新規パスワードを再入力してください:
 
姓名を入力してください。
  [Unknown]:  ash
組織単位名を入力してください。
  [Unknown]:  ash
組織名を入力してください。
  [Unknown]:  ash
都市名または地域名を入力してください。
  [Unknown]:  shinagawa
州名または地方名を入力してください。
  [Unknown]:  tokyo
この単位に該当する 2 文字の国番号を入力してください。
  [Unknown]:  jp
CN=ash, OU=ash, O=ash, L=shinagawa, ST=tokyo, C=jp でよろしいですか?
  [no]:  yes
10,000 日間有効な 1,024 ビットの RSA の鍵ペアと自己署名型証明書 (SHA1withRSA) を生成しています
    ディレクトリ名: CN=ash, OU=ash, O=ash, L=shinagawa, ST=tokyo, C=jp
<ash> の鍵パスワードを入力してください。
    (キーストアのパスワードと同じ場合は RETURN を押してください):  
新規パスワードを再入力してください: 
[ash.keystore を格納中] 
$

環境によって聞かれる内容が多少違うようです。上記はMacの例。

Eclipseでapkファイルを生成するときに上記ファイル(ash.keystore)を指定し、エイリアス名、パスワードを入力すれば署名されたapkファイルが作成されます。


2013年2月7日木曜日

Androidのハードウェアアクセラレーション設定

WebViewのAOS2.3.4だとサクサクなのにICS端末だと激重だったので調べてみた。

AOS 3.0以降からハードウェアアクセラレーションの設定が増えていてデフォルトでdisableになっているっぽい。有効にするには AndroidManifest.xml に android:hardwareAccelerated="true" を追加する。applicationやactivityタグに設定可能。

  <application android:hardwareAccelerated="true">
    ...
  </application>


のようにapplicationタグに設定するとアプリ全体に設定可能。

  <application android:hardwareAccelerated="true">
    <activity android:hardwareAccelerated="false">
  </application>



とすると、特定のアクティビティだけoffにすることも可能。






2013年1月27日日曜日

Sublime Text 2 で TypeScript のシンタックスハイライト

MSが公開している定義ファイルを使う。

Interoperability @ Microsoft MSDN Blogs - Sublime Text, Vi, Emacs: TypeScript enabled!

から Sublimeのアイコンをクリックしてzipをダウンロード。

zipの中に入っている typescript.tmLanguage をSublime TextのPackagesフォルダにコピー。

PackagesフォルダはSublimeの [Preferences] → [Browse Packages] で表示されるフォルダ。
Windows 7だと

C:\Users\[ユーザ名]\AppData\Roaming\Sublime Text 2\Packages

になっているっぽい。

Sublime Text 2を再起動すればOK!

・・・のはずが反映されない。
作成済みのファイルはなぜかハイライトが効かない場合があるようです。
新規にSublimeで作成したファイルは大丈夫。