2016年9月30日金曜日

携帯画面の文字や色の変更

2016/9/30 毎週更新されるので画面があっという間に進化しています
あくまでも現在の使い方になっています。

携帯画面の文字をいらってみます



じゃんけんゲームを以下の順番で作成していきます
以下につづく

表示の携帯はいろいろと準備してあります



右下の境界線を移動して大きくしました


携帯の画面が小さいので50%に拡大しました

文字をクリックすると右の画面がプロパティになります





Hello World!の文字の右にボタンが隠れています

New String Value・・・・を押す




今回はじゃんけんゲームを作ってみます

Resource name:  titol_janken

Resource value:    じゃんけんゲーム



文字の大きさや色はここをいらってね





ボタン作成

ボタンの配置
Widgets→Button ドラッグ&ドロップ

ガイドラインが表示され中央位置もわかりやすい、位置は後で修正できるので次へ進みます







Resource name:  button_showsign

Resource value:    ポン






2016年9月13日火曜日

C言語基礎その3



日本語の文字化けは保存時に(ファイル名.C) 
「文字コード」⇒UTF-8 で保存してください。



◆ C言語の基礎
自分の名前を印刷してみよう

#include <stdio.h> /* 名前を印刷する */
int main(void)
{
    printf("吾輩は猫である \n");
    return 0;
}

保存してコンパイル実行してみよう


◆加減乗除の計算

#include <stdio.h> /* 加減乗除 */
int main(void)
{
int a,b,wa,sa,seki,syo;
printf("a,bの数値を入力 \n");
scanf("%d%d", &a , &b ); /*数値の入力*/

wa=a+b; /*和*/
sa=a-b;
seki=a*b;
syo=a/b;

printf("加算 a+b= %d\n", wa ); /*結果の出力*/
printf("減算 a-b= %d\n", sa );
printf("積算 a*b= %d\n", seki );
printf("除算 a/b= %d\n", syo );

return 0;
}

保存、コンパイル、実行すると何故か?表示がおかしいね
それを直してください。

小数点が表示されませんね?

◆そこで訂正するのだ

#include <stdio.h> /* 加減乗除 */
int main(void)
{
float a,b,wa,sa,seki,syo;
printf("a,bの数値を入力 \n");
scanf("%f%f", &a , &b ); /*数値の入力*/

wa=a+b; /*和*/
sa=a-b;
seki=a*b;
syo=a/b;


printf("加算 a+b= %f\n", wa ); /*結果の出力*/
printf("減算 a-b= %f\n", sa );
printf("積算 a*b= %f\n", seki );
printf("除算 a/b= %f\n", syo );


return 0;
}

保存、コンパイル、実行してみます、どうでしょう小数点以下が表示されます。
ここでさらに疑問がわき調べるほどに奥深く面白くなるか?うーーんあきらめるか分かれ道!

▼疑問

整数部の10進数を2進数に変換する場合は、変換する数値を2で割り商と余りを求めれば2進数に変換できる。 しかし、小数の10進数を2進数に変換するとき、数値によっては小数部が0にならない場合がある。例えば10進数の0.4を2進数に変換すると0011が繰り返され整数部が0にならない。 

10進数の0.2を2進数に変換する これを無限小数といい同じパターンが繰り返し出現する場合を循環小数という。 無限小数に対して、小数部が0になるものを有限小数という。 無限小数が発生した場合は、コンピューターの内部では数値の近似値で数値を表す。

▼参考


10進数の60は、2進数では111100である。8ビットで表現するときは、足りないけた数分、上位(左側)に0を補充する。



小数の10進数を2進数に変換するには、変換したい10進数の小数部を小数が0になるまで2倍する。これで求めた整数部が2進数への変換結果である。


10進数0.625は、2進数では0.101である。




整数部の10進数を2進数に変換する場合は、変換する数値を2で割り商と余りを求めれば2進数に変換できる。
しかし、小数の10進数を2進数に変換するとき、数値によっては小数部が0にならない場合がある。例えば10進数の0.4を2進数に変換すると0011が繰り返され整数部が0にならない。


■例題:配列の合計

/* 例題1 配列の合計 */

#include<stdio.h>
int main(void)
{
int i,sum=0;
int dat[10]={6,9,0,3,2,4,8,7,1,5};
for(i=0;i<10;i=i+1)
{
sum=sum+dat[i];
}
printf("合計 %d\n",sum);
return 0;
}


$ dir
 hairetsu.c

$ gcc -o hairetsu hairetsu.c

$ dir
 hairetsu.c     hairetsu.exe

$ ./hairetsu.exe
合計 45




■三角形の面積の計算

/* 三角形の面積 */
#include <stdio.h>
int main(void)
{
    float r, h, x;                      /*変数の宣言*/

    printf("三角形の底辺と高さを入力してください。\n");
    scanf("%f%f", &r , &h ); /*数値の入力*/

    x = r * h / 2.0;                    /*面積の計算*/
    printf("面積 = %f\n", x );          /*結果の出力*/
    return 0;
}


1からnまでの和

/* 1からnまでの和 */
#include <stdio.h>
    int main(void)
 {
    int i, n, sum = 0;
    printf("2以上の整数を入力:");
    scanf("%d", &n);
    for(i = 1; i <= n ;i= i+1)
        sum=sum+ i ;
    printf("答えは %d です\n", sum);
    return 0;
}




$ dir
 goukei.c  sankaku.c

$ gcc -o sankaku sankaku.c

$ gcc -o goukei goukei.c

$ dir
 goukei.exe  goukei.c  sankaku.exe  sankaku.c

$ ./goukei.exe

底辺と高さを入力すると合計が出ればOK

$  ./sankaku.exe




/* 円柱の体積 */

