Androidの話」カテゴリーアーカイブ

掲示板 yybbs のモバイルフレンドリー化

2017年5月21日

最近、サイトのモバイルフレンドリー化を進めているのですが、今回は掲示板のモバイルフリー化に挑戦してみました。
掲示板はyybbsという日本で一番使われているCGIを利用しているのですが、ネットで探しても、そのような試みをしているという記事は一向に見つかりません。
それでダメ元で挑戦してみました。
完璧では無いですが、なんとかそれらしいところまで頑張れました。
http://kimassi.net/cgi/yybbs11/yybbs.cgi

FP2級の試験1週間前に、こんなことしなくても良いと思いますが、気になると途中でやめられないので仕方ないです。

変更箇所は、試験が終わってから紹介しようと思います。

2017年5月26日

MovableTypeの掲示板を設置してみました。ユーザーが自由にトピックを設置できるようです。

http://kimassi.net/fp/

2017年5月28日

yybbsの改造について別の掲示板について同じ様に改造を試してみたのですが、うまく動作しなかったので、1つ1つ進めていくことにします。
なお、yybbsは基本形の物を使っていなくて、スパム対策済みバージョンを使っていますので、標準のyybbsとは多少の違いはあるかもしれません。

まず、アイコンの使用をやめます。
yyini.cgiの

# アイコンモード (0=no 1=yes)
$iconMode = 0;
を0にします。

yyini.cgiの# HTMLヘッダの部分(<head>より上部)に

<meta name=”viewport” content=”width=device-width,initial-scale=1″>

を挿入します。これがモバイルフリレンドリーへの第一歩です。

フォントを大きくするためにyyini.cgiの# HTMLヘッダの部分(<head>より下部)スタイルシート設定部の

body,td,th { font-size:$bSize; font-family:”$bFace”; }

body,td,th { font-family:”$bFace”; }
に変更します。
これで文字が大きくなります。これで基本的な対処は終わりで、後は幅を狭くするための微調整になります。

# ミニカウンタの設置

$counter = 0;
にします。

# 家アイコンの使用 (0=no 1=yes)

$home_icon = 0;
にします。

#————————————————-
# 投稿画面
#————————————————-
はかなり変更します。

print <<EOM;

<table ><TR><TD>
<table border=0 cellspacing=1>
<tr>
<td><b>お名前</b></td>
<td><input type=text name=$RNDname size=28 value=”$nam” class=f></td>
</tr>
EOM

if ($use_form_email == 1 or $use_form_email == 3) {
my $message = ($use_form_email == 3 ? $dont_use_this_form : “”);
print <<EOM;

EOM

}

print <<EOM;

<tr>
<td><b>タイトル</b></td>
<td>
<input type=text name=$RNDsub size=36 value=”$sub” class=f>
<input type=submit value=”投稿する”><input type=reset value=”リセット”>
</td>
</tr>
<tr>
<td colspan=2>
<b>メッセージ</b><br>
<textarea cols=56 rows=7 name=$RNDcomment wrap=”soft” class=f>$com</textarea>
</td>
</tr>
EOM

if ($use_form_url == 1 or $use_form_url == 3) {
my $message = ($use_form_url == 3 ? $dont_use_this_form : “”);
print <<EOM;
<tr>
<td><b>参照先</b>$message</td>
<td><input type=text size=52 name=$RNDurl value=”$url” class=f style=”ime-mode:inactive”></td>
</tr>
EOM
}

# 管理者アイコンを配列に付加
@ico1 = split(/\s+/, $ico1);
@ico2 = split(/\s+/, $ico2);
if ($my_icon) {
push(@ico1,$my_gif);
push(@ico2,”管理者用”);
}
if ($iconMode) {
print “<tr><td><b>イメージ</b></td>
<td><select name=icon class=f>\n”;
foreach(0 .. $#ico1) {
if ($ico eq $ico1[$_]) {
print “<option value=\”$_\” selected>$ico2[$_]\n”;
} else {
print “<option value=\”$_\”>$ico2[$_]\n”;
}
}
print “</select><font size=\”-1\”>&nbsp;\n”;

# イメージ参照のリンク
if ($ImageView == 1) {
print “[<a href=\”javascript:ImageUp()\”>イメージ参照</a>]”;
} else {
print “[<a href=\”$script?mode=image\” target=\”_blank\”>イメージ参照</a>]”;
}
print “</font></td></tr>\n”;
}

