2014年12月21日日曜日

ちょっと便利なAndroid5.0の機能(一定時間だけサイレントにする)

SYSTEM_KDです。

Android5.0を使っている方であれば気づいているとは思いますが、Android5.0にはちょっと便利なサイレント機能がついております。

日常生活において、電車やバスに乗る時・会議の際等々は携帯端末をマナーモードやサイレントモードにする必要があるかと思いますが、うっかりサイレントモードにしたまま忘れてしまうこともあるかと思います。

そんな時に便利なのが、Android5.0で導入された「一定時間だけ通知OFF」機能になります。

使い方は簡単で、ボリュームボタンを操作すると表示されるこの表示で

notifi1

「なし」の部分をタップします。
すると、サイレントモードが表示されるので、サイレントにする時間を設定するだけです。

notifi2

これだけで、指定時間の間は携帯端末が音を発することはありませんし、時間が経過すれば、通知される状態に戻ります!

Android5.0では、この他にも通知機能に関する設定が行え、毎週◯曜日のXX時からYY時までは通知をOFFにするなんてこともできます。
(毎日夜は鳴らないようにする!なんて使い方ができますね)

ということで、ちょっと便利な機能でした。

Androidエミュレータへオレオレ証明書を入れる方法

SYSTEM_KDです。

小ネタというか備忘録です。

アプリで、SSL通信を試そうとした場合に、オレオレ証明書を端末へインストールするかと思いますが、普通にインストールしようとすると上手くできなかったので、メモ。

まず、どこからインストールするかですが、ネットで調べれば速攻でてきますが、「セキュリティ」の「認証情報ストレージ>SDカードからインストール」で「cer」ファイルを指定すればインストールできます。
(SDカードへ移さなくてもエミュレータからネット経由でダウンロードさせてもOKです)

ssl_in

しかし、このままインストールしようとしてもダメです。と言われてしまい完全に??が並びました ^^;

という訳で対処方法。

「設定>セキュリティ」の「画面のロック」で「パスワード」を選択。

以上です。
これで、証明書をエミュレータへインストールできるようになりました。

いやーこれだけのためにドハマりしましたw

2014年12月13日土曜日

Nexus7 (Wi-Fi 2013) に Android 5.0.1 が降ってきた

SYSTEM_KDです。

Android 5.0 Lolipopがリリースされてからあまり日が経っていませんが、マイナーバージョンアップ版である、「Android 5.0.1」が Nexus7 (Wi-Fi 2013)に降ってきましたので、アップデートしてみました。

Screenshot_2014-12-11-19-40-02

Android 5.0へのアップデートは、待てども待てども降ってこないので待ちきれずに、adb sideload で手動でアップデートしましたが、今回はOTAで速攻おいでになられました。

まぁ、マイナーバージョンアップなので機能が追加されたということはなさそうですが、内部的な不具合修正や動作改善が行われているようですので、ありがたくアップデートしました。

version

今のところ、アップデートしたことによる不具合は無さそう気がするので(おそらくですが)アップデートしても問題ないかと思います。
(というより、むしろ電池の持ちが良くなったような気もする。。気のせいか!?)

Android Studio 1.0 をインストールする

SYSTEM_KD です。

2014/12/09(現地時間)に公開されました、Android Studio 1.0をインストールしてみたいと思います。

Android Studioは「Google I/O 2013」で公開されて、プレビュー版・ベータ版と徐々にアップデートされていたのですが、この度ついに正式版がリリースされました。

では早速インストールしてみます。

ダウンロードはこちらのページから行えます。
EXEファイルがダウンロードできましたら、ダブルクリックでインストーラーを起動します。

top

特に設定は変更しなくても大丈夫ですが、私の場合は、EclipseでAndroidの開発環境を構築しており、Android SDKは既にダウンロード済ですので、チェックを外してみました。

next1

規約に同意。

next2

Android SDKの設定にて、現在利用中のAndroid SDKのパスを指定してやります。
新規でAndroid SDKをインストールする場合は、下の「Install the latest Android SDK」を選択すればOKです。

次に、インストール先のディレクトリを指定。
(基本的にはデフォルトでOKです)

next3

あとは、Emulator関連の設定です。
Intel HAXMで利用するメモリの最大量を決めるっぽいので、デフォルトで。

next4

インストール開始。

next5

特に問題なく完了すると思います!

finish

ということで、ついに正式版がリリースされたAndroid Studioを堪能しましょうw

2014年12月2日火曜日

Androidエミュレータで開発者サービスを使う場合

SYSTEM_KDです。
今回は完全な備忘録です。

Google Play Serviceを利用したアプリを作成する場合、アプリを利用する端末に「開発者サービス」をインストールしておく必要がありますが、利用するエミュレータのターゲットによっては、開発者サービスが入っていません。

[開発者サービスなし]
「Android 4.4.2 – API Level 19」 等通常利用するターゲット

