2017年04月30日

オリジナルandroid.view.View参考

Android ADK 組込みプログラミング完全ガイド (Smart Mobile Developer)
全サンプルコードは
https://www.shoeisha.co.jp/book/detail/9784798125930
からダウンロード可能。
『第8章 Android 対応の電子オルゴールを作る』
の簡易サンプルの画面・・・▼


続きを読む "オリジナルandroid.view.View参考" »

2016年08月12日

simple_list_item_1 + SimpleAdapter

android.widget.ListView を使う定番サンプル。
String[] strings = { "1列目", "2列目", "3列目" };
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
	getApplicationContext()
,	android.R.layout.simple_list_item_1
,	strings
);

実際には選択リストの表示名とは別にひもづいた値を利用することがほとんど。
そこで標準のレイアウト android.R.layout.simple_list_item_1 のまま android.widget.ArrayAdapter ではなく android.widget.SimpleAdapter に交換してみる。 あえて動的配列で...
ArrayList<HashMap<String, Object>> arrayList = new ArrayList<HashMap<String, Object>>();
HashMap<String, Object> map = new HashMap<String, Object>();
map.put( "display", "1列目" );
map.put( "offset", 1 );
arrayList.add( map );
map.put( "display", "2列目" );
map.put( "offset", 2 );
arrayList.add( map );
map.put( "display", "3列目" );
map.put( "offset", 3 );
arrayList.add( map );

SimpleAdapter simpleAdapter = new SimpleAdapter(
	getApplicationContext()
,	arrayList
,	android.R.layout.simple_list_item_1 ←★
,	new String[]{ "display"},
	new int[]{android.R.id.text1} ←★
);

2016年08月11日

地図に十字中心線を表示

Android Studio2.1.2 のテンプレートGoogleMapsActivityの地図上に十字中心線を表示する簡単な方法。
その前に、Google Maps APIキーをセットしコンパイルすると
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
メソッド数の上限を超えた(Building Apps with Over 65K Methods)
→ https://developer.android.com/studio/build/multidex.html?hl=ja
ということで
MyApplication\app\build.gradle
apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "asia.remix.map"
        minSdkVersion 10
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        multiDexEnabled true ★追加
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:24.1.1'
    compile 'com.google.android.gms:play-services:9.4.0'
}

MyApplication\app\src\main\AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest package="example.myapplication"
          xmlns:android="http://schemas.android.com/apk/res/android"
    >

    <!--
         The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
         Google Maps Android API v2, but you must specify either coarse or fine
         location permissions for the 'MyLocation' functionality. 
    -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:name="android.support.multidex.MultiDexApplication" ★追加
    >

        <!--
             The API key for Google Maps-based APIs is defined as a string resource.
             (See the file "res/values/google_maps_api.xml").
             Note that the API key is linked to the encryption key used to sign the APK.
             You need a different API key for each encryption key, including the release key that is used to
             sign the APK for publishing.
             You can define the keys for the debug and release targets in src/debug/ and src/release/. 
        -->
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/google_maps_key"
            />

        <activity
            android:name=".MapsActivity"
            android:label="@string/title_activity_maps"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>
それぞれ ★印の行を追加。
ちなみに googleの巨大なライブラリを使う場合
MyApplication\gradle.properties

左ペインツリー Projectの Gradle Scripts/gradle.properties

VM起動オプション
org.gradle.jvmargs=-Xmx2048m
を指定するとメモリ不足解消とコンパイル時間を短縮(約1/10)。
本題の十字中心線は...▼

続きを読む "地図に十字中心線を表示" »

2016年07月31日

夏休みの工作・自由研究におすすめ

Handmade Electronic Music ―手作り電子回路から生まれる音と音楽 (Make: PROJECTS)
バネを使った、「ぼよよ~ん」玩具のヒントがあるかも

続きを読む "夏休みの工作・自由研究におすすめ" »

2016年04月12日

php で uuid を使う

