Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

画像の一時保存の方法 画像処理するアプリを作成する場合、 カメラやギャラリーで取り込んだ元のデータを一時的にもっておきたい時があります。 そのときメンバー変数にBitmapをもっておくと、ある程度でかい画像をもっておくと すぐにOutOfMemoryがおきてしまいます。 いままでに一時的にデータを保持する方法をいろいろ試したのでメモしておく。 メンバー変数 メリット 簡単 デメリット アクティビティ終了されたらきえる メモリにやさしくない コード private Bitmap cache; ファイルに書き出す メリット -メモリ優しい デメリット 残ってしまった時に、ギャラリーで表示されてしまう コード try { // sdcardフォルダを指定 File root = Environment.getExternalStorageDirectory(); // 日付でファイル名を作成 D
getFilesDirで取得できるPath以下にファイルを作成する。第1引数にファイル名、第2引数にアクセスモードを指定(MODE_PRIVATEが一般的)する。 ActivityクラスのgetFilesDirメソッド、getCacheDirメソッドを使うと端末で指定されているアプリケーション専用のデータ領域を取得できます。 ログにパスを出力するだけの簡単なサンプルコードを用意しました。実行してマルチユーザ時の挙動を確認してみましょう。 //アプリケーション専用データ領域 //ファイル保存ディレクトリ Log.d("Multi", " getFilesDir(): " + getFilesDir()); //キャッシュ保存ディレクトリ(消去される可能性あり) Log.d("Multi", " getCacheDir(): " + getCacheDir()); ※ちなみにCacheDirは
Androidで他のアプリに何か処理を投げたいときには、Intentというものを使う。 明示的Intentと暗黙的Intentというものがあって、明示的Intentは呼び出したいActivityのClassを直接指定する。 暗黙的Intentは呼び出したいActivity(というかアプリ)の種類や、どういうことをしてほしいかといったことを設定して投げると「俺それ出来るよ!」ってアプリが担当してくれる。 ということは良く知られてることで、頻繁に使うことなんだけど、自分で作ったり保存した画像を他のアプリに渡したいときに、Intentに画像を指定する方法でハマった。 いろんな方法がインターネットに乗ってたけど、Intentを受け取ってはくれるものの画像が読み込めないで不正終了してしまうなんてことがよく合った。 デフォルトのギャラリーやGoogle謹製のフォトなんかもエラー落ちしてしまうということ
翔泳社では、4月から取り組んでいるデジタルファーストの第一弾として、技術系同人誌を制作しているTechBoosterの同人誌を出版しました。今回、プロジェクト始動を記念して代表の日高正博さんとCodeZine編集長の斉木による対談を実施。TechBoosterでの制作手法や、出版社側の意図が明らかになります。 翔泳社では「デジタルファースト」というプロジェクトを4月から始めました。これは流行やいまのニーズに合わせた書籍、ニッチなテーマだけれど広く知られる価値のある書籍、あるいは既存書籍のワイド版などをより多くの方に手に取っていただくために、まず電子書籍やPOD(Print On Demand、注文ごとに印刷する形式)で出版していこうという取り組みです。 CodeZineでは、技術系同人誌を制作されているサークル・TechBoosterから既刊の『Android実践プログラミング 現場で生ま
Javaの話はいろいろあると思いますが、Android開発を極めていくにはどうしたらいいかという話を吐き出してみようと思います。 開発入門向けのガイドはいいもの https://github.com/mixi-inc/AndroidTraining があるので、より実践的な内容をどうするか、という話にフォーカスします。 Androidなデザインと開発 Material Designのガイドライン Googleが考えた最強(?)のデザインガイドライン、それがマテリアルデザインです。 https://www.google.com/design/spec/material-design/introduction.html 使うべきUI部品、リスト表示のレイアウト、ダイアログを使うタイミングと表示内容、遷移アニメーションの使い方など多岐に渡ります。 この内容に沿って開発するとかなりモダンなAndr
コードレビューで土日に安寧を ソーシャルゲームは、ユーザアクセス集中と、それに伴うユーザデータ増加によって劇的に負荷が上がり、(主に土日に)サービスに影響を与えがちです。 問題があるコードは、たとえ負荷テストを行っても、作成したシナリオによっては見つけられない可能性もあります。 そういった見えない不安を払拭するという意味でも、コードレビューは重要だと思っています。 【ステキポイント】 ・ ソースを見ることにより、時限爆弾が土日に爆発するのを解除 ・ スキル共有によってメンバーがレベルアップすることにより、土日に爆発する時限爆弾の設置確率低下 まぁまとめると これに尽きます(4歳の息子談) 今は、gitのプルリクエストという強力なレビューツールもあり、敷居がかなり低くなったのでオススメです! チェックするポイントは5つ コードレビューを行うにあたり、*「どんなところをチェックすればいいのか分
DIコンテナ使ってるけど、アノテーションってなんなの!って聞かれて、作ってみたらわかるよと答えてみたので、自分でも作ってみました。 よくわかった。 「DIコンテナ使うと何がいいの?」ということも、作ってみるとわかります。あと「DIって何がいいの?」に関しては、「DIはちょっとコードを書くのが楽になるだけで、それだけあっても仕方ない、大事なのはコンテナ」と答えるようにしてますが、コード比率からもそれがよくわかります。 続編としてWebフレームワークも作っているので参考まで。 作って理解するWebフレームワーク - きしだのHatena まずはコンテナを作る とりあえず1ソースの状態で。 こんな感じで、管理する型を登録できるようにします。 static Map<String, Class> types = new HashMap<>(); static void register(String
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? めちゃくちゃにハマったからと言って、その問題は技術的難易度が高い訳ではないんじゃね?という話。 ここで言う「ハマる」とはなにかに夢中になって没頭することではない。バグとかエラーがあって、なかなか解決できなくてそのために時間を割かれてハマる、の「ハマる」。 先日、ハマった問題が解決した時の感情は「ついに解決したぞ」という安堵感と「しょーもないハマりポイント作りやがって、あのボケが!」という前任者への怒りが混ざった状態だった。 サイトのSSLの有効期限切れが2週間後にせまっていた。やる事は証明書の更新、新しい証明書をAWSのELBに入れるこ
Jeff Deanとは GoogleのSenior Fellow. Googleの基盤となる分散システムのほぼ全てに中心的に関わり、圧倒的なエンジニアリング能力を発揮したらしい。あまりにも尊敬されているため、IT業界において全盛期のイチロー伝説のような破天荒なホラ話のネタにされている人。 日本語での紹介がなさそうだったので意訳してみました。 元ネタはこちら。多すぎるのでGoogle社員じゃない人には面白みがわかりにくそうなもの、面白みが被っていると私が判断したものなどは省いてあります。 全盛期のJeff Dean NP問題 Jeff DeanがGoogleの採用面接を受けたときに、もしP=NPが成り立つとしたらどうなるかを問われて"P=0かN=1ですね"と答えた。試験官が笑い終わりさえしないうちに彼はGoogleのpublic keyを突き止め、private keyをホワイトボードに書き
皆さんはどのような方法で最新の技術や、コードのTipsを収集していますか? はてなブックマークやTwitter, GitHubなど様々あると思います。 私はテックブログを使った情報収集をしています。今回はエンジニアが見るべきおすすめのテックブログをいっきにご紹介します。 テックブログとは? ご存知の方も多いと思いますが、テックブログとはWEBサービスやゲーム等を提供している企業が、自社で使っている技術や開発手法を紹介するブログです。デベロッパーブログとも呼ばれます。 エンジニアが持ち回りで書くことが多いので、そこで働いている人のこともわかっちゃいます。 普段使っているサービスがどのような言語でできていて、どのようなフレームワークを使っているか、どんなツールを利用して開発しているのかが載っているのでとても刺激的な内容ばかりです。 転職、新卒の会社選びにも役立つ!? 転職する際に気になるどんな
前置き AndroidのSharedPreferencesは永続的なデータや設定値などを保存するために使う。 実ファイルとして/data/data/[パッケージ名]/shared_prefs/以下にxml形式で保存される。 よってファイルIOが発生するのだが、実際にどのタイミングで読み書きが発生しているのかを調査し、アプリの最適化に役立てる。 環境 主にAndroid5.1.0のコードで確認 SharedPreferencesのメモリキャッシュ SharedPreferencesの実挙動部分はSharedPreferencesImplに実装されている。 その中のフィールドの一つにprivate Map<String, Object> mMap;があり、すべてのKey-Valueの組はxmlファイルとは別にメモリ上でも管理されていることになる。 書き込み SharedPreferencesへ
このエントリーは読者としてスマートフォンアプリ開発者とWebフロントエンドエンジニアを想定して書いています。 CROSS2016に出るので、最近の自分の考えを整理しておく。 最近ReduxのSwift実装であるReSwiftを使って開発している。使った感想なども最後の部分に書いたけれど、このエントリーの本題はアプリの状態管理の話。 アプリは大きなシングルトン iOS、Android共にアプリを実装しようと思うと大抵シングルトンが必要になる。各ViewController内をまたがってデータを共有したいというユースケースが多いからだ。例えば ユーザーのログイン情報を集約するUserManager コンテンツへのいいね情報を集めるLikesManager ブックマーク情報を集めるBookmarkManager などなど。もちろんアプリの内容によってこれらの顔ぶれは違ってくると思うけれど、大抵U
Android Javaでは昔からAOSPのcoding style guidelineに則ったスタイルがとられることが多いようです。そのなかで、private fieldに "m" (member) や "s" (static member) などのプレフィクスをつけよ、というものがあります。 AOSP Java Code Style for Contributors | Android Open Source Project これはいわゆるハンガリアン記法の変種で、こういうやつですね。 class Recipe { private String mTitle; private List<String> mSteps; // ... } これについての態度はプロジェクトごとに様々ですが、たとえばクックパッド社のJavaのスタイルガイドでは明確に否定しています。 styleguide/
今まで読んできた技術書の中で良かったものを挙げていく。 そろそろ本棚が溢れるので捨てる前に書き留めておく。 私は独学でプログラミングを始めたので情報系専攻の人には何をそんなという本も混っているだろうが価値は人それぞれ違う。 一応私自身について語っておくと学生時代はプログラミングに興味を持ちつつも数学科に進んだ。 しかしそこでもプログラミングへの興味は薄れず、色々本を読んだり同学年の情報科学科の真似をしたりしていた。 今思えば日本の精鋭たる東大情報科学科の人達に勝てる筈もなかったのだが学生時代に我武者羅になれたのは悪い経験ではなかった。 私が興味があったのは主にプログラミング言語そのもの、特にLispとその周辺。 何故本か 挙げていく前に1つだけ。Webに大量に情報がある今、何故本かについて説明したい。簡潔に言うと 文章が推敲されていて読み易い 1つの情報ソースに多彩な内容が載っている 巨大
##1. send, deliver, dispatch, announce, distribute, route send : (命令・依頼などによって)行かせる、送る deliver : 配達する; 引き渡す,明け渡す; 手渡す dispatch : 〈軍隊・特使などを〉〔…へ〕急派する,特派する announce : 人に〕〈…を〉知らせる,発表する distribute : 〈ものを〉〔…に〕分配する route : 貨物などを〉〔…のルートで〕発送する ##2. find, search, extract, locate, recover find : (努力して)見つけ出す search : (何かを見つけようとして注意深くまたは徹底的に)捜す extract : 〈エキスなどを〉〔…から〕抽出する locate : 〈…の〉位置を突き止める recover : 〔廃物などから
はじめに Android SDK には、面倒であったり、冗長になりがちな処理を行なってくれる Util クラスが数多く存在します。 意外と知られていない便利な Util クラスもあります。 ということで、Androidアプリを開発する上でぜひ使っていきたい便利な Util クラスをまとめました。 TextUtils Linkify DateUtils Formatter Pair SparseArray FloatMath Color ThumbnailUtils TextUtils http://developer.android.com/reference/android/text/TextUtils.html String の Util クラスです。 isEmpty は String の null と length = 0 をまとめてチェックしてくれます。このあたりはよく必要になるん
最初に 本来は@takahiromさんが書く日だったのですが。もう埋まっちゃったよ!と僻んでいたら枠もらえました。本当にありがとうございました! @takahiromさんとはある勉強会でお会いしたのを機にPreLollipopTransitionなどで絡み出した縁で仲良くさせて頂いています。@takahiromさんの記事を期待していた方はこちらへおまわりください。 そもそも誰? 本題に入る前に、そもそもお前誰だ?なんでAPTを語る?って人が多いと思うので、自己紹介させて下さい。 Annotation Processing Tool(またはAPT)でのコード自動生成が好き過ぎて自作のステートパターン用APTライブラリを公開しただけでは飽きたらず、AndroidライブラリでAnnotationといえば、AndroidAnnotations(AA)でしょってことで、PRを投げ始めました。ついさっ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く