タグ

Androidに関するthzakのブックマーク (30)

  • Android の AlarmManager を改めて整理してみる - Qiita

    AlarmManager といえば、Android において文字通りアラームやリマインダを実装する際に用いたり、或いはバックグラウンドで定期的に行いたい処理のスケジューリングに用いたり(こちらは JobScheduler に取って代わられた感じですが)、割りと使用する機会が多いものです。 同時に、Android歴史において、バージョンアップに伴って挙動が変更になったりと、割りと罠も多い存在だったりします。 挙動が変更になるたびに「変更への対応方法」を記した記事が出回るので助かるのですが、「今からAndroidアプリの開発を始めます!」という人にとってはそれらを全部拾い集めるのも大変でしょうし、ここらで AlarmManager の変化の歴史と共にざっくりまとめてみたいと思います。 そもそも登録内容が永続化されない罠 AlarmManager を使い始めて最初に面らう点。 AlarmMa

    Android の AlarmManager を改めて整理してみる - Qiita
    thzak
    thzak 2016/12/16
    書きました。
  • Android におけるストレージまとめ - Unmotivated

    Android で外部ファイルを保存する場合、どこに何を保存すれば良いのか?それぞれの違いは何なのか? 内蔵メモリなのか?SDカードなのか? いい加減しっかり把握しておきたいと思ったので、まとめてみました。 ざっくりまとめ それぞれの領域の名前は、この記事の中で区別するためにつけたもので、アクセス権減は非 root ユーザから見た図です。 ディレクトリ取得メソッド アプリ専用? ユーザがアクセス可能? クリア方法 アプリ削除時に 内部データ領域 Context.getFilesDir() yes no データを消去 消える 内部キャッシュ領域 Context.getCacheDir() yes no キャッシュを消去 消える 外部データ領域 Context.getExternalFilesDir() yes yes データを消去 消える 外部キャッシュ領域 Context.getExter

  • Kotlin 1.0 リリース: JVM, Android向けの実用的な言語 - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    Kotlin 1.0 リリース: JVM, Android向けの実用的な言語 - Qiita
  • Google Issue Tracker

  • 既存アプリを Android 6.0に対応させる | ギャップロ

    はじめに 2015年8月18日、それまで「MNC」とされていた Android次期バージョンが、「Android 6.0 Marshmallow」となることが正式に発表され、同時に正式版のSDKとAndroid 6.0 のPreview3 が公開されました。 正式版SDKでビルドしたapkはGooglePlayStoreへのサブミットが可能であり、Android 6.0 の Preview3 は実質的なGM版となるため、 Android 6.0 対応の環境が整ったと言えます。 既存アプリも対応が必要 前提としてアプリの挙動は、ビルドした際の targetSdkVersion によって決まります。 従来は、新しいバージョンのAndroid OSがリリースされた際も、既にストアに公開済のapkを動作させる分には下位互換が保たれるようになっていました。 しかし Android 6.0 で導入され

    既存アプリを Android 6.0に対応させる | ギャップロ
    thzak
    thzak 2015/09/17
    Runtime Permissonへの対応方法など
  • Android TV に触れてみよう! | ギャップロ

    みなさん Android TV はご存知でしょうか?これは Android を搭載したテレビや、TV に接続することができる Android 端末のことを指します。TV のリモコンを操作する感覚で、Android を操作することができるよう、UI が最適化されています。 有名なものだと Google が出している Nexus Player が挙げられます。こちらは日でも発売されており、2月27日 に 12,800円 で発売されました。 記事ではこの Android TV 向けアプリの作り方とさまざまな Tips について紹介したいと思います。 Android TV のアプリを作成するにあたって、手元に Nexus Player もしくは Android TV 搭載の TV があると良いでしょう。 無い場合でも、エミュレータが動くので問題なく開発を行うことができます。 まずは作ってみよう

    Android TV に触れてみよう! | ギャップロ
  • Fragment使用時のIllegalStateException回避 - Qiita

    前置き このページの内容はstackoverflowの素晴らしい回答を参考にしている。 IllegalStateException? Fragmentを使っていると、画面遷移の際に以下の様が例外が発生することがある。 java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState これは非同期処理などでFragmentの操作タイミングがonSaveInstanceState()よりも後になってしまった場合に発生するものだ。 onSaveInstanceState()ではFragmentの状態も含めた画面情報を保存するため、それ以降のタイミングでFragmentを操作するとおかしくなるぞ!ということだろう(多分)。 詳しいことは(解決策も)下記リンクに詳しくまとめられているので、じっ

    Fragment使用時のIllegalStateException回避 - Qiita
  • Android StudioでAndroid SDKのソースコードを参照する - Qiita

    SDK Managerから該当するSDKのソースコードをインストールする。 Android StudioのFile > Project Strucureを開き、Platform Settings のSDKの sourcepath にSDK Managerからダウンロードしたソースコードのパスを設定する。 この設定はなくなりソースをダウンロードすれば自動で検索してくれるようになった。 あとはソースコードから Go To > Declaration を実行すれば飛べる。 自分でソースコードからjarを作っていたころと比べると便利になったものだ。そしてどうやらHomebrewで入れたSDKと別々に入ってるようなのであとで運用を考えよう。 Register as a new user and use Qiita more conveniently You get articles that mat

    Android StudioでAndroid SDKのソースコードを参照する - Qiita
  • Handlerのリーク警告を解決するには - outcesticide

    たとえば、こんなコードを書いたとする。 「Handlerはstaticにしないとリークするよ!」と注意される。 This Handler class should be static or leaks might occur 解決 (a) static内部クラスにする 単純にstatic内部クラスに置き換えることができるのならば、手っ取り早く解決できる。 でも、static内部クラスにすると、staticメソッドしか使えない。 Activityのインスタンスを持っておくと、非staticメソッドも使えるようになる。 ただし、GCが回収できるようにActivityへのWeakReferenceにすること。 Activityが終了してGC回収済みの場合に備えてnullチェックしておく。 参考 http://stackoverflow.com/questions/11407943/this-ha

    Handlerのリーク警告を解決するには - outcesticide
  • UPFT xR Project | アップフロンティア株式会社

  • Android 5.0 API概要

    Android5.0のAPIについて正式な情報がアップされたため翻訳してみました 流石にメジャーバージョンアップだけあってAPIの変更は多岐に渡ります。 以前のL Developer Preview API 概要から更新された部分も多々あります。 原文 API level21 Android5.0(LOLLIPOP)はユーザーとアプリ開発者のために新機能を提供します。このドキュメントでは特に注目すべき新しいAPI群の紹介を行います。 開発を始めるAndroid5.0向けアプリの構築を始めるために最初にAndroid SDKを取得し次にSDK Managerを使ってAndroid 5.0 SDKプラットフォームとシステムイメージをダウンロードします。 あなたのアプリを実際のデバイスでテストするためにNexus5あるいはNexus7に書き込むにはANDROID PREVIEW SYSTEM I

    Android 5.0 API概要
  • 第 3 回・新 IDE : Android Studio を使ってみよう! | ギャップロ

    記事は AndroidStudio 1.0.2 を元に作成しています。 Android Studio 2 の新機能についてはこちらの記事をご覧ください。 はじめに 今回は、Eclipse に代わる次世代 IDE の Android Studio について特集します。 Android Studio を導入するにあたり、知っていると便利な情報をまとめてみました。そろそろ格導入したいと考えている方はこの機会にチャレンジしてみてはいかがでしょうか。 インストール まずは 公式ページから配布パッケージをダウンロードし、インストールします。 Windows なら適当なフォルダへ展開し、exe ファイルを起動してください。 Mac なら dmg ファイルを開き、Application フォルダへコピーします。 その後、コピーした app ファイルを起動しましょう。 スプラッシュ後に以下のような画面が

    第 3 回・新 IDE : Android Studio を使ってみよう! | ギャップロ
  • LruCacheを使ってモダンなメモリキャッシュを実装する | TechBooster

    LruCache#LruCache(maxSize)コンストラクタ、putメソッド、getメソッド、またマルチスレッド制御での注意点について順番に説明します。 それでは、さっそくサンプルで確認していきましょう。 メモリキャッシュの生成 アプリケーション開発においてもっともありがちなBitmap(イメージ、画像)のキャッシュ制御を例にとり、キャッシュ周りの実装をまとめたBitmapCacheクラスを作成してみます。 ■src/BitmapCache.java public class BitmapCache { private LruCache<String, Bitmap> mMemoryCache; BitmapCache(){ int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024); int cacheSize =

    LruCacheを使ってモダンなメモリキャッシュを実装する | TechBooster
  • 第 1 回・Eclipse ADT の開発環境を整えよう!! | ギャップロ

    はじめに 今回から数回に渡り、Android アプリの開発環境を快適にするための Tips を紹介します これから Android 開発を始めようとしている方への導入や、Android の開発にもだいぶ慣れたけど、あまりカスタマイズはやってないな、という方へ向けた小技編といった内容でお送りします。 Android 開発環境 Android のアプリケーションを作成するための開発環境は現在過渡期にあり、2つの環境が存在しています。 現在まで主流であった開発環境は、Java をはじめとした様々な言語に対応した IDE である Eclipse です。以前は、Eclipse にプラグインを導入することで Android アプリ開発環境を構築していましたが、近年では、SDK やプラグインも一式セットになったものが Android developers 公式サイトのSDKダウンロードページからダウンロ

    第 1 回・Eclipse ADT の開発環境を整えよう!! | ギャップロ
    thzak
    thzak 2014/04/18
    logcatの保持数って増やせるんだな
  • 第 3 回・Storage Access Framework を使用してみよう! | ギャップロ

    はじめに 今回は、Storage Access Framework について詳細に見ていきたいと思います。 このフレームワークは、ファイルの作成・読み・書きをカプセル化しています。また、実際のファイル入出力処理をユーザが意識することはないため、オンラインストレージのファイルへのアクセスも、ローカルのファイルを扱っているのと同じ様に扱うことが出来るようになっています。 Android では、ファイルを選択し使用する場合にはインテントを受け取る側のアプリで、独自にファイルを選択する画面を作成する必要が有りました。しかし、Storage Access Framework では、ファイルを選択する際の UI も用意されているため、自作する必要がありません。また、アプリを横断して統一した UI を使用することが出来るため、ユーザにとっても分かりやすく使いやすいものになると思います。 まだ登場したばか

    第 3 回・Storage Access Framework を使用してみよう! | ギャップロ
  • ブログフィード | ギャップロ

    トップページ お問い合わせ 個人情報の取り扱いについて 運営元について Copyright © 2013-2024 Up-frontier, Inc. All rights Reserved. Powered by Theme by Anders Norén

    ブログフィード | ギャップロ
  • Android moveTaskToBack

    Activity のリファレンスを眺めていたら、こんなの見つけました第2弾。 public boolean moveTaskToBack (boolean nonRoot) この Activity が含まれる Task を Activity stack の後方に移動する。 Task 内の Activity の順番は変わらない。 引数 nonRoot true : Task 内のどの Activity の場合でも移動する false : Activity が Task の root の場合のみ移動する 戻り値 true : Task は移動した(もしくは、すでに後方にいる) false : Task の移動に失敗した これだけだとつまらないので、これが呼ばれたときのライフサイクルを 調べてみた。 moveTaskToBack() : true onSaveInstanceState() on

  • Android で System.exit() を使ってはいけない理由と、終了方法のまとめ|てくめも@ecoop.net

    Androidではアプリを終了させる場合、System.exit(0) でもアプリを終了することができますが、この方法ではVMごと強制終了させるため、アクティビティのライフサイクルを無視することになる上メモリなどのリソース解放に失敗するおそれがあり、安全ではありません。 適切な終了方法はどれか、ということでアプリケーションを終了させる方法をまとめてみました。 アクティビティを閉じる際の最良の終了方法です。 現在のアクティビティを閉じて前のアクティビティに戻ります。 アプリケーションの起動アクティビティで呼び出した場合はアプリケーションを終了します。 バックボタンを押した時と同じ動きで、実行すると onPause(), onDestroy()が順番に呼ばれます。 復帰時は新規生成となり onCreate(), onStart(), onResume() の順でイベントが発生します。 ■Act

  • Android:ログコードをProguardで削除する

    Android標準で用意されているandroid.util.Logクラスは便利なロギング機能を提供して くれますが、ログ出力の度にTAGを指定するのは面倒です。 また、アプリ内でフォーマットを統一したい場合はLogクラスをラップする独自のロガー を用意することはよくあると思います。 今回下記のようなロガーを作成しました。 特徴は、オプションで出力フォーマットにファイル名と行数を含めることができます。 # 出力される情報はロガーの呼出し元となります。 # 情報はスタックトレースから取り出すので、コールスタックを意識する必要があります package yuki.proguard; import android.util.Log; public abstract class Logger { private static final String LOG_TAG = "YourAppName";

  • Android Developers

    Build AI experiences Build AI-powered Android apps with Gemini APIs and more. Get started Start by creating your first app. Go deeper with our training courses or explore app development on your own.

    Android Developers