●centos6.7 + php5.6 の場合。
sudo yum install --enablerepo=remi --enablerepo=remi-php56 php-devel
少なくとも
sudo yum install libuuid-devel
sudo pecl install -a uuid
が必要。さらに エディタ
sudo vi /etc/php.ini
起動し[PHP]ブロックの最後に
extension=uuid.so
を追加。
sudo service httpd restart
最後に apache再起動。
php -r "echo uuid_create(UUID_TYPE_RANDOM);"
コマンドラインでUUID生成確認。
centos6.7 + php5.3.3 の場合も同様に、
sudo yum install libuuid-devel
sudo pecl install uuid
でOK.。
"uuid-php" と "uuid" がインストールされていた場合は アンインストール必要。

●cent5、php5.1 の場合...▼

続きを読む "php で uuid を使う" »

2016年04月04日

.gitignore 備忘録

設定情報やログなど ドキュメントルートのあちこちに配置してしまっている web のリソース。
『過去と他人は変えられないが未来と自分は変えられる』訳で Git の ".gitignore" を駆使。
# UTF8で除外設定 .gitignore

# カレントのみ AAAディレクトリ
/AAA/

# カレントのみ BBBファイル
/BBB

# カレント以下全階層 Smartyコンパイルディレクトリ
templates_c/

# カレント以下全階層 Appleゴミファイル
.DS_Store
# カレント以下全階層 Windowsゴミファイル
Thumbs.db
# カレント以下全階層 末尾が".CCC"ファイル
*.CCC
特定ディレクトリ内の除外設定は、特定ディレクトリ内の ".gitignore" に差分を記述。

2016年04月03日

php 4.4.1 開発環境構築

 今更、php 4.4.1 開発環境が必要に。数々のお粗末を露呈してきた懲りないお役所は情報漏えいなど所詮 他人事。

 centos4.* はデフォルトで php 4.* がインストールされるものの、かろうじてcentos4.9 が入手可能。
 64ビットcentos4.9は、デフォルトで php4.3.9 がインストールされる。
 この64ビット版に php 4.4.1 をソースからコンパイルしようとすると、32ビット環境が前提らしく configure, make で多数パス修正・妥協必要。
 試行錯誤の結果、32ビットOSに php 4.4.1 をソースからコンパイルが楽。と言う訳でその手順...▼

続きを読む "php 4.4.1 開発環境構築" »

2016年04月02日

Google OAuth 2.0 サーバーサイド設定

Googleアカウントと連携するためのサーバーサイド設定 備忘録。
(旧)Google API Client Services は Google API PHP Client 0.6.7 までで 今は GitHub で公開。
https://code.google.com/archive/p/google-api-php-client/
https://code.google.com/archive/p/google-api-php-client/downloads
●Google API Client Libraries PHP (Beta)のインストール
https://developers.google.com/api-client-library/php/start/installation
で、GitHub の v1-master リポジトリをクローンする旨記述があるものの 結果的には不要。
× → git clone -b v1-master https://github.com/google/google-api-php-client.git
カレントリポジトリも同様で、これに含まれる /src/Google/Service/~ も別リポジトリに枝分かれ。
サンプルで使われている Google_Service_Drive_FileList::getItems() 等が未実装。
ちなみにドキュメントではPHP 5.2.1 以上、GitHub では PHP 5.4.0 以上、試した環境は centos6.7 PHP 5.3.3。

結果的には、composer による設置で十分...▼

続きを読む "Google OAuth 2.0 サーバーサイド設定" »

2016年04月01日

centos6のデフォルトphp5.3.3を5.6.*へ

●php5.3.3関連のアンインストール
$ sudo yum remove php-*

●リポジトリ追加
$ sudo rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

●リポジトリを指定してphp5.6.*インストール
$ sudo yum install --enablerepo=remi-php56 php php-devel php-pdo php-mysql php-mbstring php-pear

●webサーバ再起動
$ sudo service httpd restart

続きを読む "centos6のデフォルトphp5.3.3を5.6.*へ" »

2016年03月05日

