タグ

androidに関するt10471のブックマーク (57)

  • 広告IDを使っている覚えがないのにGoogle Playからポリシー違反を通告されたけどFirebaseのせいだった

    近年のGoogle Play運営は、審査こそないものの怪しいアプリをストアから削除する運用が進んでいます。大昔に作ったアプリがいつの間にか公開停止になっていた、なんてことも増えてきました。 さて今回は、Google Playからポリシー違反の連絡が来たけれども、心当たりがなかったので調べてみたら面倒くさい対応を回避できた、というお話です。 3行で プライバシーポリシーを置かないままストアにリリースしたアプリでデフォルトのままFirebaseを使っていると運営に刺されます プライバシーポリシーを置くか、Firebaseが広告IDを取得するのをやめさせる必要があります AndroidManifest.xmlにオプションを指定すると広告IDの取得をやめさせられます(この記事で当に伝えたいこと) 事の発端 Google Playの運営から、こんなメールが届きました。 要約すると お前のアプリでは

    広告IDを使っている覚えがないのにGoogle Playからポリシー違反を通告されたけどFirebaseのせいだった
  • Android案件を見積もる場合に考えておくことリスト - Qiita

    アプリ自体のコーディング見積もりのみに注力してしまうと忘れがちで、たまにつらい目に遭うので、必要に応じて追加していく予定。 アプリ仕様 仕様はそもそも決まっているか 「仕様は決まっている。動かない」「移植なのでこれ以上はありません」と言ったな。 それは嘘だ。 既に仕様がガッチリ確定していることはありえない。要求仕様(必要機能リスト)がある程度固まっているならばまだ良い方で、「今から仕様を一緒に考えていきましょう」「アイディアレベルです」まで様々。 その他にも、GCM/FCM等のアプリ外サービスと連携する場合、遅延コスト等どの程度許容できるかも事前に確定させる。特にプッシュ系サービスでは、ありえないレベル(全端末遅延1秒以内必須、とか)を既定路線に含めないように留意する。 改修か、新規開発か これは見積もりの前提として大きな影響力をもつ。 テクノロジーや設計の自由度・柔軟性をある程度コントロ

    Android案件を見積もる場合に考えておくことリスト - Qiita
  • よくわかるマテリアルデザインの設計コンセプト | fladdict

    iPhoneAndroidではiPhoneのほうが良くできているが、iOSのフラットデザインとAndroidのマテリアルデザインでは後者の設計が優れている。マテリアルデザインは、デザインとエンジニアリングが高いレベルで融合していて、ロジカルで非常に美しい。 以下、自分の理解をまとめたメモ。 紙とインク マテリアルデザインは「ペーパー」と「インク」のメタファーでできている。 ペーパーの特徴 バーやボタンといった画面上のUIコンポーネントは、バーチャルな紙でできたカードと考える。また、このペーパーは1dpの厚さを持っている。 ペーパーは純白の矩形、あるいはシンプルな円形である。三角や星型といった複雑な形はとらない。そのような複雑な形状や模様はインクが担当する。 現実とことなり、このペーパーは自由に伸縮することができる。 マテリアルデザインにおけるレイアウトは、複数のペーパーを並べたり、重ねた

    よくわかるマテリアルデザインの設計コンセプト | fladdict
  • Android開発 〜そんなところ自分で作る必要ないよ〜 - Qiita

    マニュアルに目を通さないで、適当なブログを適当にググッて実装すると陥りやすい、「自分で書く必要のないところまで自分で実装して疲れたりバグったり」というケース。経験したものをずらずらと。 コードはうろ覚え 会社のプレゼンの資料で作ったので精査できてない(TODO 後で整理する) 概要 RosourcesTypes Loader DataProvider これらを使って楽をしようという話のケーススタディー的なものです 画像リソースのdpiごとの伸縮 単純に拡大縮小するだけなのに、いろんな解像度分の画像を用意して配置するやつ Before のアイコン icon_neko.pngを以下のように配置 res/ drawable-mdpi/ icon_neko.png (16x16) drawable-hdpi/ icon_neko.png (24x24) drawable-xhdpi/ icon_

    Android開発 〜そんなところ自分で作る必要ないよ〜 - Qiita
  • 新米Android開発者が見落としがちな3つのポイント - クックパッド開発者ブログ

    こんにちは、投稿推進部の吉田(@101kaz)です。Androidアプリの投稿周りの開発を担当しています。 去年クックパッドに入社したことをきっかけに、格的にAndroid開発をするようになりました。 今回は私のような開発をはじめて日が浅い人が見落としがちな「非同期処理時のNPE(NullPointerException)」と「Activity破棄に関する問題」と「ProGuardの設定忘れ」について実際の遭遇した事例をベースに紹介します。 非同期処理コールバック時のNPE ある時Fragmentから非同期処理を行い、コールバック内でFragmentの内のviewにアクセスするコードを書きました。 @Override public void onActivityCreated(Bundle savedInstanceState) { ApiClient.getRecipes(new Ap

    新米Android開発者が見落としがちな3つのポイント - クックパッド開発者ブログ
  • 950ページ超え! Androidアプリの開発入門テキストが完全無料公開中!

    これから「Androidアプリを作ってみたい!」という人や、「もっと体系的に勉強したい!」という人に朗報です! アプリ開発スクールで知られる「TechInstitute」から、アプリの設計・開発・公開まで網羅した初心者向けの入門テキストが、なんと無料で公開されているのでご紹介したいと思います! 950ページを超えるボリューム満点のテキスト!「TechInstitute」のWebサイトで公開されている「専用ページ」にアクセスすると、誰でもすぐにテキストをダウンロードすることが出来ます! トピック毎に、興味のある分野だけダウンロードしたり、「まとめてDL」ボタンから一気にテキストを入手することも可能。 ファイルはPDFで提供されており、全部で950ページを超える大ボリュームの内容は以下の通り! <目次> ファーストステップ プログラミングとは何か コンピュータとスマートフォン 初回のプランニン

    950ページ超え! Androidアプリの開発入門テキストが完全無料公開中!
  • Android 5.0 (Lollipop) のJavaアプリケーションは32bitと64bitのどちらで動作するか? - crimsonwoodsのブログ

    Android 5.0 (Lollipop) では64bitプロセッサへの対応が行われており、 Linux Kernelはもちろん多くのプロセスが64bitプロセスとして動作します。 また、DalvikVMに変わって採用されたARTランタイムにおいても64bitプロセッサへの対応は行われています。 さて、それでは64bitプロセッサで動作するAndroid上では全てのJavaアプリケーションが64bitとして動作するのでしょうか? その答えは「場合によっては32bitプロセスとして動作することもある」となります。 AndroidにおけるJavaアプリの起動 さて、ここからは実際にどういったロジックで32bit/64bitプロセスとして分かれていくのかを、順をおって見ていきたいと思います。 起動までの全体像 まずはおさらい的な内容になりますが、Javaアプリがどのように起動されるのか、 その

    Android 5.0 (Lollipop) のJavaアプリケーションは32bitと64bitのどちらで動作するか? - crimsonwoodsのブログ
  • システムの起動時にアプリを起動する - Qiita

    ググれば出てくるんだけど、情報が古いので書きなおしてみた。 全体 Android OS の起動が終わると android.intent.action.BOOT_COMPLETED がブロードキャストされるので、それを捕まえて任意の処理をする。 起動時に呼び出されるコード ブロードキャストを捕まえたときに呼ばれるコード。MyActivity を開始している。BroadcastReceiver から Activity を開始するには Intent.FLAG_ACTIVITY_NEW_TASK が必要なので注意。 public class StartupReceiver extends BroadcastReceiver { private static final String TAG = "StartupReceiver"; @Override public void onReceive(C

    システムの起動時にアプリを起動する - Qiita
  • RecyclerViewはListViewの代替ではないよねという話 - visible true

    ※2016/07/16 追記: これもう大分古いのでこれからAndroidやるなら最初からRecyclerViewからやったらいいんじゃないでしょーか Lollipop周りについてあんまり興味が湧かないと思いつつも触らないわけにもいかないしな、という感じでボチボチRecyclerViewやCardViewを触っていたわけですが、RecyclerViewの違和感がすごかったので色々考えた結果「RecyclerViewはListViewの代替ではないよね」って事に気づきました。新しいListViewだと思ってたのがいけなかったんですね。とりあえず色々考えた結論について以下に列挙します。 結論 RecyclerViewはListViewの代替ではない RecyclerViewはListViewの様な「沢山の子Viewの部分セットをrecycleしながら表示するView」という機能を分解したクラス

    RecyclerViewはListViewの代替ではないよねという話 - visible true
  • Android SDKのソースコードを読みながら開発する - ninjinkun's diary

    この記事はAndroid Advent Calendar 2014の14日目です。 Androidアプリケーション開発をiOSのそれと比べると、SDKのソースコードが公開されていることがアドバンテージの一つになると思います。自分は半年ほど前から、開発時に時々SDKのソースコードを参照するようになり、それからSDKへの理解が深まって、開発効率が高まったと感じています。 この記事では、自分がSDKのソースコードを読む際に使っている方法をまとめます。たぶんよく知られている方法ばかりです。 1. ブラウザで見る GrepCode 特定のクラス名でぐぐっていたりすると、GrepCode というサイトが時々引っかかります。Javaのソースコードを集めて検索可能にしてくれているサイトですが、ちょっとSDKのコードを読みたいというときは、このサイトで読むのがおすすめです。 Android SDKの各バージ

    Android SDKのソースコードを読みながら開発する - ninjinkun's diary
  • go.mobile で Android 開発

    Overview of app. development with go.mobileRead less

    go.mobile で Android 開発
  • 【翻訳】Android Fragmentへの反対声明 - ninjinkun's diary

    Original: Advocating Against Android Fragments by @Piwai Translated by @ninjinkun Reviewed by @hotchemi 最近私はDroidcon Parisでテックトーク(フランス語)を行い、SquareがAndroidのFragmentを利用して直面した問題と、Fragmentを避ける方法について説明した。 2011年に我々は以下の理由でFragmentを使う決断をした。 この時点で我々はタブレットをサポートしていなかった。しかしいつかは対応することがわかっていた。FragmentトはレスポンシブなUIを作るのを助けてくれる。 Fragmentはビューコントローラーだ。ビジネスロジックを単位ごとに分離してテスト可能にしてくれる。 FragmentのAPIはバックスタックのマネジメントを提供してくれる(

    【翻訳】Android Fragmentへの反対声明 - ninjinkun's diary
    t10471
    t10471 2014/10/17
    確かに地雷が多すぎてstackoverflowのお世話になりっぱなしだけど、Activityも遷移が思うようにできなかったりすると思うけどなー
  • クックパッドAndroidアプリにおける最近のDB運用事情 - クックパッド開発者ブログ

    モバイルファースト室の @rejasupotaro です。 Androidフレームワークには端末内にSQLiteでデータを保存するしくみがありますが、みなさんはどのようにしてますか? クックパッドAndroidアプリでは、ActiveAndroidを使ってDBにデータを保存しています。 ActiveAndroidとは ActiveAndroid とは、Active Recordパターンを採用したAndroidORMです。 テーブルのCREATEを行うときに、SQLiteOpenHeleperを継承したクラスでonCreateをOverrideしてdb.execQueryでCREATEクエリを実行…としなくても、ActiveAndroidを使えば、 public class MyApplication extends Application { @Override public void

  • Eclipse+Ant勢にオススメする、Android Studio+Gradleに移行すると手に入る便利機能 - Qiita

    Eclipse+Ant勢にオススメする、Android Studio+Gradleに移行すると手に入る便利機能AndroidAndroidStudioandroid開発 @eaglesakuraです。2013年にAndroid Studioが発表されて、だいたい1年ちょいが経過しました。最初は不安定でアレな感じだったAndroid StudioとGradleプラグインもそれなりに安定してきて、普通のAndroidアプリを開発する分にはあまり困らなくなりました。 現在は移行期にあたるため、2014年のEclipseを使っている人も多いと思いますので、「Android Studioって正直どうよ?」っていう人たちのためにEclipse+Antにはない利点を列挙していきます。 ビルドがGradleに統合される 最大の利点で、コレが移行するための大きな動機であり障壁です。Gradleはそこそこ新し

    Eclipse+Ant勢にオススメする、Android Studio+Gradleに移行すると手に入る便利機能 - Qiita
  • モバイルアプリのObserverパターン - cockscomblog?

    ReactiveCocoa勉強会関西にてObserverパターンについてお話ししましたので、以下にその内容をまとめます。 Observerパターンは、GoFの23のデザインパターンのうちの一つで、モデルが状態の変化をしビューに通知するパターンです。GUIアプリケーションの開発で多用されます。もちろんスマートフォンアプリの開発においても大変役に立つので、いくつかの例を挙げて見ていきます。 Objective-CのKey-Value Observing static void * Context = &Context; - (void)anything { [object addObserver:self forKeyPath:NSStringFromSelector(@selector(property)) options:NSKeyValueObservingOptionNew conte

    モバイルアプリのObserverパターン - cockscomblog?
  • Androidアプリを個人開発する時に便利なサイトやツール - みんからきりまで

    よく使うものメモです。 全般情報 Dashboards | Android Developers 公式のバージョンシェア。毎月5日くらいに更新される。 デザイン Design | Android Developers 公式のデザインガイドライン。各項目ごとにかなり細かく解説してある。 Downloads | Android Developers ↑内にあるデザインパーツ集。 便利なんだけど地味すぎて知らない人いそう。 特にActionBar用の画像とかandroid.R使うよりこっち使った方が捗る。 NavigationDrawer用の三線とかもここにある。 Android Asset Studio Android用の色々な画像やStyleなどが簡単に生成出来る。めちゃくちゃ便利。 Android Niceties ナイスなデザインのAndroidアプリを紹介してるっぽいサイト。参考にな

    Androidアプリを個人開発する時に便利なサイトやツール - みんからきりまで
  • How do I create ColorStateList programmatically?

    I am trying to create a ColorStateList programatically using this: ColorStateList stateList = new ColorStateList(states, colors); But I am not sure what are the two parameters. As per the documentation: public ColorStateList (int[][] states, int[] colors) Added in API level 1 Creates a ColorStateList that returns the specified mapping from states to colors. Can somebody please explain me how to cr

    How do I create ColorStateList programmatically?
  • Android shapeタグを使ってボタンの背景色をグラデーションにする方法 | TechBooster

    shapeタグを使うと下の図のように、ボタンの背景色をグラデーションにしたり、角を丸くしたりすることが可能です。 ※shapeは「形状」という意味です。 これにより、画像を使わなくても見た目を工夫したアプリケーションを簡単に作ることができるようになります。 単純なグラデーションでも画像ファイルだと高解像度になる場合などはファイルサイズが大きくなってしまいがちですが、 shapeタグを使うことでこうした問題を解決することができます。 詳しい解説は続きからどうぞ。 形状を変える グラデーションをかけたり、ボタンの形を変えたりするにはXMLファイルにボタンの形状について定義し、 その定義内容をボタンに反映させる必要があります。 ボタンの形状を変えるには主に以下のタグを設定します。 shapeタグ android:shapeで形状を指定します。 設定できるのは以下の属性値です。 [table “2

    Android shapeタグを使ってボタンの背景色をグラデーションにする方法 | TechBooster
  • [Android Tips] SwipeRefreshLayout で Pull to Refresh を実装する | DevelopersIO

    SwipeRefreshLayout Support Library revision 19.1.0 で SwipeRefreshLayout が追加されました。これを使うと ListView などを下方向にスワイプしてデータを更新する (Pull to Reflesh) を実装できます。いままで OSS を利用するしか方法がありませんでしたが、Support Library だけで実装できるようになりました。 使ったことがなかったので、試しに使ってみました。 SwipeRefreshLayout の使いかた 前提条件として Support Library revision 19.1.0 以上が使える状態にしておく必要があるので、必要なかたはアップデートしてください。 まずレイアウトですが、次のように ListView の親として、包み込むような感じで配置します。 <android.sup

    [Android Tips] SwipeRefreshLayout で Pull to Refresh を実装する | DevelopersIO
  • Google+アプリに新しいデザインが来たのでGoogle I/O 2014で発表される新Androidバージョンでのデザインガイドラインを推測する遊びをしてみた - ひつじのにっき

    2014年5月23日、G+アプリに更新があるというので試してみたら既存のデザインガイドラインに無いロックな挙動をしていたので紹介します。 1か月後にはGoogle I/O 2014を控えているこの時期の更新、ということで新しいAndroidバージョンに取り込まれるのだろうなー、とか推測しながら挙動を書き留めました(私自身、すぐ慣れてしまうので忘れないように)。 先にまとめておくと次の通りです。 まとめ カードUIに最適化した一例としてG+アプリをみると良い ActionBarの機能拡張、ブランドカラーの強化 ListView(カードUI)の上部にメニューをだす形が流行りそう いままでもGoogleは自らデザインガイドラインを破ってきたし、時代に合わせて新しいガイドラインに更新している 今回に限らず、Google製アプリでは、アプリごと思想が微妙に違ってるケースがあります。Google+とG

    Google+アプリに新しいデザインが来たのでGoogle I/O 2014で発表される新Androidバージョンでのデザインガイドラインを推測する遊びをしてみた - ひつじのにっき
    t10471
    t10471 2014/05/23
    まじか・・・