『HexRinger』 作者:amay077 バージョン:0.4.9 対応OS:1.6以上 Android Market価格:無料 (バージョンと価格、対応OSは記事作成時のものです) スマホのマナーモードを設定したものの、その後、解除し忘れて、大事な着信に気が付かなかった!……というのは誰にでもある失敗。『HexRinger』は自分の位置情報を判別し、自動的にマナーモードの切り替えをしてくれるアプリだ。
『HexRinger』 作者:amay077 バージョン:0.4.9 対応OS:1.6以上 Android Market価格:無料 (バージョンと価格、対応OSは記事作成時のものです) スマホのマナーモードを設定したものの、その後、解除し忘れて、大事な着信に気が付かなかった!……というのは誰にでもある失敗。『HexRinger』は自分の位置情報を判別し、自動的にマナーモードの切り替えをしてくれるアプリだ。
AndroidでWeb APIを使う場合、マルチスレッドによるユーザビリティ向上を以前のエントリで説明しました。 AndroidアプリのUIはシングル・スレッド モデルです。 単純にマルチスレッドにしてUIの操作をしてしまうと、CalledFromWrongThreadExceptionでアプリがダウンしてしまいます。 これを回避する仕組みがHandlerです。 Handlerの仕組みを簡単に説明しようと思ったのですが、 またもや長くなってしまったので、先にまとめます。 AndroidのUI操作はシングル・スレッド モデル ユーザビリティ向上の為にはマルチスレッドが必要 Handlerで実現 Handlerを使わない場合に起きる例外は実行スレッドのチェックで発生 Handlerを使うと、UI Threadの持つキューにジョブを登録できる キューはUI Threadにより実行される
タイトルバーのレイアウトを XML で定義することができます。 setContentView の前に requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); で宣言し、setContentView のあとにXMLファイルを getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title); で指定します。 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.viewer2
googleは公式ドキュメントとしてAndroid開発におけるパフォーマンス設計のベストプラクティスを公開しています。 Designing for Performance | Android Developers どんなに優れたUIであってもパフォーマンスの悪いアプリはユーザにとって使いにくいものになってしまいます。 アプリのパフォーマンスチューニングは重要です。 今回は公式ドキュメントをベースにパフォーマンス設計のベストプラクティスのご紹介です。 Javaの世界で当たり前だったものが、Androidの世界では通用しないものも多々あるので覚えておきたいです。 基本的な考え方 Androidで良好なパフォーマンスを得るための基本的な考え方は 無駄な処理はしない 無駄なメモリは使わない ことです。以降に出てくる原則はすべてこれにのっとったものです。 オブジェクト生成は避ける オブジェク
AndroidパフォーマンスTips、前回の続きです。 Android開発でのパフォーマンスTips(1) | Techfirm Android Lab 定数はファイナルで宣言する static int intVal = 42; static String strVal = "Hello, world!"; 上記のようにfinalなしで定数を定義した場合、intValを参照するときにフィールド走査が実行されるが、 static final int intVal = 42; static final String strVal = "Hello, world!"; このようにfinal宣言をするとintValは直接VMが参照できるようになるため、高速になる。 メソッドやクラスに関してはfinal宣言をつけてもコード保守の面では効果があるが、パフォーマンス面でのメリットはない。 また、ロー
Androidではアプリを終了させる場合、System.exit(0) でもアプリを終了することができますが、この方法ではVMごと強制終了させるため、アクティビティのライフサイクルを無視することになる上メモリなどのリソース解放に失敗するおそれがあり、安全ではありません。 適切な終了方法はどれか、ということでアプリケーションを終了させる方法をまとめてみました。 アクティビティを閉じる際の最良の終了方法です。 現在のアクティビティを閉じて前のアクティビティに戻ります。 アプリケーションの起動アクティビティで呼び出した場合はアプリケーションを終了します。 バックボタンを押した時と同じ動きで、実行すると onPause(), onDestroy()が順番に呼ばれます。 復帰時は新規生成となり onCreate(), onStart(), onResume() の順でイベントが発生します。 ■Act
ImageViewのビュー自体のサイズと、中身(Drawable)の表示のされ方はいろいろな要素に影響されて決まる。 ちょっとわかりにくいのでざっと整理してみたいと思う。 (この記事を読むには、Androidのレイアウト計算についてなどで、レイアウトの決まり方を知っておく必要あり) サイズに影響を与える要素は以下の10個がある。 親ViewGroupからのmeasureSpec DrawableのIntrinsicWidth/Height(Bitmapなどの大きさ) minWidth/Height maxWidth/Height BackgroundDrawableのIntrinsicWidth/Height adjustViewBounds padding matrix scaleType cropToPadding このうち、ビューのサイズに影響を与えるのは1〜7のみで、8〜10はDr
Xperia発売されましたね。 うちのPICTRHYTHMもよろしくね! http://www.techfirm.co.jp/pictrhythm/ と、宣伝もそこそこに今回は、Adapterの高速化にトライします。 Androidの中でAdapterクラスは頻繁に使われます。 Adapterクラスは、データソースとビューのつなぎ役を果たすものです。 データの一覧を表示するには、ListViewやGridView、Galleryなど様々なViewがありますが、これらのViewにはsetAdapterメソッドがあり、adapterがセットされると、表示すべきデータはこのアダプターから取得するようになります。 Adapterが内部データの違い(データがArrayだったり、Listだったり、Cursorだったりなど)を吸収してくれるので、Viewは余計なことを考えずに描画に集中できるわけで
以下、自分自身をリスナとして、拾わせる場合。 ハマったのが、View.onTouchEventをオーバーライドしている場合。 この場合は、onClickイベントは拾えない。 public class HogeView extends View impelements View.OnClickListener, View.OnLongClickListener { public HogeView(Context context, AttributeSet attrs){ super(context, attrs); this.setClickable(true); this.setLongClickable(true); // ←これはdefault=false, ↑は知らない setOnClickListener(this); setOnLongClickListener(this); }
shapeタグを使用することにより、グラデーションや枠線、角丸などの効果を持った背景形状を定義できます。 これでボタンをわざわざ画像にする機会も減りますね。 定義した形状は、backgroundで指定して使用します。 注意点としては、とある角(例えば右上の角)だけ丸くしない(0dpを指定)はできないようです。 drawable/my_shape.xml <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" // rectangle | oval | line | ring > <!-- 角を丸める --> <corners android:radius="5dp" // すべての角を半
We make society rich ITは今や、企業活動ならびに個人の生活からも切り離せないほどの大きな存在となっています。 ITの技術向上は、間違いなく社会を豊かにすることにつながるものと考えております。 SORICHは、ITにおける技術向上、クオリティ向上をめざし、社会に大きく貢献してまいります。 開発実績 Development record FX取引システム 金融 Java JavaScript MySQL 大規模なトランザクション処理が要求されるプライスボート、注文機能等、リアルタイム性の高いフロントシステム開発に加え、法廷帳簿出力を含めたバック業務システムなど、FX事業を運営する上で必要となる包括的なシステムを供給。 非常に高い品質を求められるシステムのため、ミスが許されないというプレッシャーの毎日でした。 レンタル端末在庫管理 IT Java PHP JavaScrip
Android でグラデーションを描くには、次のクラスを使う ・LinearGradient ・RadialGradient ・SweepGradient それぞれ Shader クラスを継承していて Shader s = new LinearGradient(0, 0, 10, 10, Color.BLACK, Color.WHITE, Shader.TileMode.CLAMP); Paint p = new Paint(); p.setShader(s); のようにして使う ・LinearGradient 直線方向のグラデーションを描く Public Constructors public LinearGradient (float x0, float y0, float x1, float y1, int[] colors, float[] positions, Shader.Ti
Android2.3(Gingerbread)をワンクリックでroot化できるアプリが登場 「GingerBreak」 渋いっ やり方 1.XDAから GingerBreak-v1.00.apk をダウンロード&インストールする。 xda-developers - GingerBreak(root for GingerBread) ※xda-developersのアカウントが必要 2. 初回起動時にエラーが出た場合には下のコマンドを実行して、再度GingerBreakを起動 rmdir /data/local/tmp mkdir /data/local/tmp 3. 「Root device」をタップで完了 ※5分くらいかかるよ その後、再起動するよ 焦らずに焦らずに 4. 再起動後、su関連のコマンドとSuperuserPermissionが自動的にインストールされている ついにGing
気鋭のAndroidアプリ開発者達はどんな考え方で開発に取り組んでいるのか。新デバイスをいち早く使いこなし、企業内の開発の枠組みを見直し、周囲を巻き込み、他のアプリとのエコシステムを意識する。その開発姿勢を見ていこう。 目次
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く