[開発者サービスあり]
「Google APIs(Google Inc.)- API Level 19」等 GoogleのAPIを利用する際に使用するターゲット

ということで、開発者サービスが必要なアプリをエミュレータで試す場合は

apibase1

こっちではなく

apibase2

こっちを利用して作成したエミュレータを利用しましょう!

2014年12月1日月曜日

BaseGameUtilsをEclipseで使う

SYSTEM_KDです。

久々に「Google Play Service」を使おうかなと思い、最新を取得していたところ「BaseGameUtils」がAndroid Studio用しかなくなっておりましたので、Eclipseで使う方法についてまとめてみます。

と言っても、ちゃんと変換用のツールが用意されてましたので、その使い方ですね。

ちなみに、BaseGameUtilsはここからダウンロードできます。

さっそくですが、ダウンロードしてきたファイルを開くと、下記のフォルダがあると思います。

・BasicSamples
・Scripts

c1

この状態で、下記の様に、エクスプローラのパス部分へ「cmd」と入力しEnterを押下します。コマンドプロンプトが起動したら、「Scripts\make_eclipse_compat.cmd」と入力し、Enterを押下します。

c2

c3

すると、新たに「eclipse_compat」というディレクトリが生成されますので、この中の「libraries」にある「BaseGameUtils」をEclipseへインポートすればOKです。

以上、よく見るとGitHubページの下の方へ英語ですがちゃんとのっている内容でした。

2014年11月30日日曜日

Android5.0のSmart Lockへ「信頼できる場所」が追加されたので試してみる

SYSTEM_KDです。

先日、Smart Lockのことについて記事を書きましたが、Google Play開発者サービスのバージョンが「6.5」へアップされたことにより、Smart Lockの設定へ新たに「信頼できる場所」が追加されましたので、試してみました。

Screenshot_2014-11-29-12-13-18

アップデートされるまでは、「信頼できる端末」「トラステッドフェイス(フェイスアンロック)」だったため、前回の記事にも書きましたが、スマートウォッチ等がないと、思ったような使い方ができませんでしたが、この「信頼できる場所」が追加されたことにより、かなり良い感じ(個人的にですが)になりました。

まず、何ができるようになったかと言いますと、端末がある「場所」によってロックを解除した状態にできるようになりました。

要するに、「基本的には端末をロックしておきたいけど、家にいるときは、一々ロックを解除するのが面倒だ」といった場合に、信頼できる場所へ家の位置を追加しておくことにより、家にいる場合は端末のロックを解除した状態にできます。

場所を指定するのも簡単に行うことができ、「Google Now」へプレイスを設定している人は、「信頼できる場所の設定」で、自宅・会社の設定をONにするだけで、利用可能になります。

上記以外の場所を追加するのも簡単に行え、検索も行える地図上から設定することができます。

place_set

精度としましては、指定した位置の100m以内(画像の青い点線内)であればロックが解除された状態になります。

以上、Smart Lockの「信頼できる場所」を試してみたでした。

2014年11月29日土曜日

SPFの設定はしたけど、EC-CUBEから送信されるメールが迷惑メールになる場合の対処法

SYSTEM_KDです。

久々にEC-CUBEネタです。(タイトル長いw)
SPFの設定は行ったが、EC-CUBEから送信されるメールが迷惑メール扱いになってしまう場合があるかと思いますが、その対処方法について書いてみます。

早速ですが、対処方法は以下の3ステップになるかと思います。

1.SPFの設定が正しいか確認

2.EC-CUBEからの送信メールのSPFの確認

3.EC-CUBEの修正

まず、「1.」ですが、設定が正しいか確認することのできるツールがありますので、そちらで確認します。
こちらで、結果として「PASS」が表示されればOKです。

ダメな場合は設定の見直しを行って下さい。

次に「2.」ですが、EC-CUBEから送信されたメールのSPFの状態を確認します。
この設定がどこで見れるかといいますと、受信メール(対象のECサイトから送信されたメール)の「メッセージのソース」から確認ができます。
(詳しい場所はメーラーにより異なるので、割愛します)

このメッセージソース内で「SPF」という文字を検索すると、EC-CUBEから送信されたメールがどの様な状態(認証結果)となっているかが確認できます。

この状態が「PASS」であれば、迷惑メールに割り振られなくなるのですが、おそらくPASSになっていないのではないかと思います。

PASSになっていないことが確認されたら、上記のメッセージソース内で、今度は「Return-Path」となっている部分のメールアドレスを確認します。
このアドレスが「1.」で設定したドメインのものになっていないのではないかと思います。

このReturn-Pathのアドレスが認証に利用されるので、ここへSPFで設定したドメインのものが設定される必要があります。

では、EC-CUBE上のどこで設定したアドレスが、ここに設定されるかといいますと、管理画面の「SHOPマスター」へ「メール送信元メールアドレス」といったそれらしい値があるかと思います。ですが、残念ながらこのアドレスがReturn-Pathとして、上手く設定されていない様です。

