前提条件 Android Studioが入っていること(Hello Worldが作れること) ToDo Android SDKの格納場所を確認する Android Studioで 「File」>「Other Settings」>「Default Project Structure…」 ここに記載されています。 bash_profileにAndroid SDKのパスを記入する 下記コマンドでbash_profileを開きます $vi ~/.bash_profile 先ほど確認したAndroid SDKの場所を記入します export PATH=$PATH:/Users/furusin/Library/Android/sdk/platform-tools bash_profileを再度読み込む 方法は2つあります。 1.ターミナルを再起動 2.コマンドで改めて読み込む コマンドで改めて読み込む
Javaの話はいろいろあると思いますが、Android開発を極めていくにはどうしたらいいかという話を吐き出してみようと思います。 開発入門向けのガイドはいいもの https://github.com/mixi-inc/AndroidTraining があるので、より実践的な内容をどうするか、という話にフォーカスします。 Androidなデザインと開発 Material Designのガイドライン Googleが考えた最強(?)のデザインガイドライン、それがマテリアルデザインです。 https://www.google.com/design/spec/material-design/introduction.html 使うべきUI部品、リスト表示のレイアウト、ダイアログを使うタイミングと表示内容、遷移アニメーションの使い方など多岐に渡ります。 この内容に沿って開発するとかなりモダンなAndr
概要 build.gradleのtargetSdkVersionとcompileSdkVersionに何を指定すればいいのか分からなかったので自分なりに調べてみました。 targetSdkVersionの役割 メインターゲットになるOSのバージョンを指定します。 targetSdkVersionを変更すると、最新OSの機能が利用できるようになります。 逆に下位互換性のない最新APIの機能を実装したい場合は、targetSdkVersionを最新にする必要があります。 たとえば、SharedElementを実装した場合は、targetSdkVersionを21(lolipop)以降にしないと、Android 5.0以降の端末でもSharedElementが動きません。 targetSdkVersionを上げた場合、最新OSでのアプリの動きが変わる可能性があるので、しっかり最新のOSでリグレッ
はじめに 今流行り?のZennにも同じ記事を投稿してみました 個人的によく使うレイアウト系のチートシート。 よく忘れて毎回調べるのでメモ。 逐次更新 2018/5/9 ActionBarにアイコン表示を追加 2020/3/3 「EditTextを横幅いっぱいで右端にTextViewを配置」にConstraintLayout版を追加 2020/09/22 はじめににZennへのリンクを追加した ボタンを横に等間隔で配置する <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="match_parent" android:layout_height=
Android において、静的にリソース名を指定せずに、動的にリソースIDを取得したいことが時々あります。 ある範囲のリソースが欲しいなど、一定の規則でリソース名が決まっている場合は以下の方法でリソースが取れます。 // prefix0, prefix1, prefix2, ... と言う名前のリソースを取得する for(int i=0;; i++) { int resourceId = getResources().getIdentifire("prefix" + String.valueOf(i), "string", getPackageName()); if(resourceId == 0) break; // リソースを取得 String str = getResources().getString(resourceId); }
The Challenge After resizing, rotating, or otherwise modifing an image, you typically want to retain all the EXIF metadata from the original image. Unfortunately the EXIF metadata is not automatically copied for you, so you need to explicitly copy it from the original. Review of Existing Solutions There are several solutions that currently address this, but most of them fall short in one way or an
Loading Large Bitmaps Efficiently の内容なのですが、補足も入れてメモっておきます。 端的にいうと、 実際に表示するサイズより大きい Bitmap を読みこむのはメモリの無駄 (拡大させるとかなら話は別だけど) ・高解像度のカメラで取られた写真は往々にしてディスプレイのピクセルサイズより大きい ・サムネイルとして使うのに元のサイズのまま読み込むのはばかげてる ・大きいサイズの Bitmap をメモリに展開したら OutOfMemoryException になる ステップとしては3つ 1. メモリに Bitmap 展開せずに、サイズや MimeType だけを取得する 2. 1. の情報をもとにサブサンプルにサイズを決める 3. 2. で決めたサブサンプルで Bitmap をメモリに読み込む 1. メモリに Bitmap 展開せずに、サイズや MimeType
okhttpのドキュメントはあまりないのだけど、wikiのrecipe集がそこそこ揃っている。 Recipes · square/okhttp Wiki · GitHub 実際に動くコードははsamples moduleにあるのでcloneするとIDEで見ることができる。 square/okhttp/samples/com.squareup.okhttp.recipes ちなみにokhttpの一部であるMockWebServerはあまり注目されていないけど強力だ。Mockitoを駆使してWeb API Clientのテストを書くよりもずっと信頼できるし、原理的にも分かりやすい。 okhttp/mockwebserver at master · square/okhttp · GitHub
Android開発していると、なんかMVCうまくいかないなぁとモヤモヤしてきました。そろそろ他のアーキテクチャを模索してみた方がいいんじゃないかと思い始めまして、ある程度考えがまとまったので自分なりの指針を残しておこうと思います。 そもそもアーキテクチャ必要なのか 世の中には色々なアーキテクチャが存在するんですが、なんか概念を読んでもスッと理解できることが少ないんですよね。これはなぜかと言うと アーキテクチャが解決しようとしている問題を理解できないからです。 極端に言うと、HelloWorldを表示するアプリにMVCを導入する必要があるの?って言うと答えはNoですよね。じゃあ猫の名前をリストで表示するアプリだったらどうかと言われると、これもまだ必要ないかもしれません。 つまり、アーキテクチャを適用しなくても問題がないほど小さなアプリにおいては、ただ冗長になるだけなので別にいらないわけです。
株式会社アットステージは、スマートフォン向けゲームアプリやツールアプリの企画・開発を通じて、「人と人とが繋がる」をコンセプトにサービスを提供するデベロッパーです。
カテゴリー adb (2) Android (101) AppStore (1) Appuim (2) aws (1) cloud9 (1) dagger2 (1) DbFlow (2) Eclipse (15) flutter (9) framework (4) GIMP (1) git (3) Googlde drive (2) Google Spreadsheet (2) gradle (5) iOS (14) java (10) Mac (7) MindMap (1) MySQL (2) objective-C (1) PHP (11) Selenium IDE (6) SharkORM (2) SQLite (7) svn (1) UML (1) Unit Test (1) Unity (17) VB.NET (1) vi (1) VR (2) Windows (2) Xcode
Caching Bitmaps に補足をつけて解説しています。 前回のバックグラウンドで Bitmap を処理するで、最後に(でもキャッシュは、、、?)と書きました。 そう!キャッシュ!キャッシュ大事。 前回までの段階でもまだ ListView で使うには問題が残っています。 既にタスクが走り終わって ImageView に画像がセットされている行をいったんスクロールアウトし、再度スクロールして画面に表示すると、またタスクが走ってしまいます。 スクロールするたびに読み込み状態になるのはユーザーとしてはうれしくないですよね。 そこでキャッシュを使って、一旦読み込んだ画像が再度必要になったときに利用できるようにします。 キャッシュとしてはメモリキャッシュとディスクキャッシュを利用することができます。 ■ メモリキャッシュ メモリキャッシュの利点は読み込みが速いこと、欠点はメモリを消費することで
前回の記事 (ログイン & ログアウト処理 (スタックの問題点)) で, ログイン & ログアウト処理の実装ではまった内容を説明した。今回はその解決法を説明する。 前回の記事における HogeActivity の内容を以下に変更する。(LoginActivityにもnohistory属性を付加) package com.dev_grafr.app.logintest; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; i
ログイン & ログアウト処理があるアプリケーションを作成する際にはまった内容をメモ 最初にはまった内容を、説明します。 問題点とかどうでもいいから、ログイン & ログアウト処理 の方法だけ教えてくれればいいんだよ!って方は, ログアウト処理の実装の方を参照してください 流れとして, ① MainActivity においてログイン済みかどうかの判定を行う (MainAvtivity は, レイアウトを持たないActivityで, アプリケーション起動時の処理などを行うものとする。) ② ログインがされていない場合は, LoginActivity に遷移し, その後ログインが完了したら HogeActivity に遷移 ③ ログイン済みの場合は HogeActivity に直接遷移 ④ HogeActivity においてログアウト処理が行われたら LoginActivity に遷移する。 とい
mixiチェック Tweet スライドショーアプリの作成を検討していて、 試作アプリを作っていたんだけど 画像がパッパッと切り替わるのではあんまりスライドショーっぽくないので フェードイン/フェードアウトするにはどうしたらいいか考えてました。
こんばんは。 今回は、Android(Java)でバックグラウンド処理(非同期処理)をする方法について、メモします。 また、バックグラウンド処理中にプログレスダイアログを表示させ、キャンセルにも対応するようにしました。 Androidでバックグラウンド処理をしようとすると、UI Threadを使いメインスレッドとは別スレッドとして処理をさせるようにする必要があります。 また、処理中にUI更新を行うためにはHandlerを利用しなければなりません。 ただ、それだと少しめんどくさいので、今回は別スレッドでの処理と処理中や処理完了後のUI更新を簡単にしてくれるAsyncTaskというものを使って書いていきます。 (なお、UI ThreadやHandlerを利用した方法はこちらのサイトに詳しく説明してあります。一度見ておくとAsyncTaskについての理解の助けになるかもしれません。) 基本的にこ
カスタムダイアログの作成方法のひとつとして、AlertDialog クラスをカスタマイズしてカスタムダイアログを作成する方法を説明します。 AlertDialog を用いてカスタムダイアログは、 カスタムダイアログに表示したいレイアウトをリソース (xml) で定義 定義したレイアウトを AlertDialog に設定 という手順で作成します。 リソース (xml) の定義 レイアウトリソース (xml) に、ダイアログに表示したいレイアウトを定義します。 ここでは、ID と Password を入力するためのレイアウトを定義します。 また、AlertDialog に設定するために、ベースとなるレイアウト (ここでは LinearLayout) に android:id を設定する必要があります。 <?xml version="1.0" encoding="utf-8"?> <Linear
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く