#include <stdio.h>
int main(void)
{
    float r, h, x, p=3.14157; /*変数の宣言*/

    printf("円錐の半径と高さを入力してください。\n");
    scanf("%f%f", &r , &h ); /*数値の入力*/

    x = r * h * p ; /*体積の計算*/
    printf("円柱の体積 = %f\n", x ); /*結果の出力*/
    return 0;
}




2016年9月11日日曜日

エミュレータが何とか起動した!

C:\Users\tetsukazu\AppData\Local\Android\Sdk\tools\emulator.exe -netdelay none -netspeed full -avd Nexus_5X_API_23_2
emulator: WARNING: VM heap size set below hardware specified minimum of 228MB
Warning: requested ram_size 1536M too big, reduced to 512M
emulator: WARNING: Setting VM heap size to 384MB
Hax is enabled
Hax ram_size 0x20000000
HAX is working and emulator runs in fast virt mode.
audio: Failed to create voice `goldfish_audio_in'
qemu-system-i386.exe: warning: opening audio input failed
console on port 5554, ADB on port 5555

注意が出るので、これも失敗かと思いましたが、しばらく待つと以下の表示

09-10 23:06:42.306 2378-2378/com.example.tetsukazu.myapplication I/art: Not late-enabling -Xcheck:jni (already on)
09-10 23:06:42.338 2378-2378/com.example.tetsukazu.myapplication W/System: ClassLoader referenced unknown path: /data/app/com.example.tetsukazu.myapplication-1/lib/x86
09-10 23:06:45.978 2378-2378/com.example.tetsukazu.myapplication W/System: ClassLoader referenced unknown path: /data/app/com.example.tetsukazu.myapplication-1/lib/x86
09-10 23:06:46.103 2378-2378/com.example.tetsukazu.myapplication W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
09-10 23:06:46.224 2378-2433/com.example.tetsukazu.myapplication D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
                                                                                 
                                                                                   [ 09-10 23:06:46.229  2378: 2378 D/         ]
                                                                                   HostConnection::get() New Host Connection established 0xaffca260, tid 2378
                                                                                 
                                                                                 
                                                                                   [ 09-10 23:06:46.348  2378: 2433 D/         ]
                                                                                   HostConnection::get() New Host Connection established 0xaffc9960, tid 2433
09-10 23:06:46.357 2378-2433/com.example.tetsukazu.myapplication I/OpenGLRenderer: Initialized EGL, version 1.4

うまいこと表示しました、何度もいろんなパターンを試しました




Hello World がやっと出ました、このパターンですがどの組み合わせか忘れたのがいかんなーーーー?


2016年9月9日金曜日

USBドライバーインストール

携帯電話を利用するにはUSBドライバーが必要です
私のスマホには以下が必要です。

http://spf.fmworld.net/oss/driver/adb/data/download.html

入れるがうまく動作しません?

2016年9月8日木曜日

エミュレータがうまく起動しない?

プロキシ設定で利用しているのが原因のようですが?

C:\Users\AppData\Local\Android\Sdk\tools\emulator.exe -netdelay none -netspeed full -avd Nexus_5X_API_23
emulator: WARNING: VM heap size set below hardware specified minimum of 228MB
emulator: WARNING: Setting VM heap size to 384MB
Hax is enabled
Hax ram_size 0x60000000
HAX is working and emulator runs in fast virt mode.
audio: Failed to create voice `goldfish_audio_in'
qemu-system-i386.exe: warning: opening audio input failed
console on port 5554, ADB on port 5555
emulator: WARNING: UpdateCheck: Failure: Error
emulator: WARNING: UpdateCheck: failed to get the latest version, skipping check (current version '25.1.7'



C:\Users\AppData\Local\Android\Sdk\tools\emulator.exe -netdelay none -netspeed full -avd Nexus_5X_API_23
emulator: WARNING: VM heap size set below hardware specified minimum of 228MB
emulator: WARNING: Setting VM heap size to 384MB
Creating filesystem with parameters:
    Size: 69206016
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 4224
    Inode size: 256
    Journal blocks: 1024
    Label:
    Blocks: 16896
    Block groups: 1
    Reserved block group size: 7
Created filesystem with 11/4224 inodes and 1302/16896 blocks
Hax is enabled
Hax ram_size 0x60000000
HAX is working and emulator runs in fast virt mode.
audio: Failed to create voice `goldfish_audio_in'
qemu-system-i386.exe: warning: opening audio input failed
console on port 5554, ADB on port 5555
emulator: WARNING: UpdateCheck: Failure: Error
emulator: WARNING: UpdateCheck: failed to get the latest version, skipping check (current version '25.1.7'

2016年9月6日火曜日

C言語基礎その2

例題1
変数を入力して加減乗除の計算への導入
メモ帳で作成。
Cygwinを起動させて保存フォルダーに scan1.c 拡張子.c で保存する

#include<stdio.h>
int main(void)
{
 int i,j,s;
 printf("seisuuwonyuuryokusitekudasai \n");
 scanf("%d %d",&i,&j);
 s=i+j;
 printf("%d+%d=%d\n",i,j,s);
 printf("%d-%d=%d\n",i,j,i-j);
 return 0;
}

メモ帳で入力、保存

$ dir
scan1.c
$ dir
scan1.c  scan1.exe

$ gcc -o scan1 scan1.c
      コンパイル実行  ここでエラーは直す
$ ./scan1
seisuuwonyuuryokusitekudasai  キーボードから数字を入力
1
2
1+2=3     計算結果が出ました
1-2=-1


2016/9/6火曜日 の感想
同じように入力してもらうんだけど?
エラー ???????
上記を張り付けると動きますが、間違いに気が付かないのはなぜ?