hishidaの開発blog

EBシリーズ(EBPocket,EBWin,EBMac,EBStudio),KWIC Finder,xdoc2txt,読書尚友の開発者ブログ

Android Studio/Eclipse

読書尚友の対象範囲別ストレージ対応について

Qiitaに上げた方がいいような技術的な内容だが、忘備録として書いておく。 Googleから警告がきた 先月から、読書尚友とEBPocet for Android のGoogle Playコンソールに、次のようなメッセージが表示されるようになった。 5月5日より、アプリがストレージへの…

Android Q の外部ストレージアクセスについて

2020年11月以降、Google Play で既存アプリをアップデートするには、targetSDKを29(Android Q)以上にする必要がある。ところが一つ問題があって、Android Qからは、対象範囲別ストレージ(Scoped storage)が導入され、外部ストレージのアクセスが厳格化され…

Android 10 のクリップボードの仕様変更について

Android 10以降、セキュリティ強化のためにクリップボードの仕様に制限が加えられた。 developer.android.com クリップボード データへの制限付きアクセスデフォルト インプット メソッド エディタ(IME)のアプリまたは現在フォーカスのあるアプリでない限…

読書尚友 暗号化PDF対応他

読書尚友の最近の改良について。 パスワードで保護されたPDFの表示 読書尚友ではPDFの表示にAndroidPDFViewを使用している。このライブラリはパスワード付PDFにも対応しているので、サポートしてみた。 github.com パスワード付のPDFを開くときに下記のよう…

EBPocket for Android 最近の更新

最近のEBPocket for Androidの更新内容についてご紹介したい。 非EPWING系辞書のブックマーク、履歴対応 これまで内部的な事情でブックマークや履歴はEPWING系辞書(電子ブックEB/EBXAやロゴヴィスタを含む)しか対応していなかったが、今回の改良で、非EPWING…

読書尚友 夜間モード

macOS Mojave でダークモードが搭載され、他OSでも流行りそうな気配である。 AndroidではAndroid N Developer Preview(初期版)では夜間モードがあったが、実際の製品では搭載が見送られた。だがスマートフォンの場合はバッテリの持ちが長くなるメリットがあ…

読書尚友のAndroid 7.0対応について

Google Developer Consoleで読書尚友のAndroid OS別のシェアを見ると、7.0 nougatのシェアがいつのまにか15%まで増えていた。 現在使用しているASUS Zenfone 3 laserは、海外では4月から7.0の配信が始まっているが、国内ではいつ配信が始まるのか全くわから…

読書尚友とEBPocket for Androidをsplit-screenに対応させた

Android7.0 Nougatからsplit-screenの機能が加わっているが、読書尚友とEBPocket for Androidをsplit-screenに対応させてみた。 といっても日常的に使用しているZenfone 3 laserにはまだAndroid7.0アップデートが来ないので、エミュレータでの動作確認になる…

読書尚友・EBPocketをマテリアルデザインに対応

Androidアプリの読書尚友とEBPocketを、マテリアルデザインに対応してみた。 マテリアルデザインはiOSなどのフラットデザインに似ているが、画面のパーツが現実世界の素材のメタファになっており、厚みや奥行き、重なり、質量を持つ。 GoogleはGoogle I/O 20…

EclipseからAndroid Studio に乗り換えた

Androidの開発環境は当初はEclipse+ADTプラグインだったが、現在はGoogle公式の開発環境はAndroid Studioになっており、ADTの更新は2015年末で終了している。Andoroid Studioに乗り換える必要を感じていたものの、NDKの移植がうまくいかないために、延び延び…

Android WebViewのズームコントロールを非表示にする

EBPocketでAndroid3.0以降本文のズームができないという問題があって、最近やっと解決方法がわかったのでメモしておきたい。まず、AndroidでWebViewを使用したアプリでピンチイン・ピンチアウトによるズームを行う場合、次の方法で可能。 WebSettings webSet…

eclipse+ADTの環境がグダグダな件

androidの開発環境は当初eclipse+ADT(Android Developer Tools)が標準だったが、現在ではAndroid Studioが標準の開発環境になっており、Android DevelopersのページからはAndroid Studioをダウンロードするようになっている。 Download Android Studio and S…

Java8 でSwingのエラー

以前にSwingで作成したjavaアプリを久々に修正しようとしたら、次のエラーでコンパイルできなくなっていた。 The type javax.swing.JComponent cannot be resolved. It is indirectly referenced from required .class files 原因は、Windowsにインストール…

Xcode および AndroidでのSTLの利用について

STL(Standard Template Library )はC++の標準ライブラリで、クラスとテンプレートの利用により、vectorやmap、listのような一般的なアルゴリズムを任意の型に対して使用できる。自分でアルゴリズムを実装するよりも、STLを使用した方が信頼性や性能面で向上…

ADT Bundle Eclipse がなくなった件

