You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
JSONはXMLよりコンパクトでシンプルな構文で扱いやすいです。アンドロイドアプリでサーバとやりとりするときはJSONを利用することが多いです。 Android SDKにもJSONライブラリはありますが、JsonPullParserはサイズが小さく高速です。そして、APT(Annotation Processing Tool)を利用してアノテーションでJSONとPOJO(Plain Old Java Object)をマッピングするという特徴があります。 またXmlPullParserと同様に、全体を読み終わるまで待つのではなく、読み終わったJSONオブジェクトインスタンスを次々と受け取ることができます。 ダウンロード ダウンロードは作者の@vvakameさんのgithubからダウンロードできます。 vvakame / JsonPullParse @vvakame の日記 JsonPullP
2014年3月19日水曜日 Android Wearが発表される(開発環境構築編) 本日、Android Wearが発表されました。 Android Wearでは、スマートフォンと連携し、Android WearへのNotification表示や、タッチもしくは音声コマンドによるスマフォアプリの操作が可能なプラットフォームになっています。Android Wearと、Androidスマートフォン間のやりとりは、Intnet連携によりおこなわれます。 Android Wearの発売は、今夏の予定で、複数のメーカーから販売されるとの事です。現在は、開発者向けにDeveloper Preview版が公開されています。 http://developer.android.com/wear/preview/start.html それでは、実際にAndroid Wearアプリの開発環境を構築する方法を解
公式のライフサイクルがちょっと分かりにくい Activity | Android Developers に載ってる図。 状態のフローなんだか処理のフローなんだかどっちつかずでややこしい。 何度見ても頭に入らないから毎度毎度図を見直すことになる。 状態遷移図として表現すると分かりやすい こんな感じです。どうでしょうか。 あくまでも図の形式は状態遷移図で、ハンドラ呼び出しは矢印に現れるだけ。 アクティビティ作成 アクティビティが作成されると、「未作成」状態から「最前面」状態へと一気に遷移する。 その過程で onCreate, onStart, onResume が呼ばれる。 半透明な他のアクティビティに覆われたとき 他のアクティビティが手前に来たら「非最前面」状態に遷移する。 その過程で onPause が呼ばれる。 手前に来た他のアクティビティが半透明の場合、 元のアクティビティは透けて見え
このサイトには、OneNote と Outlook のエンドポイントで公開されている Office 365 REST API のドキュメントが含まれています。 このドキュメントは現在、活発には更新されていません。 プロジェクトにいずれかの API をすでに組み込んでいる場合を想定した、参照のみを目的としています。 OneNote、Outlook、Excel、OneDrive、Microsoft Teams、Planner、SharePoint などの Office 365 のサービスは、現在では Microsoft Graph に公開されています。 Microsoft Graph は、Microsoft 365 全体にわたるデータにアクセスするための統一された API エンドポイントです。これには、Office 365、Enterprise Mobility、Security と Wind
Android 3.0からUIスレッドではインターネットへの接続ができなくなった。 そこで、AsyncTaskLoaderを使って、Android 4.0.3でHTTP-Post通信を実行してみる。 HTTP通信には、HttpURLConnectionクラスを使用する。 処理を実現するためには、Androidアプリで下記の3つの部品を実装する。 UI処理 通信データ バックグラウンド処理 Androidアプリのマニフェストファイルにインターネット接続のパーミッションを追加すること。 また、サーバ側でも何らかの応答を返す処理を実装する必要がある。 UI処理 アプリケーション実行時に呼び出されるアクティビティ。 ここで通信データを生成し、バックグラウンド処理に渡す。 package net.kuttya.httppostsample2; import android.os.Bundle; im
ADTが22.6.0になり、Java7に対応したらしいです。 http://developer.android.com/tools/sdk/eclipse-adt.html ADTのアップデートはEclipseならヘルプ→更新の確認をすれば行えます。 Java7でコードを書くにはプロジェクトのプロパティからJavaコンパイラを1.6から1.7に変更するだけです。 もしくはJava7の構文を書いてエラーにカーソルを合わせればワンクリックで設定を変更してくれます。 というわけでJava7で追加された機能をおさらいメモ。 といってもJava7の全てに対応しているわけじゃないようなので、実際にAndroidで使えたもののみ。 switch文にStringが使えるようになった 今まではbyte、char、short、intもしくはenumのみが使えたswitch文でStringが使えるようになりまし
Android書いてますか? これなに 2013年10月13日あたりに流行ってそうな,Android非同期通信処理方法のススメを,Android非同期通信何それ?な人に向けて簡単に情報をまとめる Android普段全く書いてないけどここ数日少し調べた自分が知識の共有のために残す また将来的には流行りは変わるので今しか使えない 転用ばかりで申し訳ない感じなので日常的にAndroid開発してる方はお帰りください 最低限動かすための,すぐに動かすための情報しか書いてないので良くない情報もある Androidでの非同期通信処理 サーバとの通信を行う際に記述しなければならない処理.Androidではメインスレッド上で通信を行う事が出来ないため,サーバとの通信を行うには非同期スレッドを立てなければならない. 昔の処理 Android2.x時代はメインスレッドに直接処理を書けたらしい 非同期処理にしなけ
Androidの非同期処理 モバイル・アプリケーションの開発において、非同期処理は必須です。 ユーザーのUI操作を妨げずに裏で様々な処理を行い、ユーザーが気持ちよく使えるUIでないと、マーケットで「ksアプリ」と言ったレビューや評価の星が1つという評価を受けてしまいます。 なるべく裏側でこっそり行いましょう Androidでは非同期処理を実装する場合には、以下の様なクラスを使います AsyncTask AsyncTaskLoader RunnableとThread 複数の非同期処理が完了したら、次の処理へ移行したい それぞれの非同期処理を実行した時、個別個別で完結するならば問題ありません。 ただ、自分以外の処理がどうなっているかなどを知ることなど出来ないので、複数の非同期処理が完了したら次に行く、といった条件を付けたい場合困ります。 誰も音頭を取る人がいないので、待ち合わせる方法がありませ
AsyncTaskLoaderでのエラー処理 最近Androidで非同期処理を実行する場合、AsyncTaskLoaderを使用するのが一般的です。 HTTP通信等、非同期処理が必要な際によく使用していますが、 AsyncTaskLoader内で発生した例外は、外側のクラスでtry-catchを使用して捕まえることができません。 そのため、エラーハンドリング方法に悩んだ末にここで解決したので、その方法を紹介します。 AsyncTaskLoader まずはシンプルなAsyncTaskLoaderを見てみましょう。 次の例は結果をStringで返すだけのシンプルなものです。 public class AsyncService extends AsyncTaskLoader<String> { @Override public String loadInBackground() { //ここでバ
サービスはバックエンドで処理を行います。例えばサービスで処理が完了したタイミングで画面にメッセージを表示したい場合等、サービスとアクティビティとのやりとりを行いたいときは、どうしたらよいでしょうか。 ここではブロードキャストレシーバでそれを実現する方法を紹介します。 ブロードキャストレシーバーの利用 アンドロイドではインテントをブロードキャストする仕組みがあります。ブロードキャストされたインテントは、ブロードキャストレシーバにて受け取れます。 registerReceiver でインテントフィルタとブロードキャストレシーバーを登録します。すると、そのインテントを指定したレシーバーで受け取れるようになります。 サービス側では特定のインテントをブロードキャストすることによって、アクティビティ側でそれを受けとることができる、ということになります。 ここではサービス終了時に、次のような Toast
今のところ、iphoneにはなくてandroidに存在する機能の一つであるウィジェットは便利なものです。ホーム画面が散らかるとはいえ、利用次第で操作性が向上します。 ウィジェットを配置するとき、1×1,4×1などの表記がありますが、ウィジェットの幅や高さはセル単位で示されています。開発時はセル数ではなく、決められた計算式でdipという単位で指定します。 しかし、API Level14からこの計算式が大きく変更されたことで、想定したウィジェットセル数が正しく認識されないという問題があるようです。アプリが動作するOSのバージョンにより、セル数が変わってしまい、ウィジェットが配置できない場合もあります。こんなときの対処方法をまとめておきたいと思います。 セルの旧計算式 ウィジェットの定義はxmlにより行いますが、そのとき以下のような情報を指定します。 <?xml version="1.0" en
Google playデベロッパーコンソールの最適化のヒントに出てくる文言なのだけど、具体的にどうすればいいのかわからない。 3.2未満の端末向けに largeや xlarge、3.2以降の端末向けに sw600dpや sw800dpのレイアウトを定義してみたけど変化無し。 2013/07/29追記 「7インチ/10インチタブレット用のスクリーンショットをアップロードしましたが、APKは 7インチ/10インチタブレット用に設計されていません。」と出るようになったので修正の手順を開いてみたら…相変わらず「10 インチ タブレットで利用可能な画面スペースを使用すること」としか表示されない。 Tablet App Quality Checklistには目を通したけど、引っかかりそうなのはアイコンのサイズぐらいなんだよなぁ どうせ機械的にチェックしているのだから具体的にどこがというのを明示してくれ
参考ページ New Tools For Managing Screen Sizes | Android Developers Blog Screen-size Buckets OS3.1までの方法。 buckets dp 具体的な機種 small 426dp × 320dp QVGA[320 * 240] + ldpi = 426*320dp normal 470dp × 320dp large 640dp × 480dp WVGA[800 * 480] + mdpi(Dell Streak)、7 インチ タブレット全般。 xlarge 960dp × 720dp WXGA[1280*800] + mdpi (Xoomなどの典型的な10inch tablet) 初代Galaxy Tabは、[1024*600]+hdpi=682*400dpで本来はnormalだが、フレームワークのミスにより
少し言い訳しておくと、ちゃんと確認せずに書いているので間違いがあるかもしれません。Wikipediaだったら[要出典]ってたくさん付けられてしまいそうです。 大きな違いをいくつか紹介していきます。 Androidは受信処理を各自実装する必要がある。 iOSとAndroidのプッシュ通知の設計の大きな違いは、iOSはOSの仕組みに乗らなければいけないのに対して、Androidは自由度が高く各自の実装にゆだねられているという点です。 iOSのAPNSは送信するデータの形式もしっかり決まっていて、その形式にしたがって送信すれば、あとはOSが定めた方法で表示されるだけです。一方のAndroid送信データは完全に自由で、それを受信した際にアプリがどんな動作をするかも、制限されていません。 逆にいえばAndroidは受信時の表示などの処理をすべて独自で実装する必要があり、クライアントの実装の手間は数倍
2014-02-16 Android開発を始める上でおすすめの4冊 Android開発を始めたばかりの僕が読みたかった本 - Rejasupoemと丸被ってますが、あまりにこの内容に共感しすぎてこれを書いた、というのが実際の話です。 Effective Java Java SE6の名著。都合のいいことに、Androidの推奨開発環境も未だにJDK 1.6です。 中級者以上向けとされていますが、実体験としてJava初心者でも読めました。 当然、初読では分からない部分が多かったので、不明点を理解できるまで読み直し、調べながら、章ごとに内容をノートに要約しました。肝要なのは、それでも現時点の理解では突き詰められなかった点が出てくるかと思うので、それを洗い出して「何が分からないのか」を明確にしておくことです。 そうすれば実際にプログラミングしていくなかで、「あの時理解できなかったことはこのことか!
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く