タグ

Androidとtipsに関するonyx-pigのブックマーク (11)

  • [Android]アプリでスクリーンショットを無効にする | DevelopersIO

    はじめに Android 4.0 から(Volume down + Power)でスクリーンキャプチャが取れるようになりましたが、この機能を無効にすることができます。 現状スクリーンショットを撮れるものを、わざわざ撮れないようにすることはあまりないかもしれませんが、業務で調べた時に情報が少なく苦労したのでご紹介します。 スクリーンショットを無効にする 無効にしたいActivityで Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_SECURE); とすればスクリーンショットは無効にできます。 (無効な箇所でスクリーンショットを撮ろうとした時の挙動は異なります。Toastにエラーメッセージが表示されたり、ステータスバーに表示されたりします。) 指定のFragmentのみ無効にする Fra

    [Android]アプリでスクリーンショットを無効にする | DevelopersIO
  • Android,iOSアプリ用画像リソースとアイコンサイズのまとめ - OPTPiX Labs Blog

    ウェブテクノロジの佐藤Sです。 Android アプリの開発では、さまざまな解像度の端末に対応するため、1つの画像リソースあたり4種類以上の解像度の画像を用意する必要があります(アイコンも同様)。iOS アプリの場合も、解像度別にはRetina 用と非Retina 用の2種類で済みますが、多種多様なアイコンを作成する必要があり、少し面倒なファイル名命名ルールもあります。 このエントリでは、これらの情報のまとめと、元画像から複数の画像を効率的に変換するツールについてご紹介します。 ※ 2016年4月版の情報を別エントリーにまとめました。こちらもご覧ください。 Android アプリで必要な画像リソース Android では、ディスプレイのDensity (dpi=Dot per Inch; 表示密度)にあわせて、アプリが使用する画像リソースを自動的に切り替えたり、拡縮したりするようになってい

    Android,iOSアプリ用画像リソースとアイコンサイズのまとめ - OPTPiX Labs Blog
  • Androidの音量をストリーム種別ごとに設定する | TechBooster

    それぞれストリームごとに音量を調整できます。設定値は0~100、0~7などストリームによって様々です。最大値はストリームごとに異なるため、複数のストリーム種別の音量を同時に変更する場合は、調整幅に注意してください。複数のストリームに対してボリュームを加算(+1)した場合でも再生音量には差があります。 サンプルコードは次のとおりです。 AudioManagerをつかった音量変更サンプルコード public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // AudioMa

  • NavigationDrawerをつかって、スライド式のメニューを実装する | TechBooster

    Androidアプリケーションのアクションバーの左側に表示できるアプリケーションアイコンには、アップナビゲーションを設定することができました。新しくサポートパッケージに追加された、NavigationLayoutを使うことで、UPナビゲーションの代わりに画面左からニュッと出てくるメニューを表示させることができます。 このメニューをナビゲーションドロワーと呼びます。エントリでは、ナビゲーションドロワーの使い方を紹介していきます。 ナビゲーションドロワーの使いどころ ナビゲーションドロワーは今の流行のUIだと言えるでしょう。さて、このUIはどのような時に効果的に利用出来るのでしょうか。たとえば、Androidにはトップレベルのアプリ画面を切り替える方法として、ナビゲーションドロワーの他にViewPagerとTabを利用したものがあります。このViewPagerとTabを利用したケースと、ナビ

    NavigationDrawerをつかって、スライド式のメニューを実装する | TechBooster
  • Androidの画面サイズを攻略して機種依存を吸収する(ナビゲーションバーとステータスバーのサイズを取得する) | TechBooster

    ※上記の名前付けは一般的なものではなく、今回の解説用に定義した名前です。(Displayクラスのサイズといえばどれもディスプレイサイズということになるため、わかりやすさを優先して図示しました) 特にステータスバーとナビゲーションバーは端末ごとカスタマイズされている可能性もあるため、動的に取得するのが望ましい項目と言えるでしょう。しかしながら、直接この2つの高さ情報を取得するAPIは存在していません。踏み込んで解説するならば、これらはアプリケーションの領域外でありアプリが気にする必要はなく、気にしないでいられるデザインやレイアウトを検討すべきである、という設計思想がうかがえます。設計思想を尊重するならば、このあと解説するAPIをなるべく使わないでいいように工夫できると機種依存の苦悩から解放されるでしょう。 取得する方法は続きから ナビゲーションバーを除いたディスプレイサイズを取得する ディス

    Androidの画面サイズを攻略して機種依存を吸収する(ナビゲーションバーとステータスバーのサイズを取得する) | TechBooster
  • ドラッグアンドドロップできるListViewを作成する | TechBooster

    Androidに標準で用意されているListViewはデータを一覧表示する場合に多用されます。 リストのソート自体はリストを再作成することで可能ですが、直感的にドラッグアンドドロップで操作できると便利だしかっこいいと思いませんか? 今回はこのような直感的にリストの要素を入れ替えることができるListViewが簡単に実装できるライブラリを紹介します。 詳細は以下から。 ドラッグアンドドロップでリストの要素を移動させるためのライブラリとしてCWAC TouchListViewがあります。 またこのライブラリは要素をドラッグしてスライドさせることで要素を削除する機能も提供しています。 ※このライブラリのライセンスはApache Software License 2.0ですので使用する際にはプロジェクトへのライセンスファイルの同梱が必要になります。 今回はこのライブラリを使用してリストの要素を移動

    ドラッグアンドドロップできるListViewを作成する | TechBooster
  • Android4.0で複数選択モードを利用する方法/Getting Started | TechBooster

    AndroidではListViewを利用してデータを一覧表示することができます。 さらにListViewでは、フラグを変更することで簡単に選択モードを変更することができます。 (ListViewの選択モードを切り替える参照) 上記リンクでは3つの選択モード(選択なし、一つのみ選択、複数選択)を解説していますが、Android3.0から新たにもう一つ選択モードが追加されました。 記事内ではそのモードを便宜的に「複数選択アクションモード」と呼ぶようにします。今回はこの複数選択アクションモードについて解説します。 複数選択アクションモードの動作は以下のようになっています(画像はAndroid 4.0のエミュレータです。Android 4.0でも引き続きサポートされています)。 上図左(初期状態)でリストの項目を長押しすると、アクションモードと呼ばれる複数選択モードに遷移します(上図真ん中)。

    Android4.0で複数選択モードを利用する方法/Getting Started | TechBooster
  • 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
  • Android4.1新機能特集:Notification.Styleを利用する | TechBooster

    Android4.1ではNotificationが拡張され、ボタンを配置することはもちろん、表示サイズを拡大したり、画像の数を増やしたり、リッチな通知が可能になりました。 それぞれ通知画面はスタイルファイルでカスタマイズ可能、自由度が非常に大きくなった注目の新機能です! Android4.1の標準機能として、Notification画面は通知メッセージを長押しすることで、どのアプリケーションが表示しているのか、わかるように改善が加えられています。(アプリケーション開発者が手を入れる必要なし) 無意味に大きい通知やユーザーの希望しない広告を出すなど、ユーザビリティを悪化させるNotificationを出すとすぐにアンインストールされてしまうでしょう。 開発者はユーザーが不快にならないUIを良く考える必要があります。 以下から、Android 4.1で追加された効率的でリッチなNotifica

    Android4.1新機能特集:Notification.Styleを利用する | TechBooster
  • Android アプリケーション上からapkをインストールする方法 | TechBooster

    AndroidアプリケーションはAndroidマーケットからのみではなく、それ以外の手段でも インストールすることが可能です。たとえば、SDカードなどの領域に保存しているapkを アプリケーション上からインストールすることができます。 これによりたとえば、Androidマーケットに公開できないアプリ(アップロード上限を超えてしまうサイズのアプリのような)を公開したい場合や、独自のマーケットで公開したい場合などに利用することが可能です。 詳しい解説は続きからどうぞ。 MIME typeを指定する apkのインストールはMIME typeに application/vnd.android.package-archiveを指定したIntentを発行するだけです。 たとえばSDカード上に保存されているapkをインストールしたい場合には以下のようにします。 String fileName = Env

    Android アプリケーション上からapkをインストールする方法 | TechBooster
  • Androidで互換性の高いアプリを書くための最悪ではない程度のプラクティス – oops

    っつーても1.6~4.0までぼちぼち対応しているって程度。 一般アプリ向け。ゲームは知らん。 ・プロジェクトそのもののAPI Versionは最新のもの(今なら14)を指定 ・android:minSdkVersionは当然V4 ・android:targetSdkVersionは二択。3.x以上の端末でMenuボタンを出したいならV10、腹を括ってモダン設計で行くなら最新のもの(今ならV14) ・android-support-v4.jarを使うのは今時常識。Fragment使わず全部ベタActivityとか使う輩はこの先生mashroomあたわず ・基的にV4のAPIしか使ってはいけない。それ以上を使う時はリフレクションするかクラスローダの例外を拾ってスタブクラスでゴニョゴニョ。 ・V5以上のAPIを使ってもコンパイルは通ってしまう。そのくせV4のマシンで動かすとクラスロード時に死ぬ

  • 1