2011年 8月 11日 はてなブックマーク -

root 化ずみ環境の判定について

たとえそれが root 化ずみ端末でなければメインの機能を果たさないアプリであったとしても、無垢な端末環境で実行した際に意味不明のエラーが発生するといった事態は避けるべきでしょう。 また、アプリによっては端末が root 化されていれば特定の機能を利用可能とし、そうでなければその機能を無効化するといった実装が必要になる場合もあるでしょう。 そのためには現在の端末環境が root 化ずみであるかそうでないかの判定を行う必要がありますね。

実際にはそれはなかなか根の深い話題ですが、常に十分ではないものの一定水準の実用性のある方法として、「Superuser がインストールされているか否かを調べる」というやり方が挙げられます。指定されたパッケージ名からそのアプリがインストールずみかそうでないかを真偽値 で返すコード例を示します。 Superuser のパッケージ名である “com.noshufou.android.su” を渡せばインストールの有無がわかる、というわけですね。

import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
         

public boolean AppIsInstalled(String PackageName) {
 
PackageManager pm = mContext.getPackageManager();
 
try {
   
ApplicationInfo ai = pm.getApplicationInfo(PackageName, 0);
 
} catch (NameNotFoundException e) {
   
return false;
 
}
 
return true;
}

DSAS開発者の部屋:root 化ずみ端末に対応した Android アプリを書く方法

Android 端末を root 化するユーザが増えています。

その状況自体もいろいろ興味ぶかいのですが、ところで、その「root 権限を利用するアプリ」というものはどうやって書けばいいのでしょう?Google 公式の開発者向け資料は言うに及ばず、その他のリソースにも今のところほとんどこの話題に関する情報は見当たりません。そこで今回は、実際に手元のアプリを root 権限での実行に対応させる試みを通じて得た情報やノウハウを紹介したいと思います。


9ヶ月前 | | 2011年 8月 11日 | このエントリーを含むはてなブックマーク
2010年 12月 3日 はてなブックマーク -

switchを使う

int i;

for (i = 0; i < length; i++) {
    if (flg == 0) {
        // 処理
    } else if (flg == 1) {
        // 処理
    } else {
        // 処理
    }
}

ifの場合は上から順に見ていきますが、switchはいきなりジャンプします。

int i;

for (i = 0; i < length; i++) {
    switch (flg) {
        case 0:
            // 処理
            break;
        case 1:
            // 処理
            break;
        default:
            // 処理
            break;
    }
}

ループをたくさん回す処理を高速化する初歩の初歩。 - このブログは証明できない。

ifで分岐を多くするより、switchで行った方が高速です。
これはコンパイラでもなかなか高速化出来ない所なので、是非取り入れましょう。


1年前 | | 2010年 12月 3日 | このエントリーを含むはてなブックマーク
2010年 7月 31日 はてなブックマーク -

 いつもの客からシステム開発の引き合いがあった。
いそいそと出かけて行き、仕様を聞いてきた。
今回も素晴らしい提案をして受注させていただこうと思っていた。
ふたを開けたら失注だった。
信じられなかった。
理由を聞いたら、相手はもう動くソフトを持って、その画面を操作して見せながら
見積書の説明をしたのだという。
しかも見積金額が自分のところより3割も安い。

私はこの話を、ある会社の営業担当から直接聞いた。
私は「これだ!」と思った。
GeneXus や Wagby や PEXA や WALTZ といったノンプログラミングシステム開発ツールは、これが簡単にできる。ほんとうの中身はなくても、見た目や画面の振る舞いはそこそこに作ることができる。
動くシステムを作って提案されたら、顧客が注目するのは当然だ。
これからの提案は、少なくとも動く画面を沿えて見積を提出する時代に向かうだろう。

当社はなぜ失注したのですかと客に問うと、「相手はもう作ってきたんです」とのこと。:IT業界来し方行く末:ITmedia オルタナティブ・ブログ (via kskhrt) (via oonishin) (via nakano) (via petapeta) (via gutarin) (via an-k)

1年前 | | 2010年 7月 31日 | このエントリーを含むはてなブックマーク
2010年 4月 18日 はてなブックマーク -

 アプリケーションソフトウェアの開発は、さまざまな状態/段階を経て完成します。その段階/状態と、リリース後の状態/段階を示したのが、バージョン表記です。

 例えば、数字以外でも、以下のような表記を見かけたことはありませんか?

  • Pre-Alpha(Nightly Build)
  • Alpha
  • Beta
  • RC(Release Candidate)
  • RTM(Release to Manufacturing)または、GM(Golden Master)
  • GA(General Availability)

意外と知らないバージョン表記・数字の豆知識 - @IT

開発段階によるバージョン表記の正しい使い方が紹介されています。
バージョンの付け方の参考にしてみましょう。


2年前 | | 2010年 4月 18日 | このエントリーを含むはてなブックマーク