2015年12月14日月曜日

Android アプリ レビュー依頼とかの履歴

Google Playに登録しても、全くダウンロード数が伸びないので、
レビューサイトに登録していこうと思います。
登録したサイトを書き留めておきます。

日本
放課後アプリ部
http://houkago-no.appspot.com/
オクトバ
http://octoba.net/
海外
AppBrain
http://www.appbrain.com/info/addapp
FILEDIR
https://filedir.com/submit-apps/

2015年11月22日日曜日

メモするソフト (Android版)

メモするソフトのAndroid版をGoogle Playに登録しました。
ご興味のある方は、ダウンロードお願いします。

↓ こちらです。

memontmori(メモントモリ)
1行日記、いまやったこと、今思いついたことなどを書き込むと、日付と時間を記録したメモが作成されます。
memotterのandroid版です。

へっぽこなアプリの場合は、 GooglePlayよりVectorのほうがよいのかなぁ?

google playにアプリを登録してみたのですが、
まったくダウンロード数が伸びない。8月に登録したものがまだ1桁のダウンロード数です。

windowsアプリをVectorに登録すると、
へっぽこツールでも誰かしらダウンロードしてくれる方がいますが、
google playの場合は、へっぽこなアプリは日の目を見ないのかもしれません。

この違いは?

Vectorの場合は、人気順と新着順と名前順でソートができます。

新着順にすると、本当の新着順になるので、
へっぽこアプリの場合も登録直後は一番上に来ます。
趣味のプログラマーにとっては、とてもありがたい機能です。


google playも同じように新着順ありますが、


こちらは、単純な新着順ではなく、新着の中で人気順にしているようです。
登録直後でも人気がなければ一番上にはならない。

google playの場合に、ダウンロード数が伸びないのはこのためかな?
登録したアプリや、説明文がへっぽこというのが大きいとは思いますが。

2015年11月5日木曜日

メモするソフト

メモするソフトのAndroid版を作ろうかと思ってます。
memotterというアプリ名は、Android用のアプリで既にあるみたいなので、memontmoriって名前にしようかと思ってます。

Android Studio activityのデザインが表示されない

AndroidStudioを1.4.1にアップデートして、blankのプロジェクトを作成したところ、
activityのデザインが表示されなくなってしまいました。



新規にプロジェクトを作って、こういう状態になるのはどうなんだろう?と思いました。

ググったところ、22となっているところを17にするとなおるというようなのがあったのですが、
僕の環境ではだめでした。

そこで、プロジェクトを新規作成するときに、
blankでなくて、emptyでプロジェクトを作ったところ、絵が表示されるようになったので、
ひとまずこれで作業を進めようかと思ってます。

2015年11月1日日曜日

genymotion windows

genymotionをインストールしてみました。
インストールまでの情報はnetでいろいろあるのですが、
その後の情報がすぐにはでてこなかったんで、一応スクリーンショットだけ備忘のためにはっつけておきます。

Settings...を開く。

Pluginsを選択して、Browse reponsitories...ボタンをおす。

GenyMotionのPluginをインストールする。

GenyMotionのアイコンをクリックする。

そうすると、パスをしていするようなダイアログが表示されるので、
それっぽいパスを指定する。


2015年9月11日金曜日

.net flamework と os

  .Net Framework
OS 1.0 1.1 2.0 3.0 3.5 4.0 4.5 4.5.1 4.5.2 4.6 4.6.1 4.6.2 4.7 4.7.1 4.7.2
XP SP2~          
Server2003      
Vista              
Server2008 SP2              
7                    
Server2008 R2 SP1                    
8                
Server2012                
8.1              
Server2012 R2              
10    
10(1511)  
10(1607)      
10(1703)    
10(1709)  
10(1803)
10(1809)
補足     3.5があれば2.0~3.5のアプリは実行可能 上位のバージョンがあれば、下位のアプリを実行可能

○ : プリインストール
△ : コンパネで追加可能
薄緑 : インストール可能
─ : インストール不可?

.net flameworkとOSの関係を自分でもまとめてみました。
参考にしたサイトを下のほうに書いてます。
XPとか古い情報がよくわからなかったです。


