Sharp SHV48で楽天モバイルのSIM

中古でSharpのSHV48を買った。2020年6月に発売されたau向けのAndroidスマホ。 https://jp.sharp/products/shv48/
お風呂用に買ったので、SIMフリー化とか、指紋認証とか、NFCとか、全然気にせずに買ったのだが、買ってから指紋認証とNFCはあるとよかったかも、と少し後悔した。

さて、メインで使うつもりはまったくないのだが、予備機ということで楽天モバイルのSIMを使えるようにしてみた。
少し手こずったので、その顛末。

続きを読む

NoxPlayerの仮想ディスクファイルを圧縮

Android EmulatorであるNoxPlayerの件。
仮想ディスクのファイル(vmdkファイル)が肥大化してしまった。「クリーンアップ」をしてもそれほど小さくならない。
仮想Android上でディスクをゼロで埋めてやればいいんだろうけどなあ、そんなAndroidアプリはないのかなあ、とググっていて見つけたサイト。

NoxPlayerで肥大化したディスクを縮小する

へえ、nox_adb.exeなんてのがあるんだ。
探してみたら確かにあった。
C:\Program Files (x86)\Nox\bin\nox_adb.exe

じゃあ、これを使ってディスクをゼロで埋めてから、「クリーンアップ」すればいいんじゃないかな?

  1. 仮想ディスクを圧縮したい仮想Android(エミュレータ)を一つ起動
  2. ホスト(Windows)上でコマンドプロンプトを起動(「cmd」を検索して「コマンドプロンプト」を起動するのが簡単)
  3. nox_adbを起動
    "C:\Program Files (x86)\Nox\bin\nox_adb" shell
  4. ここで、正常なプロンプトが返らずに「7」のようなゴミが返ってきた。Enterを数回殴打し、正常なプロンプトである「#」が返ってくればOK
  5. /dataの下にでもゼロで埋めた適当なファイル(例えばhoge)を作成
    cd /data
    dd if=/dev/zero of=hoge bs=1M
    
  6. ディスクがあふれてddが終了したらddで作ったファイル(hoge)を削除
    rm hoge
  7. 仮想Androidを終了(nox_adbも落ちる)
  8. Noxウィジェットの「クリーンアップ」を実行
  9. 終わるのを待つ

【補足】
「"C:\Program Files (x86)\Nox\bin\nox_adb" shell」といちいち打つのは面倒なので、環境変数 Path に「C:\Program Files (x86)\Nox\bin」を追加しておくとよいだろう。

  1. スタートメニュー ⇒ 設定(歯車マーク)
  2. システム ⇒ 詳細情報 ⇒ システムの詳細設定
  3. 環境変数 ⇒ Pathを選択 ⇒ 編集 ⇒ 新規 ⇒ C:\Program Files (x86)\Nox\bin ⇒ OK

こうしておけば

nox_adb shell

だけで仮想Androidに入れるようになるはず。らくちん。

楽天モバイル自社回線に繋がらない

楽天モバイルのサービスエリアマップを見て、ここなら自社回線に繋がるだろうという場所、それも屋外で試してみた。
再起動、機内モードOnOFF、モバイルデータ通信OnOffなどを試してみたが、いくら試しても、何度試しても常に「パートナー回線エリア接続中」となってしまった。
楽天の自社回線というのは幻なのか?
1GB以上使う予定はないので実害は全くないのだが、やっぱり気になる。

ASUS ZenFone Max (M2)で楽天モバイルRakuten UN-LIMIT VI

楽天モバイル公式の「楽天回線対応製品」によると正式な対応機器には含まれていないのだが、「ご利用製品の対応状況確認」というページによると、「110/119通話などでの高精度な位置情報測位」以外は使えるとのこと。
へえ。
データ通信量1GBまでは基本料含めゼロ円で、楽天Linkというアプリを使えば国内通話料・SMSも無料で、申し込んだ時の事務手数料なども無料で、必要なのはユニバーサルサービス料(今は毎月3円)だけでよいそうだ。特に費用は発生しないようなので、ASUS ZenFone Max (M2)はSIMカードが2枚差しできることもあり、今使っているデータ専用のAEON SIMのサブとして試してみることにした。

続きを読む

K-9 Mailでフォルダーの重複

スマホ(Android)を買い替えた。
OSが4.4.4だったのだが、いろんなソフトが対応しなくなったため。
中でも、とあるネット銀行のセキュリティーソフトのバージョンアップに対応できなくなったのがトドメを刺した。
それなりにはまだ使えており、残念だが買い換えるしかない。

