2011年10月30日日曜日

ActionBarSherlockでactionBarのheaderを変更する

androidアプリの開発に便利なユーティリティ「ActionBarSherlock
日本のアプリではあまり利用されていないようですが、凄く便利で良いツールなので、是非使ってみてください。私はとっても重宝してます。
そして、このActionBarSherlockを使ったheaderの背景画像を変えたい場合は、以下のようにします。

ActionBarSherlockのversionは3.1.3で確認しています。

style.xmlで以下のタグを探します。

    <style name="Theme.AndroidDevelopers" parent="Theme.Sherlock.Light">


中の属性に

    <item name="abBackground">@drawable/sample</item>

があるので、ここを以下のように変更します。

    <item name="abBackground">@drawable/header_bg</item>

画像を変更すると、文字の色やサイズも変更したくなると思います。
文字の変更は以下の属性を追加します。

    <item name="abTitleTextStyle">@style/as_header_title</item>
 
abTitleTextStyle属性の中でstyleを指定してあげればOKです。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2011年10月28日金曜日

logcat read: Invalid argumentの解決方法

androidの開発でeclipseをとおして端末のデバッグを行っていると

logcat read: Invalid argument

のエラーが発生することがあります。
上記のエラーが発生すると、コンソールにlogが表示されなくなってしまうので、とても不便です。
直す方法は以下のような手順を取ります。私の環境はmacですが、windowsでも同じだと思います。

  1. adb logcat -c
  2. Eclipseを再起動

以上で元に戻ります。

参考サイト
http://www.android-navi.com/archives/android_1/logcat/#more
http://d.hatena.ne.jp/yujimny/20110124/1295849267


(以上の記事は管理人をやっているfaceBookのページにも記述してあります。)

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2011年10月22日土曜日

Intentでメーラーの立ち上げ

アプリの中で絶対実装しておきたいの機能の一つが、ユーザーからフィードバックや意見(クレーム)を得るためのメール送信機能です。
Intentで動作させるには以下のように実装します。

            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_SENDTO);
            intent.setData(Uri.parse("mailto:masmasa@test.com"));
            intent.putExtra(Intent.EXTRA_SUBJECT, "【アプリ名】");
            intent.putExtra(Intent.EXTRA_TEXT, "ばぐじゃねーかこのやろう");
            startActivity(intent);

以上のように書くと、メーラー選択画面が立ち上がります。

ただ、注意して欲しいのは、このやり方だとメーラ自体にバグがあると正常に動作しません。ソフトバンクやAUのプリインメーラーでは、正常に動作しない端末があります。
なので、注意書きにGmailを使うように記述しておくのが一番良い方法だと思います。
もし、それが嫌なら、ブラウザを立ち上げてメールリンクをクリックするといいでしょう。この方法なら大抵動きます。
もし、それもいやならWebviewを使って色々とやってみるといいでしょう。
まあ、そんなことするのは「工数と金の無駄」ですけどね。

ソフトバンクやAUの技術力が低いのが悪い。
とはいえ、状況によっては実装せざるを得ない場合もあると思います。

その時は、ソフトバンクやAUなどのキャリアを思いっきり恨んでください。

(以上の記事は管理人をやっているfaceBookのページにも記述してあります。)

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

sqlite3の日付処理

  • 公開日:2011年10月22日
  • 最終更新日:2015年06月17日

記事概要


スマホアプリ開発で欠かせないsqlite3での日付の扱い方について説明します。
oracleやmysqlのBETWEEN句をsqlite3で利用したい人向けの記事です。

sqlite3の日付型について


sqlite3は日付の型をもちません。
なのでmysqlのようにyyyy/MM/ddの日付形式は利用できません。
sqlite3で日付を扱いたい場合は、以下の書式の文字列を日付を表す文字列【Time String】として扱います。

  • YYYY-MM-DD(年-月-日)
  • YYYY-MM-DD HH:MM:SS(年-月-日 時:分:秒)

その他に利用できる日付形式もありますが、一般的には上二つの形式で事足りると思います。
他の形式を利用したい場合は、このアドレスを参照してください。
また、カラムはtext型にする必要があります。

sqlite3の日付で範囲を絞り込む場合(BETWEEN)


日付で範囲を絞り込むデータ取得の時、oracleやmysqlのBETWEEN句のように、日付の範囲指定をする場合は以下のようにする必要があります。


datetime(カラム名称, 'localtime') < datetime('2011-10-22', 'localtime')

第二引数に'localtime'を指定しているのは、sqlite3の日付を表す文字列【Time String】は、デフォルトでUTC(協定世界時)を扱うためです。

基本的に、sqliteは日付の扱いは得意でないということを認識しておいてください。

以上

android開発のオススメ書籍


全くのandroid開発初心者には向かない本ですが、ある程度開発に慣れた人が目を通すのに、良い本だと思います。 android本の購入の際は、自分が対応するandroidのバージョンを確認するようにしましょう。

関連記事

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2011年10月13日木曜日

良いプログラマーになるためには、テストコードを書かないといけない

ソフトウェア業界で、プログラムを書く時はテストコードを書くべきという考えが生まれてから随分と経つ。もう7年くらいは経つだろう。
 幸い私はjavaをメイン言語として扱っている技術者なので、JUnitでテストコードを書く習慣が自然とついた。
 だから、他の言語を利用するときもunitテストを利用して、テストコードをなるべく書くようにしている。
 今メインでやっているnativeのiphoneアプリやandroidアプリでもテストコードは書いている。WEBでも当然書く。
 工数が足りないプロジェクトでも、共通部分や明らかに危険な香りがする部分はなるべく書くようにしている。