if ($pwd ne “??”) {
print “<tr><td><b>暗証キー</b></td>”;
print “<td><input type=password name=pwd size=8 maxlength=8 value=\”$pwd\” class=f>\n”;
print “<font size=\”-1\”>(英数字で8文字以内)</font></td></tr>\n”;

# 投稿キー
if ($regist_key) {
print “<tr><td><b>投稿キー</b></td>”;
print “<td><input type=text name=regikey size=6 style=\”ime-mode:inactive\” class=f value=\”\”>\n”;
print “<font size=\”-1\”>(投稿時 <img src=\”$registkeycgi?$str_crypt\”> を入力してください)</font></td></tr>\n”;
print “<input type=hidden name=str_crypt value=\”$str_crypt\”>\n”;
}
}
print “<tr><td><b>文字色</b></td><td>”;

# 色情報
@col = split(/\s+/, $color);
if ($col eq “”) { $col = 0; }
foreach (0 .. $#col) {
if ($col eq $col[$_] || $col eq $_) {
print “<input type=radio name=color value=\”$_\” checked>”;
print “<font color=\”$col[$_]\”>■</font>\n”;
} else {
print “<input type=radio name=color value=\”$_\”>”;
print “<font color=\”$col[$_]\”>■</font>\n”;
}
}

print <<EOM;
</td></tr></table></TD><td></TD></tr></table>
EOM
print $antispam->get_post_wait_html(‘wait’, ‘wait_key’);
}

の部分を

print <<EOM;
<table ><TR><TD>
<table border=0 >
<tr>
<td colspan=2><b>お名前 </b><input type=text name=$RNDname value=”$nam” class=f></td>
</tr>
EOM

if ($use_form_email == 1 or $use_form_email == 3) {
my $message = ($use_form_email == 3 ? $dont_use_this_form : “”);
print <<EOM;

EOM

}

print <<EOM;
<tr>
<td colspan=2><b>タイトル</b><BR>
<input type=text name=$RNDsub size=36 value=”$sub” class=f><BR>
<input type=submit value=”投稿する”><input type=reset value=”リセット”>
</td>
</tr>
<tr>
<td colspan=2>
<b>メッセージ</b><br>
<textarea cols=”40″ rows=”8″ name=$RNDcomment wrap=”soft” class=f>$com</textarea>
</td>
</tr>
EOM

if ($use_form_url == 1 or $use_form_url == 3) {
my $message = ($use_form_url == 3 ? $dont_use_this_form : “”);
print <<EOM;
<tr>
<td><b>参照先</b>$message</td>
<td><input type=text name=$RNDurl value=”$url” class=f style=”ime-mode:inactive”></td>
</tr>
EOM
}

if ($pwd ne “??”) {
print “<tr><td colspan=2><b>暗証キー </b><input type=password name=pwd size=8 maxlength=8 value=\”$pwd\” class=f>\n”;
print “<font size=\”-1\”>(英数字で8文字以内)</font></td></tr>\n”;

# キー
if ($regist_key) {
print “<tr><td colspan=2><b>投稿キー </b><input type=text name=regikey size=6 style=\”ime-mode:inactive\” class=f value=\”\”>\n”;
print “<font size=\”-1\”>(投稿時 <img src=\”$registkeycgi?$str_crypt\”> を入力してください)</font></td></tr>\n”;
print “<input type=hidden name=str_crypt value=\”$str_crypt\”>\n”;
}
}
print “<tr><td><b></b></td><td>”;
print $antispam->get_post_wait_html(‘wait’, ‘wait_key’);
}