ということで、「3.EC-CUBEの修正」になります。

修正を行うファイルは「data/class/SC_SendMail.php」になります。
このファイルの310行目あたりを以下のように変更します。
※EC-CUBE2.12以降での場所になります。

case 'mail':
$arrParams = array(‘-f’ . ‘Return-Pathとして設定するアドレス’);
break;

注意点として、-f と Return-Pathとして設定するメールアドレスの間にスペースを入れないようにします。

Return-Pathに設定したメールアドレスが、「eccube@mail.co.jp」と仮定した場合
-feccube@mail.co.jp
となります。

これで、EC-CUBEから送信されたメールのReturn-Pathへ指定のアドレスが設定されSPFで設定が上手く行えていれば、SPF=PASSになり迷惑メール扱いから開放されるかと思います。

環境により一概に全てにおいて解決するとは言えませんが、お困りの方がいらっしゃいましたら、試してみる価値はあるのではないかと思います。

2014年11月27日木曜日

AndroidでJSOUPを使う。その2(ベーシック認証へのアクセス)

SYSTEM_KDです。

AndroidでJSOUPを使う。その1(基本的な使い方 GET, POST, クッキーについて)の続きになります。

その1の最後で宣言したとおり、ベーシック認証がかかっている状態での、GETとPOSTについてまとめます。

ベーシック認証を通したいので、行うこととしては、HTTPヘッダーへ認証情報を設定してやります。

こんな感じです。

// ベーシック認証のIDとパスワードを設定
String basicID = "ベーシック認証のID";
String basicPass = "ベーシック認証のパスワード";
// IDとパスワードを送信用に結合
String basicIdPass = basicID + ":" + basicPass;
// IDとパスワードをベーシック認証用にbase64でエンコード
String basicIdPass64 = Base64.encodeToString(basicIdPass.getBytes(), Base64.DEFAULT));

// ヘッダへ設定する情報を用意
String headKey = "Authorization";
String headValue = "Basic " + basicIdPass64;

// HTTPヘッダへの設定とConnection作成
Connection conn = Jsoup.connect("URLを指定").header(headKey, headValue);

以上です!

あとは、ベーシック認証を設定したConnectionを利用して前回紹介したようにGET, POSTを行うだけです。

もちろんCookieを設定する場合も、同様にこのConnectionに設定してやるだけです。

もったいぶって、Basic認証へのアクセスを「その2」にしてはみましたが、全然大した内容になりませんでしたねw

2014年11月26日水曜日

AndroidでJSOUPを使う。その1.5(POST後のCookieを取得する)

SYSTEM_KDです。

AndroidでJSOUPを使う。その1(基本的な使い方 GET, POST, クッキーについて)の続きです。

前回書き漏らしたけど、その2に入れるには大したこと無いネタなのでその1.5として書きたいと思います。

内容としてはタイトル通りなのですが、POSTでの送信とCookieの取得については個別に書いたのですが、POSTを受けたWEB側の処理でCookieが変更された場合、前回記載した方法では取得することができません。

POSTした結果と共にCookieを取得するには下記の様に行います。

// Connectionを作成
Connection conn = Jsoup.connect("URLを指定");
// POSTするパラメータを設定
HashMap<String, String> param = new HashMap<String, String>();

// POSTを行いレスポンスを取得
Connection.Response res = conn.data(param).method(Method.POST).execute();

// レスポンスからCookieを取得
Map<String, String> cookies = res.cookies();

// レスポンスからDocumentを取得
Document doc = res.parse();

やってること自体は大したことないですが、
最初は方法を見つけるのにかなり時間がかかりました ^^;

重要な部分は見ての通り7行目以降の部分になります。

結果を受け取る際に、「Document」を取得するのではなく「Response」を取得しそこから必要な情報を取り出す様な流れとなります。

2014年11月25日火曜日

AndroidでJSOUPを使う。その1(基本的な使い方 GET, POST, クッキーについて)

SYSTEM_KDです。

AndroidでHTMLをパースしたり、http通信時に便利なライブラリ「JSOUP(JSONじゃないよ)についての使い方を自分の備忘録をかねてまとめたいと思います。

ネット上に記事があるようで、やりたいこについてのってなかったのでまとめ。

まず、JSOUPを利用するために必要なライブラリを用意します。
必要ならライブラリは、「JSOUPのjar」と「HttpClient」になります。
それぞれ、下記からダウンロードします。

HttpClient
※Binaryのzipかtar.gzあたりをダウンロード
※2014/11/24時点の最新バージョンは 4.3.6 でした

JSOUPのjar
※2014/11/24時点の最新バージョンは 1.8.1 でした。

ライブラリをダウンロードしたら、必要なjarだけとりだします。
AndroidでJSOUPを利用するために必要なライブラリは次になります。

・jsoup-1.8.1.jar
・httpcore-4.3.3.jar
・httpmime-4.3.6.jar