namie amuro LIVEGENIC 2015-2016

 安室奈美恵ちゃんの最新ライブDVD『namie amuro LIVEGENIC 2015-2016』をゲット。
 今回の隠しトラックは、アンコール1曲目(通しで27曲目、内部的には31トラック)Birthday。
 ダンサーがステージ上で撮影した映像を別アングルとして収録。
 このトラックを再生時に、Windows7標準メディアプレイヤーの中央メニューから 2つ目のアングルが選べる。

2016年03月01日

簡易エンドロール

endroll1Min SDK Version 10
Android 2.3.4端末 HTC EVO ISW11HT
Android 4.2.2端末 Samsung GALAXY NEXUS SC-04D
Android Studio 1.5.1

ジョークアプリを作った際に試した簡単なエンドロール。
Empty Activity でプロジェクトを新規作成▼

 ↓
endroll1

続きを読む "簡易エンドロール" »

2016年01月03日

タイトルバーとアイコン その2

Min SDK Version 10
Android 2.3.4端末 HTC EVO ISW11HT
Android 4.2.2端末 Samsung GALAXY NEXUS SC-04D
Android Studio 1.5.1

前回はツールバーへロジックでアイコンを追加
見た目は極力 XML ファイルへ記述したい。
XMLだけでツールバーへアイコンを表示させるには▼

続きを読む "タイトルバーとアイコン その2" »

タイトルバーとアイコン

前提
Min SDK Version 10
Android 2.3.4端末 HTC EVO ISW11HT
Android 4.2.2端末 Samsung GALAXY NEXUS SC-04D
Android Studio 1.5.1

Android 2.* 当時、「タイトルバー」にアイコンを云々・・・だったものが転々と移り変わっている模様。
Android Studio で新しいプロジェクト「Blank Activity」「Empty Activity」「Google AdMob Ads Activity」を作成すると
従来 継承していた「Activity」が「AppCompatActivity」となり「タイトルバー」ではなく「ツールバー」という考え方に。
このツールバーを従来の アイコン+タイトル のスタイルにするには MainActivity で▼

続きを読む "タイトルバーとアイコン" »

2016年01月02日

簡単なAndroidアプリ

Android Studio 1.5.1 をインストールできたところで、早速 簡単なAndroidアプリを。
WiFiデバックすることが多いのでアンドロイド端末のIPアドレスなど ネットワーク情報を取得・表示させるだけのアプリ。
Android Studio で新規プロジェクトを作成。
 ↓
Empty Activity を選択。

続きを読む "簡単なAndroidアプリ" »

2016年01月01日

DVD → mp4 変換例

片岡沙耶 プラネットガール片岡沙耶 プラネットガール [DVD] mplayer dvd://1 -dvd-device /dev/scd0 -identify
で、詳細情報から
dvd://1. 本編 12映像
dvd://2. 番外編 1映像
dvd://3. タイトルなど
dvd://4. タイトルなど

今どきのアンドロイド開発環境

以前より簡単になり
java JDK の他に 『Android Studio』をインストールすれば開発が可能に。
現時点の最新バージョンは 1.5.1 。中身・操作感は eclipce とほぼ同じ。
今回は こちらから All Android Studio Packages
android-studio-bundle-141.2456560-windows.exe
をインストール。
▼その他 備忘録

続きを読む "今どきのアンドロイド開発環境" »

2015年12月27日

EUCなフォームをjavascriptでPOST

UTFに移行されることなく10年以上経過するレガシーシステム。既に画面遷移の設計が破綻ぎみ。
やむを得ず、EUCで生成されているフォームをクライアントからバックグラウンドで送信することに。
ajax で POST するフォームの全てのデータをエンコードする
$('formname').serialize();
は、UTF8 前提の javascript なので EUC-JP や ShiftJIS なフォームであっても UTF8 として送信してしまう。

●前提環境
PHP Version 5.6.15
default_charset = EUC-JP
mbstring.language = Japanese
mbstring.encoding_translation = Off
mbstring.detect_order = auto
jQuery JavaScript Library v1.6.2

今回は、
http://polygon-planet-log.blogspot.jp/2012/04/javascript.html
encoding.js を利用させていただく場合の具体的な実装例...▼