に変更します。入力部分の幅がかなり狭くできました。
これでyyini.cgiの改造は一応終わりです。
次はyybbs.cgiの改造になります。
if (!$re) { print “<b>$nam</b> :$dat “; }
else { print “<b>$nam</b> – $dat “; }

print “<font color=\”$subCol\”>No\.$no</font></td>“;
print “<td valign=top nowrap> &nbsp; $url </td><td valign=top>\n”;

if (!$re) { print “<br><b>$nam</b> :$dat “; }
else { print “<br><b>$nam</b> – $dat “; }

print “<font color=\”$subCol\”><br>No\.$no</font>”;
print ” &nbsp; $url \n”;

に変更します。

yyregi.cgi の

#————————————————-
# 時間取得
#————————————————-
sub get_time {
$ENV{‘TZ’} = “JST-9”;
$times = time;
($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime($times);
local(@week) = (‘Sun’,’Mon’,’Tue’,’Wed’,’Thu’,’Fri’,’Sat’);

# 日時のフォーマット
$date = sprintf(“%04d/%02d/%02d(%s) %02d:%02d”,
$year+1900,$mon+1,$mday,$week[$wday],$hour,$min);
}

#————————————————-
# 時間取得
#————————————————-
sub get_time {
$ENV{‘TZ’} = “JST-9”;
$times = time;
($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime($times);
local(@week) = (‘Sun’,’Mon’,’Tue’,’Wed’,’Thu’,’Fri’,’Sat’);

# 日時のフォーマット
$date = sprintf(“%04d/%02d/%02d(%s) %02d:%02d”,
$year+1900,$mon+1,$mday,$hour,$min);
}

に変更しました。

これで随分幅を狭くできました。

Googleの公告を入れる場合は、

yyini.cgiを修正します。

とりあえず下記のページを参考にします。
https://support.google.com/adsense/answer/6307124?hl=ja#exact

$banner1 = ‘”;の部分に、Googleレスポンシブの公告を挿入します。*****はサイトによって個別の番号・記号を与えらえます。

# タグ広告挿入オプション
# → <!– 上部 –> <!– 下部 –> の代わりに「広告タグ」を挿入
# → 広告タグ以外に、MIDIタグ や LimeCounter等のタグにも使用可能
$banner1 = ‘<script async src=”//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”></script>
<!–******_responsive_1 –>
<ins class=”adsbygoogle ******_responsive_1″
style=”display:inline-block”
data-ad-client=”ca-pub-****************”
data-ad-slot=”*********”></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>’;

スタイルシートのコマンドを挿入します。

#————————————————-
# HTMLヘッダ
#————————————————-
の<head>より下のほうに

<STYLE type=”text/css”>
<!–
.******_responsive_1 { width: 320px; height: 100px; }
@media(min-width: 500px) { .******_responsive_1 { width: 468px; height: 60px; } }
@media(min-width: 800px) { .******_responsive_1 { width: 728px; height: 90px; } }
–>
</STYLE>

これでモバイルフレンドリー対策はそこそこいってるのではと思います。

Androidで全角数字の入力に苦労した

白ロムのAndroidスマートフォンを使い始めて1カ月になろうとしています。
重宝して利用しているのですが、時々、戸惑う事があります。
今日は、全角数字の入力に躓きました。
何をしても変換対象に全角数字が出てこないんです。
OSはAndroidのバージョンは4.0.4でGoogle日本語入力(バージョン2.17.2160.3-arm)を使っています。入力キーボードはQWERTYを選択しています。
ネットで調べても自分の環境に合わない解決法ばっかりで、役に立たないです。
色々触っていて、偶然解決法を見つけました。
変換選択のキー(あa)をクリックして英字入力になった時に、?123というキーが表示されるのでクリックします。それで数字を入力すると変換候補に全角数字も現れます。

ワールドロックナウの再放送はありがたい

FMラジオは録音して聞いています。数ある番組の中でもワールドロックナウは最重要番組なのです。

録音失敗に備えて、パソコンではRadikool、AndroidタブレットではRazikoで録音しています。どちらかに不具合があっても大丈夫なように両方で録音しているのです。
キーワードで予約録音しているので時間に変更があっても大丈夫です。

ところが先週は、どちらも録音されていなかったのです。金沢ケーブルテレビのスペースLANはトラブルが多いのです。

民放はRadikoでタイムフリーで過去1週間の放送が聴けるのですが、NHKは対象外なのです。

がっかりしたのですが、よく考えると今年からワールドロックナウは毎週金曜日23:00から24:00に加えて翌週の木曜日10:00から11:00に再放送されることになったのです。そういう訳で無事録音できました。
ワールドロックナウが最終週には放送されなくなったのは残念ですが、こういう配慮はありがたいです。

メルカリで白ロム Xperia Z1 SOL23 au

2017年5月18日

UQモバイルで使用できるスマートフォンを探していたのですが、メルカリでXperia Z1 SOL23 を送料込5580円で購入しました。
支払いはカードでできて送金料はかかりませんでした。

Xperia Z1 SOL23 の主な仕様は
MSM8974 2.2GHz クアッドコアCPU、5.0インチ トリルミナスディスプレイ for mobile、電池容量3000mAh、RAM 2GB、ROM 32GB、カメラ約2070万画素 、連続待受時間約710時間(3G)/約700時間(4G LTE)、充電時間約170分、連続通話時間約1310分、発売日:2013年 10月23日、OS種類:Android 4.42
です。
XPERIA UL SOL22と較べると随分進化しています。画面が少し大きくなっていて、入力キーボードQWERTYを選択した場合の入力がずいぶん楽になりました。

UQモバイルの動作確認端末一覧では、XPERIA Z1 SOL23 SIMはロック解除不要、データ通信可能、通話可能、MMS対応メール(キャリアのメール)を使う場合はアプリのインストール設定が必要という事です。

電源部の蓋は不足しているとの事ですが、別にこだわりません。

2017年5月21日

今日、Xperia Z1 SOL23 が届きました。液晶もボディも綺麗で良かったです。
表面にはサブのカメラしかないので専用の保護シールでなくても大丈夫なようです。100円ショップで買っておいた大きい保護シールを切って使えます。ボデイのカバーは購入しようと思います。
電池の充電が10%だったので、さっそく充電しました。

電源を入れるとSIMが入っていないので使えませんみたいな表示が出たので、ちょっとびっくりしました。
でもキャンセルすると使えました。
Auの最初の診断の画面は次回から表示しないの設定をしたら表示しなくなりました。

とりあえずWiFiが使えるように設定を変更しました。
APKファイルからインストールするため、提供元不明のアプリのインストールを許可するの設定にしました。
すぐに画面が真っ黒になるので、スリープまでの時間を5分に設定しました。
安全のために、画面のロックを5分に設定してパスワードの設定をしました。

XPERIA acroHD SO-03Dで必要なアプリのAPKファイルをSDカードにコピーしたものをXperia Z1 SOL23 に取り付けました。

最初からインストールしてあったFileCommanderというアプリで、SDカード内のAPKファイルをクリックしてアプリをインストールすることができました。
その他にGoogleカレンダー、ワンセグ(テレビを見る)、WALKMAN(音楽ファイルを再生)、カメラ(撮影)、Playストア、ExcelやWordの文書を読めるOfficeSuite、アラーム時計、Gmail、Chrome、ハングアウト、バーコードリーダーは最初からインストールしてありました。

WiFi接続ができるようにWiFiManagerとAOSSをインストールしました。
無事WiFi接続ができるようになりました。

今回もGoogleの登録なしに、どれくらい使えるかを試してみることにしました。そのため、設定で自動同期をOFFにしました。

Google日本語入力をインストールして入力キーボードはQWERTYを選択しました。

MAPS.ME — オフライン地図とナビゲーション をインストールしました。
K-9mail、NHKラジオらじる★らじる、radiko.jp for Android、Raziko、Raziko拡張、PCRadioをインストールしました。
AdobeAcrobatをインストールしました。
懐中電灯(暗いところで使える照明)、楽天市場(楽天での買い物にポイント)、簡単ボイスレコーダー(録音)、AnkiDroid(単語カード)、HOT PEPPER(クーポン)、Missing Link(スマートフォンのファイルを外部から利用)、メルカリをインストールしました。

これでAndroidの端末としてインストールや設定が完了したことになります。

Googleの登録なしでもChrome、K-9mailが問題無く使えました。Googleの登録なしでもgmailのメールをK-9mailで受信できました。
AnkiDroidのファイルも移植できました。Missing Linkも問題なく使えました。MAPS.MEも使えました。
楽天市場(楽天での買い物にポイント)の登録もできました。NHKラジオらじる★らじる、radiko.jp for Androidも使えました。

なぜかRazikoは動作しません。Radikoとの接続ができないということでした。これはGoogleとは関係なく、最近RazikoがRadikoの妨害により動作しなくなったようです。
radikoをradiko.jp for Android.5.0.4.apkに戻したらRazikoが動作するようになりました。

メルカリはGoogleplayの登録なしでは使用できませんでした。

Googleの登録なしで使える事と使えない事が判ったので、Googleの登録をしました。

100円ショップで買った保護シールは液晶での反応が悪いので使うのを断念しました。

結論として、AUのスマートフォンはAUとの契約を解除すると制約がキツイと言われていますが、Xperia Z1 SOL23 に関しては白ロムとしてWiFi環境で使用するにおいて特に制約はなさそうです。

2017年5月26日

Xperia Z1 SOL23 が気にったので、メルカリでXperia Z1 SOL23 をもう1台購入しました。送料込5700円でした。

メルカリを使ってみました

2017年5月16日

UQモバイルで使えるスマートフォンをヤフオクで探していたのですが、惜しいところでなかなか落札できずにいたので、メルカリを見てみました。メルカリはスマートフォン限定のフリーマーケットです。

希望の商品が、手ごろな価格で売れてる形跡があります。
マニアックなものでなければ、ヤフオクよりメルカリのほうが入手しやすい感じです。

メルカリは送料込みでの出品が多く、オークション形式ではなく出品者が価格を決めるので、意外なほど安く購入できるチャンスがあります。
ヤフオクの場合は、参加人数も多いし、びっくりするほど安く買える事はまず無いのです。
商品の相場価格さえ把握しておけばメルカリはお得なツールだと思います。

メルカリはGoogleやFacebookのアカウントで登録できますが、Cメールでパスワードを受けとらないといけません。
俊は白ロムのスマートフォンなので、Cメールはガラ携で受け取り、無事登録できました。

2017年5月18日

さっそくスマートフォンXperia Z1 SOL23を見つけて購入しました。
送料込6000円ですが、なぜか7%クーポンが付いていて5580円でした。
支払いはカードでできて送金料はかかりませんでした。
さっそく今日発送していただけたようです。

2017年5月20日

今日、Xperia Z1 SOL23 が届きました。液晶もボディも綺麗で良かったです。

他にヤフオクで登録してあって、なかなか入手できなかったものもメルカリで探しましたが、見つかったものもありました。
メルカリ恐るべしです。

2017年5月26日

Xperia Z1 SOL23 が気にったので、メルカリでXperia Z1 SOL23 をもう1台購入しました。送料込6000円ですが300円のクーポンがついて5700円でした。

メルカリからの新しいお知らせで、メルカリが運営する地域別のフリマ「メルカリ アッテ」というのができたということなので覗いてみました。無料の物もあったけど、今の段階ではあまり魅力は感じませんでした。今後に期待です。