Android Studio/Eclipse
やむを得ず、EBPocket for Android の対象範囲別ストレージ対応をすることになってしまった。その理由は、 近い将来、targetSdkVersion を31以上にしないと、新規ユーザのGoogle Playにアプリが表示されなくなってしまう(Android11以降の場合)。EBPocketとい…
Android ではOSバージョンの下位互換性を確保するためにサポートライブラリというものがある。例えばFragmentはAndroid OS3.0から導入された機能だが、それより以前のAndroidの利用者はFragmentを使ったアプリを実行できない。そこで、標準ライブラリ版のFra…
Qiitaに上げた方がいいような技術的な内容だが、忘備録として書いておく。 Googleから警告がきた 先月から、読書尚友とEBPocet for Android のGoogle Playコンソールに、次のようなメッセージが表示されるようになった。 5月5日より、アプリがストレージへの…
2020年11月以降、Google Play で既存アプリをアップデートするには、targetSDKを29(Android Q)以上にする必要がある。ところが一つ問題があって、Android Qからは、対象範囲別ストレージ(Scoped storage)が導入され、外部ストレージのアクセスが厳格化され…
Android 10以降、セキュリティ強化のためにクリップボードの仕様に制限が加えられた。 developer.android.com クリップボード データへの制限付きアクセスデフォルト インプット メソッド エディタ(IME)のアプリまたは現在フォーカスのあるアプリでない限…
読書尚友の最近の改良について。 パスワードで保護されたPDFの表示 読書尚友ではPDFの表示にAndroidPDFViewを使用している。このライブラリはパスワード付PDFにも対応しているので、サポートしてみた。 github.com パスワード付のPDFを開くときに下記のよう…
最近のEBPocket for Androidの更新内容についてご紹介したい。 非EPWING系辞書のブックマーク、履歴対応 これまで内部的な事情でブックマークや履歴はEPWING系辞書(電子ブックEB/EBXAやロゴヴィスタを含む)しか対応していなかったが、今回の改良で、非EPWING…
macOS Mojave でダークモードが搭載され、他OSでも流行りそうな気配である。 AndroidではAndroid N Developer Preview(初期版)では夜間モードがあったが、実際の製品では搭載が見送られた。だがスマートフォンの場合はバッテリの持ちが長くなるメリットがあ…
Android7.0 Nougatからsplit-screenの機能が加わっているが、読書尚友とEBPocket for Androidをsplit-screenに対応させてみた。 といっても日常的に使用しているZenfone 3 laserにはまだAndroid7.0アップデートが来ないので、エミュレータでの動作確認になる…
Androidアプリの読書尚友とEBPocketを、マテリアルデザインに対応してみた。 マテリアルデザインはiOSなどのフラットデザインに似ているが、画面のパーツが現実世界の素材のメタファになっており、厚みや奥行き、重なり、質量を持つ。 GoogleはGoogle I/O 20…
Androidの開発環境は当初はEclipse+ADTプラグインだったが、現在はGoogle公式の開発環境はAndroid Studioになっており、ADTの更新は2015年末で終了している。Andoroid Studioに乗り換える必要を感じていたものの、NDKの移植がうまくいかないために、延び延び…
EBPocketでAndroid3.0以降本文のズームができないという問題があって、最近やっと解決方法がわかったのでメモしておきたい。まず、AndroidでWebViewを使用したアプリでピンチイン・ピンチアウトによるズームを行う場合、次の方法で可能。 WebSettings webSet…
androidの開発環境は当初eclipse+ADT(Android Developer Tools)が標準だったが、現在ではAndroid Studioが標準の開発環境になっており、Android DevelopersのページからはAndroid Studioをダウンロードするようになっている。 Download Android Studio and S…
以前にSwingで作成したjavaアプリを久々に修正しようとしたら、次のエラーでコンパイルできなくなっていた。 The type javax.swing.JComponent cannot be resolved. It is indirectly referenced from required .class files 原因は、Windowsにインストール…
STL(Standard Template Library )はC++の標準ライブラリで、クラスとテンプレートの利用により、vectorやmap、listのような一般的なアルゴリズムを任意の型に対して使用できる。自分でアルゴリズムを実装するよりも、STLを使用した方が信頼性や性能面で向上…
最近のAndroid開発環境について。 1) Project Build TargetをAndroid 5.0にするには、JDK7.0が必要。 Material Teameを試そうとしてはまりました。JDK6.0だとエラーになります。 2) ADT Bundle Eclipse がなくなった Android Studio が正式版になったと同時…
読書尚友ではページの管理にFragmentStatePagerAdapterを使っているが、これが曲者で、内部にキャッシュを持っているらしく、ページを削除してもViewPagerにうまく反映されないというバグらしきものがある。 読書尚友の場合、画面を縦横回転させたときにレ…
1.19.xでようやくオーバースクロール(画面を下に引っ張って離すと前の項目を表示)をサポートした。iOSでは以前から対応しており、UI的に最も自然なので、対応の要望が多かった機能の一つ。 いくつか問題があり、まずAndroid2.3以降しか対応できない。そのた…
Androidは ICS以降、UIに大きな変更があり、従来のメニューボタンの代わりにActionBarを推奨するようになった。 EBPocketはICS以降のUIにうまく適合していると言えなかったが、今回リリースした1.19.xでようやくUIが固まったと思う。 スプリットアクションバ…
EBPocket for Android1.16.0をリリースした。Honeycomb以降では検索ボックスにSearchViewを使うように変更した。以前はActionBarと検索ボックスで2行を占めていたが、1行ですむので画面がすっきりした。 ところがなぜかAndroid1.6で動かなくなってしまい、や…
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 でIntel Atom x86 System Imageが追加され、PCで実機と遜色ない速度でのエミュレーションが可能になった! (今のところ、Android2.3.3(API10)用のみの提供だ(2012/6/30現在、Android4.0.3用も提供されている)。 また、Intel Hardware …
「ICSで本文画面が空白になる」というユーザーからの報告があり、ひと月ほど頭を悩ませていたが、1.13.1でどうやら解決できた模様。 結局わかったことは、「Support PackageのFragmentActivity内で表示するWebViewを、 xml のレイアウトで定義してinflateで…
EBPocket for android 1.13.0で、4GB超のEPWING対応がやっと実現した! 原因は、android-ndkでは off_t の定義が32bitであり、FILE構造体の中でもoff_tが使われているため、fopen/fread/fseeko系統の高水準入出力関数では4GBの壁を越えられないためだった。…
Android3.0から、Fragmentという画面を分割するUI要素が加わった。タブレット型のように広い画面だと必須の機能だが、残念ながら2.x以前では使用できなかった。 ところが最近、Android Compatibility Packageがリリースされ、ライブラリをリンクすることでAn…
デベロッパーコンソールで統計情報が見れることを今頃知った。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がある!動いているということでいいのかな。機種別シェア …
Android2.3搭載機がまもなく出るので、SDK2.3を入れて試したところ、WebViewでJavaScript連携を行うところでクラッシュするようになった。ログによると、 WARN/dalvikvm(348): JNI WARNING: jarray 0x40578698 points to non-array object (Ljava/lang/Strin…
NDKでC/C++からログを出力するには Androidのデバッグではログの表示に android.util.Log をよく使います。 NDKのデバッグでもC/C++のネイティブコードからログを表示するためのライブラリが用意されています。1) Android.mkにライブラリを追加 Android.mk: …
テーマを自作するには androidでは、ApplicationまたはActivity毎にテーマを適用することで、画面のルックアンドフィールを変更することができます。 標準では色に関するテーマはTheme.LightとTheme.Blackの二つくらいしかなくて、ちょっとさみしい感じです…
システムのファイルパスを得るには SDカードのファイルパスはAndroid2.1までは/sdcardでしたが、2.2からは/mnt/sdcardになりました。 パス名をハードコーディングすると、移植性に乏しいソフトウェアになります。次のようにシステムのパスを取得するAPIを使…