あとは、上記のjarを利用するAndroidプロジェクトの「libs」にコピーすれば準備OK.

では、早速利用してみたいと思いますが、全体的なソースは省きます。
(大まかな部分はネット上にまとめられておりますので、JSOUPの使い方だけに絞ります)

まず、GETから

// Connectionを作成
Connection conn = Jsoup.connect("URLを指定");
Document doc = conn.get();

これだけです。これでHTTPへリクエスト飛ばせます。
あとは、DocumentからJQueryライクにHTMLを扱えます!

次に、POST

// Connectionを作成
Connection conn = Jsoup.connect("URLを指定");
// POSTするパラメータを設定
HashMap<String, String> param = new HashMap<String, String>();
// nameとageをPOSTする
param.put("name", "SYSTEM_KD");
param.put("age", "30");
// post
Document doc = conn.post();

以上です。これで、POSTができます。
あとは、GETと同様にDocumentからHTMLを扱います。

と、ここまでは、探せばネット上にあるかと思います。
まぁ、これだけあれば色々できるのですが、もう一歩踏み込もうとすると、とたんに情報が少なくなる気がします。

と言うことで、ちょっと踏み込んで、Cookieを利用する場合について記載したいと思います。
POSTを使う場合等は、色々やっていくうちにCookieを利用したくなるかと思います。

では、Cookieの取得から

// Connectionを作成
Connection conn = Jsoup.connect("URLを指定");
// Cookieを取得
Map<String, String> cookies = conn.execute().cookies();

もったいぶりましたが、あっさり取れます。

反対に、Cookieを設定する場合
(上記で取得した値を設定すると想定)

// Connectionを作成
Connection conn = Jsoup.connect("URLを指定");
// Cookieを設定
for (Map.Entry<String, String> cookie : cookies.entrySet()) {
conn.cookie(cookie.getKey(), cookie.getValue());
}

設定の方も簡単におこなえます。
これで、基礎的な部分は網羅できるかと思います。

次回は、その2 ベーシック認証がかかっている状態での、GETとPOSTについて書きたいと思います。

2014年11月23日日曜日

Android5.0のSmart Lockを試してみる(鍵にはAndroid4.1のXperiaVLを利用してみた)

SYSTEM_KDです。

Nexus端末へのAndroid5.0へのアップデート配信が開始されてから1週間以上経過しましたが、うちのNexus7(2013)へはまだ落ちてこなかったので、結局手動でOTAアップデートしました。
(こんなことならさっさとアップデートするべきだった。。)

まぁ、それは置いておいてw

Nexus7(2013)(※以下Nexus7)がAndroid5.0に上がったということで、新機能である「Smart Lock」を試してみました。

Smart Lockとは
Android5.0で追加された新機能で、Bluetooth機器や、NFCタグでロック画面の認証を無効化できる機能になります。

それでは早速NFCから試して見たいと思います。

手順としましては、「設定」>「セキュリティ」>「Smart Lock」を選択し、「信頼できる端末」で「信頼できるデバイスの追加」から「NFC」を選択します。

すると、下記のように信頼できるデバイスを登録する画面が表示されますので、NFCを読み込ませ、登録を行います。

Screenshot_2014-11-22-22-02-42

これで、準備は完了です。

では、実際にロックを解除してみます。

まず、Nexus7をロック画面にします。
もちろんこの状態ではまだロックされております。

LOCK1

この状態で、登録したNFCタグをかざすと、

LOCK2

見づらいですが、ロックマークが解除状態にかわりました。
後は、上にスワイプすると認証を入力することなく利用することができます。
機能自体はすごいですが、NFCかざすぐらいならPINなり、パスワードなりを入力した方が早いきがします。。
(まぁ長いパスワードの場合はこっちの方が楽ですね)

ではもう1パターンの方のBluetoothによるロック解除を試したいと思います。
こっちは、Bluetooth機器が近くにあればロックを解除できるので、実用性が高いかと思います。
主な利用シーンとしては、最近登場し始めたスマートウォッチと連携させるかたちを想定されたものだと思います。

ということで、普段はロックをかけておきたいけど、スマホを所持した状態でNexus7を利用した場合は、ロックフリーにできれば便利だな~と思いつつNFCの時と同様の手順で、今度はBluetoothでペアリングした端末を「信頼できるデバイス」として登録していきます。

今回は手持ちのXperiaVLを信頼できるデバイスとして、Nexus7のロックを外すための鍵に使ってみます。

XperiaVLとNexus7はBluetoothでペアリングさせているので、信頼できるデバイスとして、登録するだけですぐにできそうです。
(ちなみにBluetoothでペアリングさせるには、ペアリングさせる端末のBluetoothを両方ともONにして、検出させてやれば簡単に行うことができます。)

スマホを信頼できるデバイスとして、Nexus7側へ登録したので、早速ロックを解除してみたいと思います。