参考URL
.NET Framework のバージョンおよび依存関係
.NET Framework のサポート概要
Windows にデフォルトでインストールされている .NET Framework のバージョン
.NET Frameworkのバージョンを整理する
[C#][.NET]アプリケーション開発と保守における考慮事項

参考URL2 .netのダウンロードのシステム要件
Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (x64)
Microsoft .NET Framework Version 1.1 再頒布可能パッケージ
Microsoft .NET Framework 1.0 Service Pack 3

2015年8月8日土曜日

Windows10 クリーンインストール 断念。

やりたかったこと
Win8.1をアップデートすることなく、Windows10をクリーンインストールしたかったのですが、
やっぱりできませんでした。


あきらめて、win8.1をwin10にアップグレードすることにしました。

結局ダメでしたが、ためしてみたことをメモしておきます。
Step1
MSのサイトからMediaCreationToolをダウンロードしてきます。

すでにこの段階で、ProducetKeyが必要だよ。と書いてあるのですが、
Win8のやつでなんとかならないかなぁと..

Step2
ダウンロードしたツールを立ち上げて、USBメモリにOSのインストールイメージの書き込みをしました。





Step3
USBから起動して、Windows10のインストールを開始。

↓ ここでwin8.1のProductKeyを入力してみましたが、やっぱりだめでした。

Skipはできるので、継続してインストールは完了させることができます。

インストール後に、Win10も起動はできますが、ProductKeyがないので、未認証の状態となります。
残念。

2015年7月12日日曜日

Android 用のアイコン 作り方 (おてがるに)  

やりたいこと
Android用のアイコンの作り方の紹介となります。
自作のAndoroidアプリのアイコンをお手軽に作りたい。というための内容となります。

おおまかなながれ
1. Excel で アイコンのもとになる絵を作成。
※グーグル先生によると、PowerPointの方がいろいろできそうだけど、もってないので、Excelでやってます。

2.ペイントでトリミング。

3.透過。(web上のものを使用します。)

4.Android向けの各種アイコンサイズの画像を作成。(こちらもweb上のツールを使用します。)
※PlayStore用のアイコンが不要であれば、この手順はいらないかもです。

5.Android Studioに読み込む

Step1.Excelでアイコンのもとになる絵を作成
オートシェイプで四角形をつくって、文字をいれるだけで、それっぽくなります。

Step2.ペイントでトリミング
Excel上で、図を右クリックして、コピーします。
※オートシェイプをいくつか重ねて作ったり、文字だけ別のシェイプにした場合はグループ化してから、コピーするとよいです。


ペイントにペーストします。
白い部分が大きかったりしたら、選択して、トリミングします。
※今回作ったアイコンではトリミングの必要はありませんでした。


背景を透過する準備として、透過させたい部分を目立つ色で塗りつぶします。
黒でぬりつぶしました。


できたファイルをpng形式で保存してください。(形式はなんでもよいかもです。)
Step3.透過
作成したpngファイルを、下記のサイトにD&Dします。
http://pcrice.web.fc2.com/alpha/
サイトの指示に従って、透過させたい色をクリックし、③の画像を保存します。
Step4.Android向けの各種アイコンサイズの画像を作成
※あとで気付いたのですが、PlayStore用のアイコンが不要であれば、この手順はSkipでOkのようです。
透過させたpngファイルを、下記のサイトにD&Dします。
http://makeappicon.com/

Andoroidのボタンを押して、メールアドレスを入力して、↓ボタンを押します。

そうすると、解像度別と、playstore用のアイコンがメールで送られてきます。これで完了です。
Step5.Android Studioに読み込む
res\mimapを右クリックして、New-ImageAssetを選択。

Step3で作成した画像をImag file:に設定します。
OKをおすと、解像度ごとに、読み込まれます。

2015年6月7日日曜日

Android Sensor の間隔を調整したい。

やりたかったこと。
AndroidのSensorを使って磁力を取得するプログラムをつくったのですが、
取得するタイミングをもっと遅くしたいなぁと思いました。たとえば、1秒ごととか5秒ごととか。

調べてみると、registerListener()の引数で、任意の値を設定できる。ことがわかったんだけど、
自分の端末(Androidバージョン2.3.5)では動作しませんでした。

Androidのデベロッパーサイトをみると、2.3 (API level 9) から使えることになってるので、
動いてもよさそう、、、だけど効かない。

ためしに、別の端末(Androidバージョン4.4.2)で、試したところ、設定通りに動作しました。
2.3.5ではあきらめることに。

調べて分かったことを記録しておきます。
わかったこと(1)
Androidのデベロッパーサイトを見ると、Android2.3から、registerListenerの引数に、μ秒を指定できるという記載がある。
サイトのリンク


わかったこと(2)
定義済みのSENSOR_DELAY_*の値は、SensorManager.javaで実装されている。
   private static int getDelay(int rate) {
        int delay = -1;
        switch (rate) {
            case SENSOR_DELAY_FASTEST:
                delay = 0;
                break;
            case SENSOR_DELAY_GAME:
                delay = 20000;
                break;
            case SENSOR_DELAY_UI:
                delay = 66667;
                break;
            case SENSOR_DELAY_NORMAL:
                delay = 200000;
                break;
            default:
                delay = rate;
                break;
        }
        return delay;
    }

2015年5月15日金曜日

磁気

概要
Androidの勉強を少ししたので、Windowsのプログラミングではやったことがない センサーを使った何かを作ってみたいなぁと思ってます。

なかでも、磁気センサーを使いたいと思ってるので、
まずは磁気について調べたことをメモしておきます。

地磁気
現在の日本ではおおよそ、46μTぐらいとのこと。(wikipedia参照)
位置で違う。また変動もする。
赤道以外は、地面と平行ではない。
実は、地磁気の方向は真北ではない。

その他の磁力
送電線 20μT以下
電気カーペット 11~19μT
ドライヤー 1.25~2.67μT
こちら参照
地磁気より小さいんだ。へぇー。

磁界が人体に与える影響
あるんだか、ないんだかよくわからない。
こちら参照

2015年5月3日日曜日

Android Programming メモ

はじめに
Android 開発に関して、勉強してわかったことを簡単にメモって行うと思います。

環境 : Android Studio 1.1.0


UI
main\res\layout\activity_main.xml で、ボタンやテキストボックスの貼り付けができる。
.netのフォームにボタンとか貼り付けるようなことがここでできる。


イベントハンドラ
①activity_main.xmlでイベントハンドラを追加したいコントロールを選択して、プロパティでイベントハンドラの関数名を入力する。

②ソース側にイベントハンドラを追加。(勝手に追加されないので、自分で追加する必要がある。)
    public void onClick(View v){
    }


イベントリスナー
まだよくわかってないです。

2015年4月25日土曜日

[書籍]アプリを作ろう! Android入門 (第2版)

こちらをかってみました。

Android Studio用ではなく、eclipseを使って説明がされておりますが、
Amazonの評価が高かったので、買ってみました。

Androidアプリについて知ろう, eclipseの説明, javaの説明は飛ばして、5章から読み進めるよていです。

Android Studio 用に読み換えたところのメモ。

5章
○P114
「パッケージ・エクスプローラで[Omikuji]を右クリックし、表示されたメニューから、[新規]-[Android XMLファイル]を選択する。」

「resフォルダを選択して、右クリック -> New -> Android resource file

New Resource Fileダイアログにファイル名等を設定する。

○P115
「コンテキストメニューからグラビティ―を設定する」ところ

右横のPropertiesウィンドウで設定する。


○P152
ソースメニュー -> getterおよびsetterの生成

変数を右クリック -> 生成

○P159
ソース -> インポート編成

コード -> インポートの最適化


6章
○P162
赤い波線がひかれている~クラスの宣言のところにマウスカーソルを重ねる。表示されたクイックフィックスから...

赤い波線がひかれている~クラスの宣言をクリックすると表示される電球みたいなやつからメソッドの実装を実施する。


7章
○P189
[Android Menu]画面が表示される。

そういう画面がないようなので、Android StudioでメニューのUIを作成するときは、xmlを直接いじるしかないみたい。
このようなものをmenuのxmlに追加する。

 
 

2015年3月4日水曜日

Javaの勉強 コンストラクタ

明示的にコンストラクタを書かなかった場合
コンストラクタを明示的に書かないと、裏で、引数なしのコンストラクタを作成し、
それが暗黙的に呼び出される。
さらに、親クラスがあれば、親クラスの引数なしコンストラクタを実行してくれる。

例として、以下のようなクラスを考えてみた。

人クラス

桃太郎クラス

■人クラス(Human.java)
public class Human {
 
 // コンストラクタ 
 public Human()
 {
  System.out.println("私は人として、生を受けました。");
 }
}
■桃太郎クラス(Momotaro.java)
public class MomoTaro extends Human  {

 public void GiveKibiDango()
 {
  System.out.println("きびだんご。どうぞ。");
 }
}
■メイン関数(Main.java)
public class Main{
  public static void main (String[] args) {
    
   MomoTaro mtaro = new MomoTaro();
   mtaro.GiveKibiDango();
  }
} 

■結果

たしかに、親クラスの引数なしコンストラクタが呼ばれた。
明示的にコンストラクタを書いた場合
書いたコンストラクタが呼ばれる。
親クラスのコンストラクタも勝手に呼ばれる。

2015年3月1日日曜日

Java で hello world (windowsです。)

やりたいこと
javaでHello worldをだすまでを簡単にまとめておきます。
しばらくやってないと、コンパイルのコマンドとか、実行方法とかすっかりわすれてしまうので、メモしておきます。

Step1.JDK のインストール
"JDK"でググって、それっぽいやつをダウンロードします。
※たぶん迷うことはないと思います。




Step2.環境変数を設定
"Java" "環境変数" でググるといっぱいでてきるので、詳細はそちらで。
JAVA_HOMEという変数を追加して、pathにjdkのbinフォルダを指定します。

※こっちは迷うかもしれないです。ググって、詳しいところを参考に、ちゃんとやったほうがよいかもです。


Step3.ソースコードを作る。
Hello.javaというファイルを作成し、下記のコードを貼り付けて、保存する。
常識なのかもしれませんが、ファイル名とクラス名が一緒でないと、コンパイルに失敗するので注意。
public class Hello{
  public static void main (String[] args) {
    System.out.println("Hello World!");
  }
} 

Step4.コンパイルして、実行する
コマンドプロンプトで、コンパイルは、javac ファイル名( javac Hello.java)とする。
プログラムの実行は、java クラス名( java hello)

[書籍]プログラミングAndroid を読んで 

プログラミングAndroidを読んで、勉強になったことをまとめて行こうかと思います。
随時更新予定。
2章 Java for Android
Javaの総まとめみたいな感じ。

○Javaでは、フィールド(メンバ変数)を初期化しなくても、してくれる。

○コンストラクタを定義しないと、裏でデフォルトコンストラクタと、スーパークラスの引数なしコンストラクタを呼んでくれるとのこと。

○すべてのクラスが継承しているObjectクラスってのがある。このクラスのメソッドについて、
 toString()・・・そのまま使うと、アドレスみたいなのを返すので、オーバーライドしたほうがよい。
 clone(), finalize()・・・使わなくてよい。
 hashcode(), equals・・・奥が深い。ちゃんと勉強しないとつかわないほうがよさそう。
 反射性/対称性...という性質を満たす必要があるそうで、実際どうやって実装するのかわかりませんでした。

2015年2月25日水曜日

Android Studio インストールしたけど... AMDだと...

要は、
要するにAMDのCPUのPC(Windows)だと、Android Studioをインストールしたのですが、高速emulatorというものが動作しないようです。残念。

AMDのCPU

Intel VTが使えない。

Intel HAXMがインストールできない。

高速emulatorが動かない。

だらだら書くと、
今月号の日経ソフトウェアの付録に「Android Studio 出始める Android アプリ開発超入門」
っていう付録がついてきました。

よし。いっちょやってみよう。と思いまして、インストールをしました。

そして、「上の△ボタンを押せば、なにもコーディングしてなくても、emulatorが起動し、「Hallo World」が表示されます。」
という記事の通りにやってみたところ、
emulatorが起動しない。

「Nexus_5_API_21_x86」デバイスをせんたくしたところ、こんなエラーがでました。
-------------------------------
emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure Intel HAXM is properly installed and usable.
CPU acceleration status: HAX kernel module is not installed!
-------------------------------

ググったところ、
Intel Haxmを入れるとよいということで、ダウンロードしてきましたが、エラーがでてインストールができない。


また、ググったところ
BIOSで、intel-vtを有効にしないとだめよ。と。
PCを再起動し、BIOSの画面を開いたけど、そういう設定が見当たらない。
あれ?

またまた、ググったところ
intelのCPUの機能ということがわかりました。

ほかのデバイス(AVD_for_Nexus_S_by_Google)もこんなエラーが出まして、
-------------------------------
emulator: ERROR: This AVD's configuration is missing a kernel file!!
-------------------------------

これも、よくわからず。
結局、emulatorが動作しない状況でした。

ですが、AVD Managerから、armのデバイスを追加したところ、emulatorがやっとこ起動しました。
案の定、とても遅いですが。

2015/12/17追記
現在は、genymotionをインストールして使ってます。
エラーで起動しないようなことはないです。めちゃくちゃ遅いということもないです。

2015年2月18日水曜日

Visual Studio 2013 Community

インストールをしてみました。
無料で、MFCの開発ができるようになってました。

Expressとは異なり、作成可能なアプリに制限はないようです。
ユーザーに縛りがありますが、個人開発者はOKとのこと。

■エディションの比較(抜粋)

■FAQ(抜粋)

詳細はこちら

2015年2月8日日曜日

Windows メモリ使用量 監視 を powershellで。

やりたいこと
特定のアプリケーションのメモリ使用量を監視して、結果をcsvとする方法をpowershellでやってみたいです。
コマンドプロンプトで行う方法は、こちらになります。
最終的にこうなる
こんなCSVを作りたい
Step1 使用するコマンド(コマンドレット)
Get-Process を使用します。 powershellでGet-Processを打ち込むと、メモリの使用量等の情報を出してくれるコマンドになります。
Step2 対象のプロセスを絞る
Get-Processの後対象のプロセスの名称を入れると、それだけを表示できるようになります。
ペイントのみにしてみました。
Step3 Get-Processの戻り値を取得する
powershellでは、ドルマークを頭につけたものが変数になります。 (例 $ret)
これにGet-Processの戻り値を入れます。
※.NetのSystem.Diagnostics.Processが取得できます。(詳しくは、 こちら。 Processクラスについては、 こちら。 )

戻り値がProcessクラスのオブジェクトになっているため、
[変数].[メンバ]のようにして、メンバ変数(プロパティ)にアクセスができます。

Processクラスには、メモリ使用量みたいなものがいっぱいあるのですが、物理メモリの使用量WorkingSet64を表示させたい場合はこんな感じにします。

Step4 スクリプトにする
ループさせて、1秒ごとに、メモリの使用量を取得するようにしたものが下のものになります。
できたら、「.ps1」という拡張子をつけて保存します。
#---見出し---
$midashi  = "DateTime, " + "WorkingSet64[B], " 
echo $midashi

#---メモリの監視---
for ( $i = 0; $i -lt 10; $i++ )
{
    #監視する プロセスを取得(毎回取得する。)
    $ret = get-process mspaint

    #情報を出力
    $outinfo = (get-date).DateTime + ", " + $ret.WorkingSet64 
    echo $outinfo

    #1秒待つ。
    Start-Sleep -s 1
}
Step5 csvファイルに出力する。
スクリプトを実行するときに、以下のようにして、実行すればcsvファイルが作成されます。

SJISでcsvファイルを作るために、| out-file....をしています。
以上となります。
苦労した点
・単純にリダイレクト( > )しただけだと、unicodeで保存されるそうで、できたcsvをexcelで開くと、1列だけになって、あれ?っとなりました。

・最初、コマンドプロンプトでやったみたいに、get-processの出力結果からヘッダをとって、csv形式で出す方向で調べていたのですが、
そっちはわからなかったです。
・get-processの戻り値を取得したのはいいのですが、echo $retとやると丸ごとでるし、どう扱えばよいのかよく分からなく行き詰りました。
・echoで改行しないで出力する方法がよくわからず。単純に echo 変数1, 変数2 みたいにしてたら、改行されて行き詰りました。 + で結べばいいんですね。