この業界に入ってから一度もプロジェクトを破綻させたことがないのは、周囲の人間に恵まれたこと、運が良かったこともあるが、危険を感じたらコードでテストを書く習慣も多いに関係があると思う。

しかし、周りを見ると、未だに多くのプログラマーがテストコードを書く習慣がないのに驚く。
 確かにテストコードを書くのは面倒だ。unitテストを書くためには、意外と勉強することが多いのだ。
 さらに、プロジェクトの多くはテストコードを書く工数など見積もられていない。与えられた期間では、機能を実装するのと、バグをつぶすので精一杯だ。だから、どうしてもテストコードを書かない。
 そして、テストコードを書かないことで、バグが頻繁に出る。そして、修正のたびにバグつぶしとテストに多くの時間を費やす。
 色々な会社を見てきたが、長時間勤務が常態化している開発現場はほぼ同じパターンになっている。そういう開発現場で働くプログラマーは上が開発をわかってないとみんな不満を持っている。
 日本の会社は経営陣が技術者でないことが多い。わかってないのが当たり前だし、わかるはずがない。
 なので、あなたがそういった会社で働くプログラマーなら、経営者にわかってもらおうと思ってはいけない。そんな不満を解決してくれる経営者は、faceBookのザッカーバーグやgoogleのエリック・シュミット等だけだ。

 しかし、あなたが良いプログラマーになりたいのなら、工数が足りなくても少しでもテストコードを書く習慣を身につけなければならない。
 テストコードを書くことはソフトウェアの完成度を高めるだけではない。あなたのプログラミングの腕も飛躍的に向上させる。
 テストコードを書きながらプログラミングを書く習慣を身につけると、可読性の高いコードを書くように気を配るようになる。すると、テストコードを書く時間が全くない場合でも、可読性の高いコードを書けるようになる。
 可読性の高いコードは自然とバグが少なくなる。あなたが現場を離れた後も、引き継いだ人のコードの理解を助け、負担を減らす。そして、機能別の細かな分割、設計、テストケースのパターン、デバッグといった思考パターンが身につく。いずれはシンプルで洗練されたコードが書けるようになる。
 こうなったらしめたものだ。次は技術だけでなく、インタフェースやデザインにも自然と目がいくようになる。そうすれば、プロジェクトの全体像を把握してシステムを見れるようになる。デタラメなシステムでもなんとか帳尻を合わせられるような技術も身に付いてるはずだ。

 良いプログラマーになれれば、あなたが取れる選択肢はグンと広がる。
 今後は特にそうだ。安価なクラウド、個人が世界で勝負できるスマートフォン。今後、開発者は会社でも個人でも自由な形態で働けるようになる。英語と中国語を身につければ、鬼にかなぼうだ。

ちょっと話が飛躍しすぎてしまったw
だが、テストコードを書く習慣を身につけることが大切なことはわかったはずだ。

さあ、さっそくテストコードを書こう。
プログラマーは言葉や背中でなく、コードで語るのだ。


この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2011年10月7日金曜日

[書評】どんな判断や!

[書評】どんな判断や!

ゲームクリエイター稲船敬二さんの思考法をまとめた本です。
本屋をうろうろしていて、面白そうだと思ったので購入しました。




僕は、稲船敬二さんについては、ロックマンの生みの親として知っているだけでした。
稲船さんは、バイオハザード等の色々なヒット作を手がけているようです。
とはいえ、この本の内容は稲船さんの手がけていたゲームを知らなくても楽しんで読むことができます。
ゲーム業界やIT業界を目指している人、または働いている人に、特によんでもらいたいです。

僕はプログラマーなのですが、稲森さんとは考え方が酷似していると思いました。
中でも、

1、スピード感ある、小回りのきく組織の必要性
2、成功にはリスクを冒す必要がある
3、目標をもつ
4、物事の本質を見抜く
5、世界に目を向ける

上記は全く同意です。
僕も上記の事柄をサラリーマンという立場で感じ、自分の所属する会社の限界を思い知って、独立を決めたからです。
特に1と5は重要で、この先10年くらいは気づける人と気づけない人で、大きな差ができてしまうのではないかと個人的に思っています。

稲船さんは日本のゲーム業界の先を嘆いていますが、私の属するIT業界も同じようなものです。
情けなくなってしまうほどに保守的です。というよりは、現実から目を背けて、過去やありえない未来に逃げている状況です。
だから、できる人からどんどん見切りをつけて、大企業を離れています。

政府や自分の会社の行い方を批判しても、結局何も変わりません。
変えなきゃいけないのは自分です。
現在の自分を認識し、自分に責任をもって、自己を高めていくことがこれからの日本人には必要だと思います。

自分の属する会社や組織に閉塞感を抱いているひとは、是非読んでみてください。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2011年10月4日火曜日

独立後の戦略

さてさて、独立して生きていくすべを一から学んでいこうと思っている僕ですが、しばらくは手探りの状態が続くことになりそうです。
とはいえ、ゴールと目標は明確なので、毎日全力で突っ走ろうと思います。
クラウドとSNSを活用して、新しい形の業務形態を構築したいと思います。
自分でも楽しみです。
ブログでも積極的に公開して、共有していきたいと思います。
でわでわ。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2011年10月3日月曜日

独立しました

久しぶりの更新です。

突然ですが、タイトル通りです。
私、会社を退職して、独立することにしました。
今日からは有給の消化に入ります。

というわけで、今日から本格的に動いていこうと思います。
この先は、私のように独立して働くという選択をするひともどんどん増えていくと思います。

なので、自分の行動のログをとるという意味もふくめて、このブログに色々と綴っていきたいと思います。

しばらくは更新頻度も高いと思うので、私の苦労するようすをお楽しみください。





この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加
Related Posts Plugin for WordPress, Blogger...