で、スマホを買い替え(OSは9)て、いろいろとデータやソフトを移行させのだが、メーラーのK-9 Mailがちょっとおかしなことになった。
設定のインポート機能を使って設定をインポートしたところ、一つのアカウントでは「受信トレイ」が、別のアカウントでは「ゴミ箱」トレイが、それぞれ二つずつ表示されるという状態になってしまった。二つのフォルダーはそれぞれ普通に動作している。特に動作上の問題はないのだが、フォルダー一覧で見たときに鬱陶しい。
設定のインポートをやり直したりしてみたが、効果はなかった。
アカウントを設定し直せば直るかもしれないが、それはかなり面倒。
ググっても見当たらない。

続きを読む

AndroidでFrameLayoutの上にボタンを重ねるとボタンが半透明になってしまう件

結論

【解決したい課題】AndroidでFrameLayoutの上にボタンを重ねると、ボタンが半透明になってしまい超見難いのをどうにかしたい。
【解決方法】アプリのスタイルを見直せばよい。


詳細

FrameLayoutにSurfaceViewを作ってそこに画像を描くアプリを作っていた。
操作用のボタンを設置しようとして、ググったところFrameLayoutを使って重ね合わせるのが定石だということでやってみた。
わかりやすくするため、肝の部分だけソースコードを書くとこんな感じ。

activity_main.xml その1:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ff000000" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center" >
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ボタンですよ" />
        </LinearLayout>
    </FrameLayout>
</RelativeLayout>

MainActivity.java その1:

package com.example.test1;

import android.os.Bundle;
import android.app.Activity;

public class MainActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}
}

このアプリの画面は次の通り。ボタンが半透明になっていることがわかるだろうか。

その1

続きを読む

久しぶりにAndroidアプリ開発

ずいぶんご無沙汰していたのだが、久しぶりにAndroidアプリ開発をほそぼそと再開していた。
以前はLinux(32ビット)上で開発していたのだが、Android Studioをはじめいろんなツールが64ビットのLinuxでないと動かないので、ツール導入時点で立ち止まっていた。
今使っている64ビットのWindows 10であれば問題はないのだが、JAVA (JDK) を入れたり、いろんなツールを入れたりというのはなんかやだなあとか、VMwareを使って仮想環境から立ち上げるのも面倒だなあとか、いろいろ理由をつけて逃げ回っていた。
続きを読む

Android - GPSが全く動かない

ポケモンGO楽しいよね~
歩くと卵が孵化するのがいいよ。
ウォーキングのモチベーションアップになっている。

さて、問題はGPS。

ポケモンGOを入れたあたりから、GPSでなかなか測位できない場合が頻発。
GPS Status & ToolboxなどでGPSの様子をモニターしてみると、ひらけた屋外であるにも関わらず、衛星が全く1個も捕捉できていないらしい。
本体を再起動してみると、直ったり直らなかったり。
ポケGOやGPS Status & Toolboxを再インストールすると直るが、しばらくするとまた不調に。

なんだかな~と困っていたところ、こんなサイトを見つけた。

山旅ロガーというAndroidアプリのサポート掲示板 http://kamoland.com/cgi/cb/c-board.cgi?cmd=one;no=1492;id=#1492

Re:完全に測位できなくなった kamoland - 2016/8/25(木) 12:27 -

携帯電波圏外では測位まで10分ぐらい時間がかかるという現象はありますが,
全く機能しないとなると,違うようです.

このスレッドの内容が近いかも知れません.
http://kamoland.com/cgi/cb/c-board.cgi?cmd=one;no=1448;id=#1448
この場合は,Google Play開発者サービスを初期化して,解消されたようです.

また,似たような件で,Google Playストアのアプリが悪さをしていたという件もあるようです.
http://www.yamareco.com/modules/yamanote/detail.php?nid=1684

私の場合だと、「Google Playストア」を無効(正しくは、アップデートをアンインストールしてから無効)にしたところ、劇的に改善。
GPSが全く動かない、衛星が1個も捕捉できない、といった状況は発生しなくなった。

ただ、これをやるとアプリのアップデートができなくなる。
特にポケGOは古いバージョンだとサーバーから怒られることもある。
その場合、頑張ってアップデートしなくてはならない。面倒。

全てのAndroid端末で発生するのではなく、極一部の機種で発生するようである。
ご参考、ということで。