まず、ロック状態から

LOCK1

・・・・

あれ?

スマホ既に近くにあるのにロック状態になってる・・・。

 

そんな気はしていましたが、Bluetoothが接続状態でないとこの機能は有効になりません。
確認してみたところ、未接続の判定になっておりました。

LOCK3

ぱっと思いつく解決策としては、

1.スマホ側でBluetoothの設定を開き、手動で接続し接続が活きている間はロックが解除される。

2.Bluetoothでテザリングを行えば、接続有効になるので、その状態であればロックが解除される。

あたりかと思います。

「1.」はNFCの時と同じで手動で接続するぐらいなら、普通にロックを解除したほうが楽です。

「2.」は外出先で利用する場合に、スマホのテザリングを利用している方は、割りと有りな選択しではないかと思います。

と言うことで、とりあえず「信頼できるデバイス」として、スマホを登録しておけばテザリング時にはSmart Lockの恩恵を受けることができるかと思います。

いやーこれは、スマートウォッチほしいなー。

Smart Lockの機能に信頼できる場所が追加されたので続き書きました

2014年11月15日土曜日

Android5.0より前のバージョンでMaterialDesignを使う方法(簡易版)

SYSTEM_KDです。

Android5.0 Lollipopで、MaterialDesign(マテリアルデザイン)が採用され、Google製のアプリはどんどん採用されております。

Android5.0専用のアプリなら、スタイルの設定でMaterialDesignを利用するように設定すれば、MaterialDesignなアプリを作成できますが、そうではなく5.0より前のバージョンで動作して、さらにMaterialDesignを採用したアプリ(いま更新されているGoogle製のアプリはだいたいそうですね)を作るにはどうすれば良いのだろうということで、ちょっと調べてみました。

ちなみに、Android Studioではなく、Eclipseでの手順になります。

とりあえず、簡単にできるのが良いなということで、目指すところはActionBarをAndroid5.0っぽくできたらゴールというノリで行いたいと思います。

まぁようするに

def

これを

md

こうする方法です。

では早速。

まず、新規にプロジェクトを作ったら、サポートライブラリをインポートします。
インポートするサポートライブラリは「appcompat」になります。

ソースの場所はAndroid SDKを入れているディレクトリの中の
/extras/android/support/v7/appcompat
になります。

インポート方法はEclipseのパッケージエクスプローラで右クリック→インポートを選択し、「Android/Existing Android Code Into Workspace」を選択し、ルート・ディレクトリへ上記のソースのパスを指定します。
(インポートする際、プロジェクトをワークスペースにコピーへチェックを入れておいた方が良いかも)

インポートできたら、インポートしたプロジェクトの「プロジェクト・ビルドターゲット」をAndroid5.0に設定します。
(プロジェクトのプロパティからAndroidを選択すれば設定画面が開きます)

次に、新規に作っておいたプロジェクトへ先ほどインポートしたプロジェクトをライブラリとして追加します。

これで、準備完了です。

あとは、スタイルへ「Theme.AppCompat.Light」を設定し、Activityに対して「ActionBarActivity」を継承してやると、ActionBarがMaterialDesign仕様になります。

こんな感じです


javaの方

public class MainActivity extends ActionBarActivity {
// 処理
}

ということで、わりと簡単にAnroid5.0より前のバージョンでもMaterialDesignを取り込めそうです!!

2014年11月13日木曜日

EC-CUBE2.13.3にてパスワードへ ****** を設定した際の不具合の対応方法について

SYSTEM_KDです。

タイトル長くなりましたが、先日の投稿で少しふれました、EC-CUBE2.13.3の不具合についての対処法についてです。

問題をおさらいしておきますと、EC-CUBE2.13.3において、パスワードの設定で記号を利用できるように改善されたのですが、その部分に不具合があり、会員登録時にパスワードを設定する際、マスクされた状態と同じ文字「******」をパスワードに設定すると、ログインができなくなるという問題です。

ソースを修正しなくても、パスワードリマインダーからパスワード再発行すればログインできるようになるのですが、簡単な修正で対応できますので、対応方法をのせてみます。

いきなりですが、修正するソースは

data/class/helper/SC_Helper_Customer.php になります。

修正方法ですが、上記ファイルの63行目を以下のように書き換えます。