最近のAndroid開発環境について。 1) Project Build TargetをAndroid 5.0にするには、JDK7.0が必要。 Material Teameを試そうとしてはまりました。JDK6.0だとエラーになります。 2) ADT Bundle Eclipse がなくなった Android Studio が正式版になったと同時…

FragmentStatePagerAdapterの怪

読書尚友ではページの管理にFragmentStatePagerAdapterを使っているが、これが曲者で、内部にキャッシュを持っているらしく、ページを削除してもViewPagerにうまく反映されないというバグらしきものがある。 読書尚友の場合、画面を縦横回転させたときにレ…

EBPocket for Android オーバースクロール

1.19.xでようやくオーバースクロール(画面を下に引っ張って離すと前の項目を表示)をサポートした。iOSでは以前から対応しており、UI的に最も自然なので、対応の要望が多かった機能の一つ。 いくつか問題があり、まずAndroid2.3以降しか対応できない。そのた…

EBPocket for Android UI見直し

Androidは ICS以降、UIに大きな変更があり、従来のメニューボタンの代わりにActionBarを推奨するようになった。 EBPocketはICS以降のUIにうまく適合していると言えなかったが、今回リリースした1.19.xでようやくUIが固まったと思う。 スプリットアクションバ…

EBPocket for Android のSearchView対応

EBPocket for Android1.16.0をリリースした。Honeycomb以降では検索ボックスにSearchViewを使うように変更した。以前はActionBarと検索ボックスで2行を占めていたが、1行ですむので画面がすっきりした。 ところがなぜかAndroid1.6で動かなくなってしまい、や…

EBPocket for android のICS対応について

Google play のdeveloper consoleからEBPocket for androidのOSバージョン別シェアを見ると、3.xが9.83%、4.xが12.4%、合計すると、3.x以降のシェアが22.28%にまで増えた。 今後各社からのICSアップデートが出そろってくると、あっというまに2.3以前のシェア…

Android SDK Tools r17

AndroidのSDK Tools r17 でIntel Atom x86 System Imageが追加され、PCで実機と遜色ない速度でのエミュレーションが可能になった! (今のところ、Android2.3.3(API10)用のみの提供だ(2012/6/30現在、Android4.0.3用も提供されている)。 また、Intel Hardware …

EBPocket for Android on ICS

「ICSで本文画面が空白になる」というユーザーからの報告があり、ひと月ほど頭を悩ませていたが、1.13.1でどうやら解決できた模様。 結局わかったことは、「Support PackageのFragmentActivity内で表示するWebViewを、 xml のレイアウトで定義してinflateで…

EBPocket for Android 4GB超対応

EBPocket for android 1.13.0で、4GB超のEPWING対応がやっと実現した! 原因は、android-ndkでは off_t の定義が32bitであり、FILE構造体の中でもoff_tが使われているため、fopen/fread/fseeko系統の高水準入出力関数では4GBの壁を越えられないためだった。…

EBPocket for Android のFragment対応

Android3.0から、Fragmentという画面を分割するUI要素が加わった。タブレット型のように広い画面だと必須の機能だが、残念ながら2.x以前では使用できなかった。 ところが最近、Android Compatibility Packageがリリースされ、ライブラリをリンクすることでAn…

EBPocket for Android OS シェア

デベロッパーコンソールで統計情報が見れることを今頃知った。EBPocket for Android のOS シェア Android 2.2 56.6% Android 2.1 27.7% Android 1.6 13.5% Android 2.3.3 1.2% Android 2.3 0.7% 2.3がある!動いているということでいいのかな。機種別シェア …

Android SDK2.3の問題

Android2.3搭載機がまもなく出るので、SDK2.3を入れて試したところ、WebViewでJavaScript連携を行うところでクラッシュするようになった。ログによると、 WARN/dalvikvm(348): JNI WARNING: jarray 0x40578698 points to non-array object (Ljava/lang/Strin…

Android Programming TIPS(5)

NDKでC/C++からログを出力するには Androidのデバッグではログの表示に android.util.Log をよく使います。 NDKのデバッグでもC/C++のネイティブコードからログを表示するためのライブラリが用意されています。1) Android.mkにライブラリを追加 Android.mk: …

Android Programming TIPS(4)

テーマを自作するには androidでは、ApplicationまたはActivity毎にテーマを適用することで、画面のルックアンドフィールを変更することができます。 標準では色に関するテーマはTheme.LightとTheme.Blackの二つくらいしかなくて、ちょっとさみしい感じです…

Android Programming TIPS(3)

システムのファイルパスを得るには SDカードのファイルパスはAndroid2.1までは/sdcardでしたが、2.2からは/mnt/sdcardになりました。 パス名をハードコーディングすると、移植性に乏しいソフトウェアになります。次のようにシステムのパスを取得するAPIを使…

Android Programming TIPS(2)

WebViewで選択文字列をクリップボードにコピーするには Android1.5からブラウザのテキストを選択してコピーする機能が加わりました。WebViewを使用したアプリケーションでも使用したいところですが、これにはWebView#emulateShiftHeld() という非公開メソッ…