忍者ブログ

2007/03/04開始。ソフトウェア管理やDelerer SEの作者であるおにぎりくんの試行錯誤の記録です。
2024
前の月へ 10 : 123456789101112131415161718192021222324252627282930 : 12 次の月へ
1  2  3  4  5  6  7 
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

GithubにAndroid向けメトロノームライブラリを置きました。
https://github.com/LapisCactus/cactus-metronome

Androidアプリでメトロノームの音を鳴らすだけのライブラリです。Viewは付属しません。
サンプルコードがありますので参考にしていただければと思います。

ライブラリ本体はこちらからダウンロードできます。
https://github.com/LapisCactus/cactus-metronome/tree/master/cactusmetronomelib/release

libsフォルダにcactusmetronomelib.jarを配置すると、使えるようになると思います。
jarファイルを使う場合は当たり前のことなのかもしれませんが…こちらのページが参考になりました。
http://sakebook.hatenablog.com/entry/2014/08/17/004540


PR
Android向けのメトロノームライブラリを作成中です。
ひとまずメトロノームとして使用できることが確認できたため、リリースの準備をしています。

11月までにはGitHubにソースコードを公開し、JarファイルとJavadocをダウンロードできるようにしようと思っています。
私のWindows7 では、休止モードから復帰したときに音がならなくなることがあります。
そんなときはWindows Audio Endpoint Builderサービスを再起動するのですが、頻繁に発生するのでいちいち再起動するのが面倒です。そこでバッチファイルをこさえてみました。

@echo off

net session > nul 2>&1
if %ERRORLEVEL% == 0 (
    echo administrative privileges! restart audio service
    net stop audiosrv
    net stop audioendpointbuilder
    net start audioendpointbuilder
    net start audiosrv
) else (
    echo not administrative privileges... restart.
    powershell -command start-process "%0" -verb runas
)
簡単な内容説明:
最初にnet sessionを実行することで、管理者権限があるかどうか、確認しています。
管理者権限があれば、所望の処理を実施しています。
ない場合は、powershell経由でバッチファイル自身を起動しています。このときに管理者権限を要求しており、UACのダイアログが出ます。

この手法は、「バッチファイルを常に管理者権限で実行したい」ときに使えそうです。

参考:
http://okwave.jp/qa/q8634495.html
http://qiita.com/skkzsh/items/5e03bb7792629927acfa

SurfaceRT上でC#プログラムを動かす

環境

ターゲット:SurfaceRT (Windows RT 8.0、jailbroken)
ホスト:Windows7 + VisualStudio Express 2012 for Windows Desktop

やったこと

自作コンソールアプリを、脱獄済みの初代Surface上で動かす。

手順

  1. VisualStudio Express 2012 for Windows Desktopを起動し、C#のコンソールアプリケーションプロジェクトを作成する
  2. プログラムを書く
  3. 動作確認する
  4. Release / Any CPUでビルドする
  5. binディレクトリにできたexeファイルをSurfaceRTに転送する
  6. exeファイルを実行する

結果

exeファイルを実行できた
作成したプログラム
using System;

namespace ConsoleApplication2
{
    class Program
    {
        public static CommandShell MainCommandShell = new CommandShell();
        static void Main(string[] args)
        {
            Console.WriteLine("=== sample program ===");
            MainCommandShell.loop();
        }
    }

    /// 
    /// ユーザーからコマンド入力を受け、処理を実行するシェル。
    /// loopメソッドで開始し、exitメソッドで終了する。
    /// 
    class CommandShell
    {
        /// 
        /// 実行可能なコマンドの配列
        /// 
        private Command[] Commands = { new HelpCommand(), new ExitCommand() };

        /// 
        /// ループを終了するかどうか
        /// 
        private Boolean running = false;

        /// 
        /// シェルを開始する
        /// 
        public void loop()
        {
            running = true;
            while (running)
            {
                Console.Write("> ");
                string cmd = Console.ReadLine();
                foreach (Command command in Commands)
                {
                    if (command.process(cmd))
                        break;
                }
            }
        }
        /// 
        /// シェルを終了する
        /// 
        public void exit()
        {
            running = false;
        }
    }
    /// 
    /// シェルで実行できるコマンド
    /// 
    interface Command
    {
        Boolean process(string cmd);
    }
    /// 
    /// ヘルプコマンド
    /// 
    class HelpCommand : Command
    {
        public Boolean process(string cmd)
        {
            if (cmd.StartsWith("help"))
            {
                Console.WriteLine("help: exit");
                return true;
            }
            else
            {
                return false;
            }
        }
    }
    /// 
    /// 終了コマンド
    /// 
    class ExitCommand : Command
    {
        public Boolean process(string cmd)
        {
            if (cmd.StartsWith("exit"))
            {
                Console.WriteLine("exit");
                Program.MainCommandShell.exit();
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}

感想

簡単に動いた。
GUIアプリも書いてみたい。
C#らしいプログラムの書き方を忘れてる。命名規則?プロパティ?
作成中のAndroidアプリを置いておく場所を作った。

Toishi is an supplemental app for those who want to memorize bible verses.
http://code.google.com/p/toishi/

今月中にGoogle Play登録できるかなぁ・・・
スポンサード・リンク
フリーソフト指向::開発日記 by LapisCactus
忍者ブログ | [PR]

今日の聖書
自己紹介
名前:
LapisCactus (おにぎりくん)
Twitter:
Mail:
onigirikun_hsp@hotmail.com
自己紹介:
ふつうのしすてむえんじにあ。
趣味で「ソフトウェア管理」や
「TextView」を作っています。
仕事でもコンピュータを触っているのに
趣味も同じという。
健康に悪いですね。
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
ブログ内検索
最新CM
[03/03 kusakari]
[11/12 おにぎりくん]
[11/08 れい]
アクセス解析