//-- パスワードの更新がある場合は暗号化
if ($arrData['password'] == DEFAULT_PASSWORD or $arrData['password'] == '') {
//更新しない
unset($arrData['password']);
} else {
//-- パスワードの更新がある場合は暗号化
if (($arrData['password'] == DEFAULT_PASSWORD or $arrData['password'] == '') && is_numeric($customer_id)) {
//更新しない
unset($arrData['password']);
} else {

以上です。

変更内容としましては、新規の会員登録時は、パスワードの入力値が「******」の場合でも、パスワード値の登録処理をスキップせず処理するようにしただけです。

これで、パスワードに「******」を設定した場合も、ログインできるようになるかと思います。

まぁそもそも会員情報の変更では、上記の値にすることができないので、会員登録時限定の問題という大したこと無い話ではあります。

2014年11月11日火曜日

BloggerでAdSenseに登録ボタンが有効なのにボタンを押しても先に進めない場合

SYSTEM_KDです。

需要が少なそうな小ネタですが、タイトルの通りのことが起こりちょっと困ったので、解決方法をのせてみます。

BloggerでAdSenseを有効化するには、管理画面より「収益」>「AdSense」を選択し、「AdSense に登録」ボタンを押す必要があります。

Blogを始めてすぐは、「現在、あなたのブログにはAdSense に認証されていません。」といった形で、まだ利用する資格がないと表示されます。

その後、更新を続けていき承認がOKになると、上記のメッセージは消え、「AdSense に登録」ボタンが押せるようになります。

このブログも最近まではボタンが押せない状態でしたが、ようやく承認されてボタンが押せるようになりました。
(承認の条件がどういうものか不明(いちおう条件はこれかな))

ここから本題ですが、ようやくボタンが押せるようになったので、さっそく押してみたところ、読込中と一瞬表示されますが、その後の反応はなし。

ブラウザの問題か?と思い、ChromeからFirefoxに変えてみましたが、現象は同じです。(ちなみにIEは論外でした)

キャッシュを消してみたり、クッキーをクリアしたりしましたが、変わらず。

一時的なものかなと思い、少し時間を開けて試してみましたが、変わらず。。

「お前には AdSense を使う資格はないのだ」というお達しかと思いつつ、色々設定を見てみたところ、ある項目のチェックボックすをONにすると見事に「読込中」から先へ進むことができました!

その項目は、Blogger管理画面の右上にあるメニュー【歯車マーク】をクリックすると表示される、「ユーザー設定を編集」のページの「Blogger Draft を使用する」のチェックになります!

確認にこれで先に進めるという確証はないのですが、同様の現象で困っている方がいらっしゃいましたら、試してみると良いのではないかと思います。

(まぁ、ほとんど居ないでしょうけど ^^;

2014年11月10日月曜日

EC-CUBE2.13.3 がリリースされたようです。

SYSTEM_KDです。
久々のブログ更新です。

タイトルの通り、EC-CUBEのバージョン2.13.3 正式版がリリースされたようです。

と、言ってもマイナーバージョンアップになりますので、主な変更はバグフィックスといったところのようです。

とは言え、とりあえず、インストールして試してみました。

バグフィックスがメインですので、大きな変更はないのですが、2点だけ変更点を発見しましたので、上げてみます。

まず、管理画面側。

管理画面でメニューを選択する際、今まではマウスオーバーでメニューが開いていましたが、これがクリックしないと開かない仕組みに変わっていました。
(タッチできるデバイスで表示した際の改善の様です)

次に、フロント側。

会員情報のパスワード入力で、記号が使えるようになっていました。
(って今まで使えなかった方が不思議かもしれませんが)

以上、EC-CUBE 2.13.3 でした!!

 

余談:
会員登録時のパスワードで、記号が使えるようになっていたので、ちょっと意地悪をしてみましたw

どんな意地悪かと言いますと、パスワードへ「******」を設定してみるというものです。
会員情報変更画面等で自分が入力したパスワードはマスクされて「******」で表示されますが、これを入力してみたらどうなるか?といったところです。

結果としましては、会員登録を問題なく行えますが、一度ログアウトすると、ログインが不可能になるという結果になりました!!
(見事に意地悪が的中 ^^;

データを見てみたところ、パスワードが空になっておりました。
おそらく原因としては、入力文字列が「******」の場合はパスワードを変更してないものと認識するのですが、その判定が会員登録時も行われているため、新規登録だけどパスワードは更新しないみたいな判定で、パスワード自体が設定されない様になっているためだと思われます。

せっかくなので、修正方法をのせようかと思いますが、時間がないのでまた次回にでも。

以上余談でした。
(余談の方が長いかも。。)

2014年11月3日月曜日

今更ながら、Windows7 から Windows8.1 へアップグレード

SYSTEM_KDです。

今更ながら、OSをWIndows7からWindows8というか、8.1へアップしました。

Windows8自体はキャンペーン価格で購入し、ずっとアップせずディスクを放置していたのですが、ストアアプリでも作ろうかと思いアップしてみました。

基本的には、ディスクを入れてアップグレードするだけで、Windows7の情報を引き継げて、特に悩むことはなかったのですが、Windows8にアップしてからが大変でした。

まず、アップした後すぐにWindows Updateを行おうと思ったのですが、なんと更新の個数が120オーバあり衝撃を受けていたのですが、いざインストールして、適用のためPCを再起動すると、「更新プログラムの構成に失敗しました」と出たのち、復帰を始めて、どうしようもない状態になってしいました。。

とりあえず、一晩放置しておくとなんとか失敗から復帰してくれていたので、5個とか10個とかずつ、適用を行っていくはめになりました。。

その後は、失敗と成功を繰り返しつつようやく適用を終え、さらにWindows8.1へアップしてなんとか使える状態に復帰しました。

ほとんどいらっしゃらないと思いますが、Windows7からWindows8→8.1へアップグレードする際は、Windows Updateへお気をつけください。

2014年10月26日日曜日

Microsoft Community Champion について

SYSTEM_KDです。

以前、Microsoftのイベントで、Microsoft Worldwide Community Championというコンテストがあるとお伝えしたのですが、どうもコンテストの名前が変わったようです。

新しい名前は「Microsoft Community Champion」ということみたいです。

<公式のFacebookページ抜粋>
このたび、本コンテスト「Microsoft Worldwide Community Champion」の名称が「Microsoft Community Champion」に変更される運びとなりました。それに伴って「MWCC」の略称も「MSCC」へ変更となり、本 Facebook ページの名称も「MSCC Japan(旧 MWCC Japan)」といたしました(プロフィール画像は追って変更予定です)。

前の名前は、かなり長かったので、正直イベント名を思い出すのが難しかったですが、これならなんとか思い出せそうですね。

登録期限の10月末まであと少しですので、気になっている方はお早めに登録を~。

2014年10月25日土曜日

EclipseでAndroid5.0のMaterialDesignを表示

SYSTEM_KDです。

EclipseにAndroid5.0 のSDKを導入して、少しだけ使ってみるという記事を書いたのですが、EclipseだとAndroidプロジェクトを作成しただけでは、5.0の売りのMaterialDesignになっていなかったようですので、MaterialDesign(のテーマ)を設定する方法について書いてみます。
(といっても、知ってる人は当たり前だろ的な内容ですが。。)

Android5.0 Lollipop SDKをいれてみた
EclipseにAndroid5.0のSDKを導入してCardViewを使おうとしたらエラーが出て使えない

Android Studioで新規にプロジェクトを作成する際は、新規作成にてMinimum SDK のバージョンで「API 21」を選択

as

あとは、そのまま作成すれば、デフォルトで「MaterialDesign」が適用された状態になります。

as_m

が、、、Eclipseで作成すると、同様にMinimum SDK で「API 21」を選択しても、テーマの選択に「Material」がないため、仕方なく別のテーマを選択することになります。

e_m

その結果、当然ですが、

e_v

MaterialDesignにはなりません。
これを、Android Studioのようにするには、スタイルを追加してテーマに「Material」を設定します。
(まぁAndroid Studioと同じ状態にするだけです)

MaterialDesignが動作するのは、API 21 になりますので、API21用の「styles.xml」を追加します。

v_add

こんな感じです。
中身は、「values-v14」の「styles.xml」をコピーして少し変えるだけです。

cd

重要な部分は「parent = 」で設定する内容を「android:Theme.Material.Light」にする部分ぐらいです。

この状態でアプリを起動すると、

ec_m

Android Studioで実行したときと同じく、MaterialDesignが反映された状態になります。
めでたしめでたし。です。

2014年10月20日月曜日

EclipseにAndroid5.0のSDKを導入してCardViewを使おうとしたらエラーが出て使えない

SYSTEM_KDです。

先日、EclipseへAndroid5.0のSDKを導入し、「Android5.0 LollipopのSDKをいれてみた」という記事を書いたのですが、せっかくAndroid5.0のSDKを導入したんだから、ちょっとこれぞ「5.0」なことを試してみようと思い、CardViewを試してみたのですが、ハマりまくったのでちょっとまとめておきます。

まず、CardViewですが、最近Google製のアプリなんかでよく使われている

cardview

こんな感じのカード状のビューのやつです。

Android5.0からは、CardView用のウィジェットが追加されましたので、それを試そうと思い、このページを参考に(というかほぼコピー)してみたところ、

・・・・エラーです

エラー内容としては。。

No resource identifier found for attribute 'cardCornerRadius' in package

となっています。

どうも、


xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="200dp"
card_view:cardCornerRadius="4dp">

この部分に問題がありそうです。

とりあえず、問題となっている部分を消してみます

エラーはでなくなったので、実行してみると、エラーで強制終了しました。。

エラー内容としては。。

android.view.InflateException: Binary XML file line #11: Error inflating class android.support.v7.widget.CardView

android.support.v7」がないから?といった雰囲気の様です。
そもそも、1行おかしいとかというレベルの問題ではなさそう。。


ここから、「android support library」をlibsに追加したりと、色々やった挙句、何とかまともに動かす方法を発見できました。


方法としては、こうです。

まず、「android-sdks」のディレクトリへアクセスし、「/extras/android/support/v7/cardview」をインポートし、Eclipseへ追加します。

eclipse_i1

eclipse_i2

次に、インポートした「cardviewプロジェクト」のプロパティを開き「Android」を選択「ライブラリー」にチェックを入れます。

チェックを入れたら、今度はエラーが出ているプロジェクト(CardViewを使おうとしているやつ)のプロパティを開き「Android」を選択。ライブラリーの追加で先ほどインポートした「cardview」を選択します。

すると、、、なんということでしょう、エラーが消えたではありませんか。

最後に、念のため「cartview」と実行したいプロジェクトを両方ともクリーンすれば、異常終了せず実行されると思います。(※さっき消したコードも復活させておいて大丈夫です)

Android Studioだと、さくっと実行できたのですが、Eclipseでは難儀しました。。
そろそろ、Android Studioに移りどきなのかなーとか思っみたり。

2014年10月18日土曜日

Android5.0 Lollipop SDKをいれてみた

SYSTEM_KDです。

Android5.0(Lollipop)に対応したSDKの配布が開始されました。

site

ということで、早速導入してみます。
(本当は昨日夜にいれたかったけど、眠さに負けました)

Eclipseで開発してますので、Eclipseから「Android SDK Manager」で更新します。

SDK Managerを開くと、

sdk

きてます!きてます!

ネットで情報は見てましたが、バージョンは「Android L Preview」のときの「API 20」から「API 21」に上がっております。

他にも、「Android Support Library」も「revision 21」へ上がっているようです。

sdk2

とりあえず、SDKを更新します。

Eclipseの場合は、合わせて「ADT Plugin」の更新も必要になります。
(2014/10/18 現在 バージョン 23.0.4)

adt

さくっと更新して、導入完了!!

とりあえず、エミュレータを起動してみたいと思います。

Android Virtual Device (AVD) Manager」を起動して、Android5.0のエミュレータを追加します。

emu
(せっかくなので、CPUをIntel 64bitにしてみたり。。)

起動!!

emu2
(おぉ!なんかちょっと違うかも)

emu3
(下から上にスライドでロック解除!)

emu4

とりあえず、MaterialDesignを感じつつ、言語と時間を日本に設定。

emu5

emu6

ということで、Android5.0 へふれることができました。
早く実機に更新がこないか待ち遠しいです!!

おまけ

バージョンを表示したので、やることは一つ

連打!!!(3回でいいっぽい

egg

Android 5.0 のイースターエッグはこんな感じで、、

egg2

ってどっかで見たゲームだよこれ!!! (・_・)

2014年10月16日木曜日

Microsoft Worldwide Community Championについて

SYSTEM_KDです。

そろそろAndroid5.0?くる?Nexus6でる? とソワソワしていたりするのですが、全然関係なくWindows関連のネタです。

まぁタイトルの通りなのですが、「Worldwide Community Champion」というイベントが開催されるようです。

リンク先のページを見ると、一瞬「ん?MMORPG系?」とか思うかもしれませんが、れっきとしたMicrosoftのイベントのようです。

mwcc

イベントの内容としましては、「Windowsアプリ」や「Microsoft Azure ソリューション」の開発やオンラインフォーラムへの回答をして、ポイントを稼ぎ総合点を競い上位チームは商品ゲットといったイベント(コンテスト)のようです。

スキルはショボショボですので、賞品を狙ったりはできませんが、公式Facebookいわく「素敵な得点満載!」らしいので、つられて参加してみようと思います。
(開発工程マニュアルがいるとかあるけど。。大丈夫かな。。)

登録期限は10月末までのようですので、参加したい方はお早めに~。

2014年10月13日月曜日

EC-CUBEプラグインの設定情報を保持する

SYSTEM_KDです。

最近プラグインネタから遠ざかっていたのですが、久々にプラグインネタです。

今回はEC-CUBEプラグインの設定情報を保持する」という内容について書きたいと思います。

プラグインを作成した際、プラグイン独自の設定情報を持ちたいということだ出てくると思いますが、その方法についてです。

まず、プラグインに独自の設定情報を持たせたい場合、どこから設定画面を開くようにするか?という問題が出てくるかと思いますが、これについては標準で場所が用意されております。

p_set01

プラグイン管理画面の「プラグイン設定」という部分にあたります。

この「プラグイン設定」を有効にするには、プラグインのファイル内に「config.php」というファイルを用意し、プラグイン情報の設定画面が開くようにしてやります。

これにより、「プラグイン設定」が有効化され、

p_set02

設定ボタンが押せるようになります。

また、設定画面にて設定した値を保持する必要がありますが、この方法としましては、プラグインのインストール処理で、新しくテーブルを作成し、データを保持するような作りにしても問題ないのですが、プラグインのインストール情報が保持されているテーブル「dtb_plugin」に利用可能な領域がありますので、少量のデータであれば、そちらへ保持することができます。

[データを保持可能なカラム]
dtb_plugin

  • free_field1
  • free_field2
  • free_field3
  • free_field4

以上、かなり簡単にではありますが、プラグインの設定情報を保持する方法についてになります。