2011年11月28日月曜日

[AndroidSDK]ListViewの行間を開けて透過にする

//リストの作成
ListView listView = new ListView(this);
//行間の透過Drawbleを設定
ColorDrawable sage = new ColorDrawable(Color.argb(000, 255, 255, 255));
listView.setDivider(sage);
//行間の高さを設定
listView.setDividerHeight(10);

参考 efreedom.com

2011年10月7日金曜日

[AndroidSDK]ImageViewがうまく動かない

追記
注意:この方法では複数デバイスに対応出来ない。


結論から言うと
横幅がを合わせたいときは
android:adjustViewBounds="true"
を使用する。



2011年10月5日水曜日

[AndroidSDK]Internal Error (classFileParser.cpp:3494)

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (classFileParser.cpp:3494), pid=3508, tid=560
#  Error: ShouldNotReachHere()
#
# JRE version: 6.0_26-b03
# Java VM: Java HotSpot(TM) Client VM (20.1-b02 mixed mode windows-x86 )
# An error report file with more information is saved as:
# C:\MyProgram\AndroidSDK\Atlas500\hs_err_pid3508.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

AndroidSDK+eclipceで上記のエラーが発生した場合は、
メニューのRun>RunconfigがJavaApplicationになっているので
AndroidApplicationに変更する。

まあ当たり前といえば当たり前なのかもしれない、、、

2011年9月27日火曜日

[iOS]Coredataでデータを取り出すときの注意

Coredataを使用して内容を取り出す時に

value = [[manageObject valueForKey:@"mydata"];

とすると、DBのポインターを引っ張ってきてしまうのようなので
このvalueをreleseするとDBを壊してしまう

value = [[manageObject valueForKey:@"mydata"] description];
descriptionをつけることで文字列で取り出すことができる

数値で取り出したときはintValueを使用する

2011年9月26日月曜日

CoreDataを利用したヘッダーとセクションインデックスの使用法

iOSでTableViewのヘッダーとセクションインデックスを指定するときに、
CoreDataを使用するとコーディングが楽になります。

sectionNameKeyPathに設定したいヘッダー、セクションインデックスを指定する

NSFetchedResultsController *_fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"sectionName" cacheName:nil];

ヘッダーの設定
セクションごと文字列を返す


//ヘッダーを設定する
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
    //nameがsectionPathで指定した文字列になる
    return [[[fetchedResultsController sections] objectAtIndex:section] name];
}

セクションインデックスはテーブル作成時に配列で返す

//セクションインデックスを設定する
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
    NSMutableArray *indexTitleArray = [[[NSMutable Arrayalloc] init] autorelease];

    for (int i = 0; i < [[fetchedResultsController sections] count]; i++) {
        //nameがsectionPathで指定した文字列になる
        NSString *indexString = [[[fetchedResultsController sections] objectAtIndex:i] name];
        [indexTitleArray addObject:indexString];
    }
    return indexTitleArray;
}

2011年9月21日水曜日

OpenOfficeでファイルロック

他に編集しているユーザーがいない、または編集しているのが自分だけなのに

[filename]は次の人が編集のためロックされています。

というメッセージが表示され、
ロックを解除するにはキャッシュファイルを削除する必要がある

コンソール上で
$ defaults write com.apple.finder AppleShowAllFiles TRUE
$ killall Finder
を行い、隠しファイルを表示させる。

対象ファイルと同じフォルダに対象ファイルと似た名前に隠しファイルがあるので削除
これでロックが解除される。

原因は編集中(OpenOfficeでそのファイルを開いている)に対象ファイルをコピーすると、こうなるそうだ