2012年を振り返って
2013年も始まりました。
明けまして、おめでとうございます。
やっぱり、今年もいろいろありました。
iPhone 5やWindows 8など、多くのデバイスと共にOSも増え、勉強する毎日でした。
仕事でも、少しずつですが結果を出せてきていると思います。
ただ、仕事で一番印象に残っているのは、数多くの仲間が次のステップへ行かれたことです。
私も、そろそろ新しい段階へと昇る必要があるかもしれません。
もちろん来年もスマートデバイスアプリケーションの開発者として、社内外で頑張っていきます。
ただし、自分は教育者としても頑張りたいと思っています。
今年は、自分の目標を両天秤から一本化したいと思います。
なにより、仕事勉強の毎日だったので、今年はプライベートも充実させていきたいですね。
2013年もSamrilをよろしくお願い致します。
2011年を振り返って - ggった結果
ドコモの新しいモバイルオペレーティングシステム Tizen について
NTTドコモは、韓国サムスン電子などと共同開発しているモバイルオペレーティングシステム Tizen を載せた新しいスマートフォンを、2013に発売する方針を決めた。
via Tizen Logo
モバイルオペレーティングシステムといえば、次の表にある4つが有名です。
名前 | 色 |
---|---|
Apple | iOS |
Android OS | |
Microsoft | Windows Phone OS |
RIM | BlackBerry OS |
まず、そもそも Tizen が参入してくる市場シェアはどうなっているのか。
少し古いですが、Net Applicationsから発表された2012年9月のモバイルOSシェアによると、iOS 63.48% 、 Android 22.10% 、とすでに二極化されています。
(引用元)iOSが減少、Androidは成長を続ける- 9月モバイルOSシェア
このようなレッドオーシャンに、新しくOSを追加することはかなりの勝負だと思います。
けれども、日本国内最大手であるNTTドコモのシェアを考えると、モバイルアプリケーション開発者としはチェックせざる終えません。
そもそも Tizen とは、どのようなOSなのでしょうか。
Tizen とは... フリーソフトウェアでオープンソースのモバイルオペレーティングシステム。Tizenは Linux Foundation による Linux に基づいていて、Tizen Association が開発している。タブレット、ネットブック、スマートフォン、スマートテレビや車載情報システムなどの利用を想定している。
(引用元)Wikipedia
開発元システム要件
- Ubuntu〓 11.04 or 11.10 (32- or 64-bit), or Microsoft Windows〓 XP (32-bit) or Microsoft Windows〓 7 (32- or 64-bit)
- At least dual-core 2 GHz of CPU
- At least 2 GB of RAM memory
- At least 3 GB of free disk space
- Oracle〓 Java* v7 or later (do not use OpenJDK)
- Local administrator authority
- In Ubuntu〓, the following packages: procps, gettext, libdbus-1-3, libcurl3, expect, gtk2-engines-pixbuf, grep, zip, make, and qemu-user-static
エミュレータ要件
- VTx supported by CPU (recommended)
- At least 1280 x 1024 screen resolution
- Latest vendor-provided version of the graphic card driver
WEBシミュレータにおいては Google Chrome browser が必要になります。
開発環境
開発言語
via Tizen SDK - https://developer.tizen.org/downloads/sdk
このように、WEBアプリケーションとしては HTML5 (W3C) と JavaScript がサポートされているには、最近のスマートフォンの基本ですね。
ネイティブは C / C++ と、iOS (Objective-c) や Android (Java) 、 Windows Phone (C#) のように、まったく別の言語になっております。
それと、新しい 2.0 SDK は Windows 8 で開発できるのでしょうか?
また、Tizen Associationには韓国サムスン電子の他に、NECも含まれていますので、国内端末もでるのではないでしょうか?
今後は、色々と試してみますので、お楽しみに...
Tizen - https://www.tizen.org/
Tizen AssociationにDocomoがいたのを見てから、嫌な予感はしていたんだよ
ThinkPad X1 Carbon 20th Anniversary Edition 開封の儀に参加してきた
[twitter:@oota_ken] さんが購入された ThinkPad X1 Carbon 20th Anniversary Edition の開封イベントに参加させてもらいました。
当日は [twitter:@tezawaly] さんが購入された通常の X1 Carbon (米国版) の未開封品も持ち込みもあり、比較しながら進んでいきました。
ThinkPad X1 Carbon 20th Anniversary Edition
http://www.lenovo.com/jp/thinkpad20/x1carbon_anniversary.html
20th Anniversary Edition にだけ付属してくる特典
商品説明のパンフレット、ケース、風呂敷、箸
箸にはトラックポインタのデザインが活かされている
青黒檀という木らしい
専用ケース拡大図
20th Anniversary Edition のロゴもありました
通常版と 20th を比較
見た目は変わりませんが、壁紙やスクリーンセーバなどに違いが出ております
Ultrabook のため Macbook Air に近づけたタイプですが、カーボンを利用しているため、とても軽くいい感じ仕上がっております。
もっと詳細なレポートは [twitter:@oota_ken] さん、 [twitter:@tezawaly] さん のレポートを参考に...
Android OS4.1 4.2でCheckedTextViewのisCheckedメソッドの初期値が変わった? ときの代替方法
Android で ListView と CheckedTextView を使うことで、複数行のリストチェックボックスをつくることができます。
// xmlからListViewを取得 ListView listView = (ListView) findViewById(R.id.list); _arrayAdapter = new testArrayAdapter ... // ArrayAdapterクラスを継承したアダプタークラス listView.setAdapter(_arrayAdapter); listView.setItemsCanFocus(false); listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); listView.setOnItemClickListener( new CheckedItemOnclick() );
複数行を選択するために ListView.setChoiceMode()メソッド に ListView.CHOICE_MODE_MULTIPLE をセットしています。
選択した行のイベントリスナーとして ListView.setOnItemClickListener()メソッド に OnItemClickListenerインターフェース を実装したクラスをセットしています。
private class CheckedItemOnclick implements OnItemClickListener { @Override public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) { final CheckedTextView checkedTextView = (CheckedTextView) view; boolean isChecked = checkedTextView.isChecked(); }
ここで、今回の問題である ListView.isChecked()メソッド の初期値が、Android 0S 4.0以下と4.1以上で変わっていると思われます。
デバックモードで値を確認したところ
Android OS 2.2 => ListView.isChecked() = false
Android OS 2.3 => ListView.isChecked() = false
Android OS 4.0 => ListView.isChecked() = false
Android OS 4.1 => ListView.isChecked() = true
Android OS 4.2 => ListView.isChecked() = true
となっており、なんとか解決できないかと次の2つを試してみました。
1.LayoutInflaterでxmlをインフレートする前に ListView.isChecked() に false を指定する
public class testArrayAdapter<T> extends ArrayAdapter<T> { /** : **/ @Override public View getView(int position, View convertView, ViewGroup parent) { CheckedTextView view = (CheckedTextView) convertView; if (convertView == null) { view = _layoutInflater.inflate(_rowResouceId, null); } view.setChecked( false ); return view; } }
この方法でも、結果は同じでダメでした。
2.上記でインフレートするxmlにある CheckedTextView のxml属性にある android:checked に false を指定する
<?xml version="1.0" encoding="utf-8"?> <CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:checkMark="?android:attr/listChoiceIndicatorMultiple" android:gravity="left" android:checked="false" />
この方法でも、結果は同じでダメでした。
どうしても CheckedTextView の値を直せないので、 ListView の行ごとに isSelected変数 を持たせるようする方法しか考えつきませんでした...orz
さて、どうしたものか。
===== 2012/12/20 18:58 追記 =====
[twitter:@mryo0826]さんに、対応方法を教えていただきました!
内容は、こちら
private class CheckedItemOnclick implements OnItemClickListener { @Override public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) { final SparseBooleanArray checkedList = _listView.getCheckedItemPositions(); boolean isChecked = ! checkedList.valueAt(position); }
ここで注意点が1つ、それぞれのOSごとの checkedList.valueAt(position) の出力結果は...
Android OS | isChecked() | checkedList.valueAt(position) |
---|---|---|
2.2 | false | true |
2.3 | false | true |
4.0 | false | true |
4.1 | true | true |
4.2 | true | true |
なので、Android 4.0以下で行っていた判定をそのまま使いたい場合は、 ! (否定) を忘れずに。
Nexus 7がやってきた
Nexus 7
http://www.google.co.jp/nexus/
Nexus 7がついに日本でも2012/10/2発売が開始されました。
わたしは、Google Playから注文したので、1日早めにGETできました。
さっそく箱をあけて、各デバイスで大きさの比較
(左から iPad 3, Nexus 7, Galaxy S3, iPhone 4S)
各デバイスの画面サイズは次の通りです
画面サイズ | |
---|---|
iPad 3 | 9.7インチ |
Nexus 7 | 7インチ |
Galaxy S3 | 4.8インチ |
iPhone 4S | 3.5インチ |
Android OSは、4.1.1(Jelly Bean)
Jelly Beanについては、こちらの記事を参考にすれば、ok
Android 新OS発表!Android 4.1 Jelly Bean はここが違う! via Androck
また、Google Play にクレジットカードを登録すると2000円分のクーポンとプリインストールが貰えます
- トランスフォーマー/ダークサイド・ムーン
- 人間失格
- こころ
- 藪の中
...トランスフォーマーは、正直嬉しかったけど、本が(´・ω・`)ショボーン
Amazon Kidleも買うよ!
kobo Touch買ったのでセットアップしてみた
楽天が2012/7/19から読書リーダーである「kobo Touch」の発売を開始しました。
私もためしに買ってみましたー
端末右上にある電源ボタン
なんか安っぽくて「カチッ」ってやって電源オン
まずはセットアップをするために http://rakuten.kobosetup.com/ へ
今回は Windows を選択
これが kobo Touch のアプリケーションらしい
楽天IDの入力をする
完了するとFacebook連携しないかと聞かれる
パーミッション
(一番下が気になる)
現在kobo Touchに入っている書籍一覧
kobo TouchのアカウントやPCと同期を切る場合のボタン
晴れてkobo Touchとご対面!
とりあえず1冊開いてみることに
タップのレスポンスは、そこまで早くはない
■使用感
見た目の割には、すこし安っぽい。(金額が安いものあると思う)
次ページの情報が多いと、レスポンスが鈍る。(まぁあんまり気にはならない...と思う)
とても軽い。(185g)
電池長持ち...らしい(最長1ヶ月程度?)
画面はちょうどいいサイズ(6インチと、文庫くらい)
まぁ、金額にあった端末だと言える。(私はポイント払いなので0円)
今後の電子書籍は、販売される書籍数&レパートリーで勝負が決まる!と言っても過言ではない。
販売書籍サイト
http://rakuten.kobobooks.com/
今度は自分で pdf を入れてみるので、またレビューを待っててぷりーず