2011年3月31日木曜日

『デジクロッくん』製品版 予定

そろそろ、マーケットに出したいと思ってるんですが、お値段は100円くらいで!
まあ、100円の価値もないかも知れんけどね!

機能は、デモ版と同じです。後は、フォントを集めなおして(ライセンス等の関係)パックしなおしますんで、デモ版より数は減ると思います。
SD内のフォントもパッケージフォルダ内に取り込む予定だったけど、よくよく考えたら追加していくと、どんどん膨れ上がるので、SD内フォントはそのままSDから呼び込む仕様にします。削除機能付ければいいのでは、と思うんだけど使ってる人が削除してくれるとはかぎらないんで・・・

100円だし、この程度のアプリか・・・と我慢できる人は購入してみてください。
今後は、バグが発生したら対処できるものは対処
機能追加の要望で可能なものは、追加

そんなとこです。

2011年3月29日火曜日

なんでだろ

昨日フォントのせいで、スピナーがメモリを食って見たいないこと書いたが・・・
スピナー自体がメモリーを食ってるみたいです。

生成方法間違ってるかな とほほ

と、思ったけどスピナーとは そうゆうものなのかも知れない

2011年3月28日月曜日

外部フォントの取り込み

androidで外部フォントを取り込む場合 assetsフォルダにフォントファイルをぶち込んで、createFromAssets(getAssets(), "フォント名.拡張子")を使うんですがこいつを描画毎に呼び出すと、なぜかメモリーをどんどん食い尽くしていく。
そして、なぜかcreateFromFile("フルパス+フォント名.拡張子")で やるとメモリーを食わない。

なぜなんだろ~ getAssets()が、contextを掴んで 開放できないんだろうか・・・
う~ん わかんねぇ

とりあえず、今回のアプリはSDからも読み込むということで フォントファイルを全てfilesフォルダにコピーしてcreateFromFileで、読み込むことにした。
描画では、メモリーリークしなくなったけど、スピナーの表示でメモリーリークしてるから もう少しコードを見直しだわ

2011年3月23日水曜日

『デジクロッくん(Demo.)』を マーケットにUP予定

ホーム画面に置く時計ウィジェットです。
ウィジェットを配置して、タップしますと設定画面が開きます。
デモ用ですので、10分で基本設定表示に戻ります。
(変更した設定は保存されてますので、再度設定画面に戻すと表示し直されます)
フォントは、SDカード内にフォントファイル(TTF,OTF)があれば全て読み込みします。
デモ用に、いつくか入っておりますがお好きなフォントをSDカードに保存してご利用できます。

■注意事項
 全てのandroid端末に対応しているものではございません。
 フォントは、表示できない物もございます。
 ウィジェットが完全に表示されてない時は、設置したと思われる箇所をタップして設定画面を再度表示してみてください。
 画像処理及び、AppWidgetの性質上、時間が更新されない時があります。
 正確な時刻を表示するものではありませんので、ご了承ください。

■ 時間/時計 設定項目
 ・表示 ON/OFF
 ・表示形式
 ・表示する基準位置
 ・フォント
 ・文字色
 ・影付き ON/OFF
 ・影の色
 ・文字との距離
 ・縁取り ON/OFF
 ・縁取りの色
 ・縁取り幅
■ サイズ 設定項目
 ・基本サイズ
 ・横方向の伸縮
 ・表示位置微調整(縦・横)
■ 特殊効果 設定項目
 ・効果適応箇所選択
 ・エンボス ON/OFF
 ・エンボスぼかし量
 ・テクスチャー ON/OFF
 ・テクスチャー選択
 ・文字透過率

2011年3月18日金曜日

デジタル時計Widget『デジクロッくん』を作ろう

最初に作るアプリとして、デジタル時計widgetを作ろうと思います。

アプリの名前は、『デジクッロくん』 
いろいろ、カスタマイズできるように頑張る!!!で、作り始めて・・・正直初めてのアプリではないなと思いました。
が、しかし やり始めたからには一応形にします!

現在できる設定
・文字色(16色)を変更可能
・フォントを変更可能(フォントは、SDカードから読込み可能にする)
・ドロップシャドウ機能 色と文字からの距離を変更可能
・縁取り 色と縁取り幅を変更可能
・文字サイズ、横方向への拡大、描画位置の微調整(縦横可)を変更可能
・エンボス加工、文字へのテクスチャーの貼り付け可能
・文字の透過率を変更可能
ほぼ、時計と日付でそれぞれ設定できます。
こんな、感じです。

で、今は 非常に使いづらい設定画面を作っています。

2011年3月14日月曜日

SDからのフォントファイル読み込み

SDカードの\fontsフォルダー内からフォントファイルを取得する方法
ArrayList fontFile = new ArrayList();
String stateSD;
// SDカードがマウントされてるかの確認
stateSD = Environment.getExternalStorageState();
if(Environment.MEDIA_MOUNTED.equals(stateSD)) {
    // フォントファイルが格納されているディレクトリを設定
    File file = new File(Environment.getExternalStorageDirectory().getPath() + "/fonts");
    // ディレクトリ内のファイルを取得
    String fileName[] = file.list();
    for(int i = 0; i < fileName.length; i++) {
        // ファイル名を取得
        File selectName = new File(file.getPath() + "/" + fileName[i]);
        // フォントファイル(ttf,otf)を選別
        if(selectName.getName().endsWith("ttf") || selectName.getName().endsWith("otf")){
            fontFile.add(file.getPath()+"/"+fileName[i]);
        }
    }
}
SDカード内の全てのフォルダー内からフォントファイルを取得する方法
ArrayList folderList = new ArrayList();
ArrayList fontFile = new ArrayList();
String stateSD;
// SDカードがマウントされてるかの確認
stateSD = Environment.getExternalStorageState();
if(Environment.MEDIA_MOUNTED.equals(stateSD)) {
    // ルートディレクトリを取得
    File file = Environment.getExternalStorageDirectory();
    // ルートディレクトリをfolderListに追加
    folderList.add(file.getPath());
    for(int i = 0; i < folderList.size(); i++) {
        // フォルダを設定
        File subFolder = new File(folderList.get(i));
        // フォルダ内のフォルダ・フィル名を取得
        String selectName[] = subFolder.list();
        for(int j = 0; j < selectName.length; j++) {
            // フォルダ・ファイルを1つづつ設定
            File subFile = new File(subFolder.getPath() + "/" + selectName[j]);
            // 設定された項目がフォルダか判別 フォルダならfolderListに追加/目的のファイルならファイルリストに追加
            if(subFile.isDirectory()) {
                folderList.add(subFolder.getPath() + "/" + selectName[j]);
            }
            else if(subFile.getName().endsWith("ttf") || subFile.getName().endsWith("otf")) {
                fontFile.add(subFolder.getPath() + "/" + selectName[j]);
            }
        }
    }
}
この方法だと、フォルダーに何も入ってない場合selectName.lengthで、例外が発生するかなぁ・・・
try~catchで、例外処理をした方がよさそう。

2011年3月13日日曜日

とりあえず

Androidアプリ用にブログを作ってみた 。

使い方がよくわからんが、まあ なんとかなるでしょう。

便利そうなら、ゲーム用のブログもこっちにもってこようかなっと