続きを読む "EUCなフォームをjavascriptでPOST" »

2015年12月26日

英語ニュース自動ダウンロード 仕様変更

以前設置した「英語ニュース自動ダウンロード」で、12/24からcronエラーメールが届く。
NHK WORLD RADIO JAPAN 英語ニュース mp3音声ファイルの仕様が変わってしまった模様。
rss (http://www.nhk.or.jp/rj/podcast/rss/english.xml)ファイルによると、これまで固定だったファイル名 english.mp3 に日時情報が付加。

crontab -e

30 3,14,19,21,23 * * 0-5 cd ~/xx;wget -q http://www3.nhk.or.jp/rj/podcast/mp3/english.mp3;mv english.mp3 news`date +\%Y\%m\%d\%H`.mp3 1>/dev/null
から
30 3,14,19,21,23 * * 0-5 cd ~/xx;wget -q http://www3.nhk.or.jp/rj/podcast/mp3/`date +\%Y\%m\%d\%H`0100_1_english.mp3 1>/dev/null
へ変更。

続きを読む "英語ニュース自動ダウンロード 仕様変更" »

2015年12月23日

Ethnaでキャプチャ認証を利用する

captcha auth  WEBでの認証で見かける、ロボットプログラムによるスパムリクエストから回避するためのキャプチャをphpベースの国産フレームワークEthnaで利用するための必要最小限の実装。
●使用するライブラリ
Securimage 3.6.2 → securimage.tar.gz [7,596,023]
http://www.phpcaptcha.org/download/

●GDライブラリが必要
php-gd 5.3.3-46.el6_6
インストールは▼
$ sudo yum list installed | grep php-gd
$ yum info php-gd
$ sudo yum -y install php-gd
$ sudo service httpd restart
●ethna は安定板で
$ ethna -v
Ethna 2.5.0 (using PHP 5.3.3)
●ethna のプロジェクトを生成
ethna add-project capt
●本家の securimage.tar.gz を capt/lib へ展開する(本家のサンプルを直接試す場合ドキュメントルートに展開する)。今回、画像認証のみ利用するので
$ ll capt/lib/securimage
    144556 Jan 28  2014 AHGBold.ttf
    119812 Oct 13 13:03 securimage.php
の2ファイルだけで十分。カスタマイズは...▼

続きを読む "Ethnaでキャプチャ認証を利用する" »

2015年12月20日

CentOS 5.6 で VirtualBox 拡張機能を追加

古いサーバーの仮想環境を構築することに。
VirtualBox 上の CentOS release 5.6 (Final) に拡張機能を追加して共有フォルダを使えるようにする。

前提環境
VirtualBox 5.0.10 r104061
$ uname -r
2.6.18-407.el5
...▼

続きを読む "CentOS 5.6 で VirtualBox 拡張機能を追加" »

2015年12月19日

linuxでメール送信設定

自ドメインで登録した google app の gmail でメール送受信を使用中。
この gmail の smtpサーバを使い virtualBOX の linuxサーバ localhost.localdomain から(自ドメインで)メールを送信する。

Postfix(CentOS6.7) → YahooBB(ADSL8M) → gmailのSMTP → internet

前提環境
$ cat /etc/redhat-release
CentOS release 6.7 (Final)
$ cat /proc/version
Linux version 2.6.32-573.el6.x86_64 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #1 SMP Thu Jul 23 15:44:03 UTC 2015
$ postconf | grep mail_version
mail_version = 2.6.6
手順は...▼

続きを読む "linuxでメール送信設定" »

2015年11月15日

PostgreSQL インストール

centos へ PostgreSQL インストールし php から利用するところまで。

●前提環境
cat /etc/redhat-release
CentOS release 6.7 (Final)

cat /proc/version
Linux version 2.6.32-573.el6.x86_64 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #1 SMP Thu Jul 23 15:44:03 UTC 2015

uname -a
Linux www.remix.asia 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
手順は...▼

続きを読む "PostgreSQL インストール" »

2015年11月07日

Centos6.7x64 ミニマムインストール備忘録

Centos が 7 となり、6.* の最終安定版 6.7 ミニマムインストールを映像記録。
VirtualBoxのスクリーンキャプチャ出力形式 webm は、クロームはデフォルトで再生可能。ユーチューブへそのまま登録可能。

前提環境
●ホストOS:Windows7 64bit
●VirtualBox 4.3.12r93733
●ゲストOS:CentOS-6.7-x86_64-minimal.iso

 サウンドデバイスについては
●ホストオーディオドライバ:Windows DirectSound
●オーディオコントローラ:ICH AC97
の指定がお勧め。

この環境下で「Guest Additions」をインストールすることができないので
http://dlc-cdn.sun.com/virtualbox/ から VirtualBox 4.* の最終版
VBoxGuestAdditions_4.3.32.iso
をストレージのCDROMとすることでインストール可能に。この場合少なくとも
yum -y install kernel-devel-2.6.32-573.el6.x86_64
yum -y install gcc
yum -y install perl
が必要(カーネルアップデートは不要)。これで
●ゲストからホストの共有フォルダとしてアクセス可能
●ホスト・ゲスト間のキーボード・マウス制御をシームレスに
●クリップボード共有、ウィンドウリサイズ
が実現。

2015年11月03日

ミュージックレシーバー

プリンストンテクノロジー Bluetoothミュージックレシーバー PTM-BTR1
ブルートゥースを使ってPCやスマフォの音声をコンポのサウンドで聴けて重宝します。
http://www.princeton.co.jp/product/bluetooth/ptmbtr1.html
ユーザーズガイド
http://www.princeton.co.jp/product/bluetooth/img/ptmbtr1/PTM-BTR1.pdf

2015年11月01日

アルゴリズム研究『カラーボックスで作る本棚』

『プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問』
こちら、全部ルビーだったら残念だと思いきや、C言語やJavaScriptでのソースコードダウンロードが可能。
http://codezine.jp/article/detail/8985
辺の比2:3の長方形を任意の長方形となるように敷き詰める組み合わせ
が興味深かったのでJavaに移植...▼

続きを読む "アルゴリズム研究『カラーボックスで作る本棚』" »

2015年10月28日

telnet自動ログイン

APC製 遠隔電源コントローラ APC AP9211 をプログラムから制御する試み。
WEBブラウザ、RS232C、telnetによるインターフェースが用意されている。
今回は、linux の bash から telnet してみる...▼

続きを読む "telnet自動ログイン" »

2015年05月21日

最近メディア露出の多い内科医で作家の

「ヒトは医学で恋してる!」おおたわ史絵さんが“ときめき”についてゲスト出演。
ナビゲーター萱野稔人がいじられるのがおもしろい。
http://www.j-wave.co.jp/original/jamtheworld/break/150521.html
AD1505212050.FMJ.mp3

2015年05月05日

所在不明児童

改善署名ページ

2015年05月04日

めずらしくマシなJ-WAVEホリデースペシャル

スターウォーズ特集。
AD1505041000.FMJ.mp3
AD1505041100.FMJ.mp3
AD1505041200.FMJ.mp3
AD1505041300.FMJ.mp3
AD1505041400.FMJ.mp3
AD1505041500.FMJ.mp3
AD1505041600.FMJ.mp3
AD1505041700.FMJ.mp3

http://www.j-wave.co.jp/holiday/20150504/
http://www.j-wave.co.jp/topics/1504_sw.htm

2015年04月04日

VirtualBox で共有フォルダを使えるようにする

VirtualBox で共有フォルダを使えるようにする為、「Guest Additions」をインストールする。
「Guest Additions」に含まれる機能
・ゲストからホストの共有フォルダとしてアクセス可能に。
・ホスト・ゲスト間のキーボード・マウス制御をシームレスにする。
・クリップボード共有、ウィンドウリサイズ。

前提環境
ホストOS:Windows7 64bit
VirtualBox 4.3.12
ゲストOS:CentOS6.5 64bit

手順▼

続きを読む "VirtualBox で共有フォルダを使えるようにする" »

Powered by
Movable Type 3.34