Archive for the ‘Android’ Category

Android アプリ開発時の汎用関数の紹介

日曜日, 5月 16th, 2010

自分がAndroid アプリの開発をやるようになって、これでもう1年は経過したのではないかと思っています。1年経った今でも、Androidアプリを開発するときは分からないことが多く、分からないことが出てくるたびにGoogle先生のお世話になったり、過去に自分が書いたコードを探して見てみる、などということをしてきました。そんな中で、自分がAndroid アプリを開発する際に比較的よく使う関数群を汎用関数として、Utilクラスとしてまとめてみましたのでその一部を紹介します。

バージョン情報の取得

Androidアプリケーションには、1つのアプリケーションにつき必ず1つのAndroidManifest.xmlというファイルが存在します。このAndroidManifest.xmlファイルには、アプリケーションの名前や使用するインテント名、サービス名、バージョン情報などなど多くの情報がXMLによって書かれています。このAndroidManifest.xmlファイルに書かれているバージョン情報を取得し、そのバージョンによって処理を変える場合があります。そこで、現在のアプリケーションのバージョンを知るための関数を2つ作成しました。

作成したバージョン情報取得関数

// バージョン情報の取得関連
public static int getVersionCode( Context context ) {
    int ver;
    try {
        ver = context.getPackageManager().getPackageInfo( context.getPackageName(), 1 ).versionCode;
    } catch (NameNotFoundException e) {
        ver = -1;
    }
    return ver;
}

public static String getVersionName( Context context ) {
    String ver;
    try {
        ver = context.getPackageManager().getPackageInfo( context.getPackageName(), 1 ).versionName;
    } catch (NameNotFoundException e) {
        ver = "";
    }
    return ver;
}

説明

Android のバージョンには2種類あり、1つ目は整数値で表現された番号。2つ目は1.3.12などのように詳細な情報が文字列として表現されているバージョン名です。今回作成した関数では前者をVersionCode、後者をVersionNameとして取得しています。なお、これらの情報はContextクラスから、PackageManagerクラスを取得し、そこからさらにPackageInfoを取得するとversionCodeとversionNameの情報が得られます。それらを単純にgetVersionCode, getVersionNameとした関数です。

(続きを読む…)

Android Marketに公開して3週間

土曜日, 5月 1st, 2010

先日、楽天のクレジットカードを契約しまして、無事にAndroid Marketに自分の開発したアプリケーションをアップロードすることができました。

今までは、クレジットカードを所有していないがために、Android Marketにアップロードすることができず、代わりにappli.jp(appli.jpトップページ / Androidアプリ ダウンロードマーケットappli.jp)というサイトにアプリケーションをアップロードして公開していました。実際に、Android Marketにアップロードして3週間経った感想としては、appli.jpと比べてやはり、認知度が違うなぁということを実感しています。appli.jpでは3ヶ月以上公開していても、総ダウンロード数が50件もいかなかったものが、Android Marketに公開したら、たった2週間ほどで1,000ダウンロードを突破するという状況です。さすが、Google の提供する公式マーケットだなぁという感じです。

Android Marketへの公開で困ったこと

Android Marketに公開して困ったことが1つあります。最初に公開したアプリで発覚したことなのですが、アプリをリリースする際に用いたkeystoreファイルを削除してしまうと、アプリケーションをアップデートすることができない、ということです。これには、アプリケーションの公開手順を説明する必要があるので、公開手順を簡単に説明します。

アプリケーションの公開手順

まず、EclipseなどのSDKを用いてAndroid アプリケーションを開発します。開発し終わったら、それをUnsignedのapkファイルとして書き出します。次にコマンドプロンプトなどを用いて、キーストア・ファイルを生成し、そのキーストア・ファイルをUnsignedのapkファイルを1つにまとめ上げて、署名付きのapkファイルを生成し、このapkファイルをマーケットにアップロードすることでAndroid アプリケーションを公開することができます。

(続きを読む…)

[Androidアプリ] EStrong Exploler

火曜日, 12月 22nd, 2009

Androidで自分が使っているファイラーアプリ(EStrong Exploler)に先日バージョンアップがあり、とても便利な機能が付いたのでブログに書いてみようと思います。ファイラーといえば、Astroあたりが人気のようだが、自分は、EStrong Explolerを使っている。というのも、このアプリは、Android端末のSDカード以外にも実はSambaサーバーのフォルダも参照できるようになっている。これは、自宅などでSambaサーバーを運用している人にとっては重宝する機能だと思う。自分自身、自宅内のみのローカルサーバーではあるが、Linux(CentOS)にSambaを起動させて運用している。そして、自宅内では無線LAN(Wi-Fi)も運用しているので、自宅にいるときにはHT03-AにてCentOSの共有フォルダ内を自由に参照することができるのだ。この機能が以前から重要だと考えていたので、EStrong Explolerを使い続けてきた。

最近の新機能

上で書いたSambaサーバーを利用できるだけでもよかったのだが、さらに今回新機能がついた。それは、FTPサーバー内のフォルダを閲覧できるようになった。残念ながらファイルの閲覧・編集は現在は無理(?)のようだが、これは時期にバージョンアップにより可能になるだろう。とはいえ、FTPサーバー内のファイルをコピーして自端末内やSambaサーバー上に複製したり、自端末やSambaサーバー上からファイルをアップロードすることも可能である。Web運営を行っている人にとっては、ここまで便利なアプリはなかなかないだろう。実は昨日、AndFTPというアプリを見てインストールしてみたのだが、これはFTPサーバーとの接続がメインであって、自端末やSambaサーバーとのアップロード・ダウンロードについては考慮されていない気がする。

(続きを読む…)

Androidでタグクラウドを実装する(ソースコード付き)

日曜日, 12月 13th, 2009

Android開発を行っていて、意外にもライブラリなどが存在しなかったのがタグクラウドです。まぁ、見つからないなら自分で作ってしまえ、という考えで下の画像のようなタグクラウドをちょっと実装してみました。なので、そのTagCroudクラスとそれを利用するために必要なTagクラスの2つをここに公開します。自分自身Javaにはあまり強くないことと、Androidアプリ開発を始めてまだ間もないということからおかしな実装をしている部分もあるかと思いますが、その場合にはコメントにてお知らせいただくか、twitter(@1987yama3)までご連絡ください。

tagCroud

Tagクラス

タグクラスはタグ(語句とその出現数)を格納することが主な役割です。また、これに加えてタグクラウド上でタグをクリック(タップ)した際の挙動をここに記述できるようにしています。具体的には、クリック時には、タグクラス内のIntent型のメンバ変数intentを引数としてインテントを発行します。タグクラスのメンバ変数(語句、出現数、インテント)はSetメソッドによりセットすることができます。

(続きを読む…)

Androidアプリ開発 プログレスダイアログの実装

火曜日, 12月 1st, 2009

Androidアプリを開発していて、少し実装に手間取ってしまったことを備忘録がてらここに書いておこうと思います。今回手間取った内容は、プログレスダイアログの実装です。プログレスダイアログというのは、下の画像のようなダイアログで、時間のかかる処理を行っている間、画面に「処理中である」ということを示す画面を表示し、処理が終了したらそのまま消えるダイアログのことです。時間のかかる処理といえば、多くは「ウェブ接続」を行い、そこでデータを取得しデータをパースし、必要な情報をディスプレイ上に表示する、などが存在しますね。ではその実装方法です。

progressDialog
(続きを読む…)

Get Adobe Flash playerPlugin by wpburn.com wordpress themes