スマホをPixel 7aに買い換えた時のデータ移行は Wi-Fi経由で行うのが簡単かも?

最近、長年使ってきた ASUS のスマホを落下させてガラスにヒビを入れてしまった為、思い切って新しいスマホ Pixel 7aに乗り換えてみました。

Pixel 7aはビックカメラで購入したのですが、その時に、通信契約も mineo から UQ mobile に変更しました。(そのおかげで本体価格の支払い 25,000円程度がほぼ0円になりました。)

Pixel 7aのSIMを差し替えるところまではビックカメラでやってくれたのですが、その後のASUSからのデータ移行については自分でやる必要があり、自宅に戻って実施しました。

最初、USBケーブル使ってASUS と Pixel 7a を直接接続しましたが、なぜか、うまくデータ移行プログラムを起動させることができませんでした。

そこで、ASUS のデータをいったんすべてGoogleの機能でクラウドにバックアップました。

その後、両方のスマホを同一の Wi-Fiに接続させることでようやくデータ移行プログラムを動かすことができました。

もし、私のように古いスマホと Pixel 7a を 直接 USBケーブルで繋いでデータを移行しようとしてうまくいかない場合には、両方のスマホを同じ Wi-Fiに接続して試してみてはどうでしょうか?

一見、直接 USBケーブルで接続した方が簡単に思えますが、実はWi-Fiでやったほうが簡単かもしれません。

データの転送はUSBケーブルの方が早いでしょうが、Wi-Fiの場合でも、私のケースでは1時間かからず 3oGBのデータを転送することができました。

介護記録3 TVの音を骨伝導イヤホンにBluetoothで飛ばしてみた

TCLのAndroid TV(32S516E)を父親用に買いました。

理由は、Bluetoothでイヤホンに音を飛ばしたい為です。

なぜなら、最近父親の耳が遠くなり、TVの音量を上げないと聞こえなくなっている為です。
ただし、単純にスピーカーの音を大きくすると近所迷惑になってしまいますし、ケーブルのヘッドホンだと使い勝手に何があるので、ワイヤレスにできないかと考えたわけです。

しかし、TCLのAndroid TVにBluetoothで接続する方法がマニュアルに書かれていなかったようなので、ここにその方法を記載しておきます。

1.リモコンの「ホーム」ボタンを押す

TCLのAndroid TVのリモコンの真ん中あたりを見ていただくと、以下の写真の赤枠で囲ったところに、「ホーム」ボタンがありますので、これを押します。

TCLのAndroid TVのリモコン

2.ホーム画面の「設定」を選択

ホーム画面を表示すると、以下の写真の通り右上に「設定」の歯車アイコンがありますので、それをリモコンを使って選択します。

TCLのAndroid TVのホーム画面

3.設定から「リモコンとアクセサリ」を選択

設定画面を表示させたら、一番下に表示されている「リモコンとアクセサリ」を選択します。

TCLのAndroid TVのホーム画面

これで、Bluetoothの機器を追加接続する画面が表示されますので、Bluetooth機器を追加接続可能な状態にしておきます。

4.イヤホンをペアリング状態にする

あとはイヤホン側をペアリング状態にさせます。この操作はイヤホン側の機器によりますので、マニュアルを見てください。

ちなみに私の購入した骨伝導ワイヤレスは、電源オン(+)ボタンを5秒程度長押しすると、ペアリング待ちの状態になりました。

AnkiDroid の表示を左寄せにする

普段、私は英語の例文を覚えるために、AnkiDroid というスマホのアプリを利用しています。(ストアのレーティングが4.9というすごく評価の高いアプリです。)
しかし、もともとこのAnkiDroid は英単語などを覚えるためのものなので、デフォルトだとQ&Aがすべて中央(Center)に表示されてしまいます。

それでも、そんなに困らないのですが、かなり長文になってくるとやはり違和感を感じることがあり、左寄せにする方法を探してみました。

Q&A画面からEdit noteで変更可能

Webでいろいろ検索していたところ、PC版のAnkiアプリケーションから変更可能という記事を見つけました。

しかしながら、その為だけにAnkiをダウンロードしてPCにインストールするのはちょっとめんどくさいなので、もっと簡単な方法がないか探していたところ、スマホの画面から直接変更することができることを発見しましので記載しておきます。

1.デッキを選んでQ&Aを開始

AnkiDroid でデッキを選択すると、以下のようにQuestionが始まると思います。

AnkiDroid Flashcards

2.noteの編集

ここで、右上の点が3つ縦に並んだ部分を選んでください。
すると、以下のようにメニューが表示され、その中に「Edit note」が表示されていると思いますのでそれを選択します。

AnkiDroid Flashcards

これにより以下のとおり、Q&A(note)の編集画面が表示されますので、一番下に表示されている「Cards:Card 1」を選んでください。

AnkiDroid Flashcards

3.CARDのHTMLタグを編集

CARDを選択すると、以下のようにCARDの編集画面になりますので、Stylingのセクションにある”text-aline”の部分を”center” から”left”に編集し、上のチェックを選択してください。

AnkiDroid Flashcards

これだけで、以下のようにすべてのFlashcardが左寄せになります。

AnkiDroid Flashcards

注意事項

なお、この設定変更はCARD毎(今回の場合、CARD 1を使っているフラッシュカードはすべて対象)となるようですので、注意してください。
デッキ毎に設定を変えたい場合、CARDを別のものにしておく必要があると思われます。

また、note毎にこういった設定を変えたいといった場合は、編集画面のFront と Backのセクションで直接<p align=left>(変えたい表示)</p>とやれば良いみたいです。

AnkiDroidは基本的にHTMLタグで編集できるようなので、慣れてくるといろいろカスタマイズしやすそうです。また、いろいろなプラグインもありそうですので、興味のある人は試してみると良いと思います。

IFTTTだと任意アプリの自動起動ができなさそうなのでMacroDroidで作ってみた

今話題の?IFTTT(イフト)を使ってみたいとおもい、自分だったらどんな機能があればうれしいか考えていました。
そしてふと思いついたのが、ある場所に到着したら特定のアプリを自動起動する仕組みです。

私の場合、ファミリーマートやマクドナルドにいったときのポイントカードとして、ファミペイアプリに登録したdポイントカードを使っているのですが、お店についてから起動していたのではちょっと時間がかかり、すぐに注文できないことがあります。

そこで、お店に近づいた時に自動でファミペイアプリを起動してくれているといいなあとおもいました。

まずはIFTTTで実現可能か調べてみた

さっそくIFTTTのアプリをスマホのインストールして機能を調べてみました。

「もし?」にあたるIFを設定する機能の中には、Locationを設定する機能があり特に問題なく設定できたのですが、「そして?」にあたるTHENを調べてみたところ、どうも任意のアプリを起動してくれる機能が見当たりませんでした。

まあ、ファミペイアプリは日本独自のアプリなのでLineのようにアプリそのものが登録されてはいないだろうとおもってはいましたが、どうも任意のアプリを選んで起動する機能もなさそうでした。

ちなみに以下は、THENに対応するAction Serviceとして登録されていたAndroid Deviceの機能一覧です。

IFTTTのAndroid Deviceに対するAction

これをみると、音楽を流したりGoogle Mapを起動したりはできそうですが、特定のアプリを起動するという機能はなさそうです。

ということで他にいいアプリがないかなぁと探してみたところ、MacroDroidというものを発見しました。

MacroDroidでやりたい機能を実現(できたはず)

MacroDroidは見た感じアンドロイド端末専用といった感じで、かなりいろいろ細かいことができそうだなあというのが、最初に触ってみた感じです。

以下が起動時のホーム画面で、何かいろいろできそうな感じですが、とりあえず新しいマクロを作りたい場合は、左上の「Add Macro」を選択します。

MacroDroid ホーム画面

すると以下のように「Triggers」「Actions」「Constraints」の3つが表示されます。
ちなみに「Constraints」は制約という意味で、まだ使ったことはありませんが、「Triggers」の起動条件をより細かく制限する(例えば、特定の時間だけ等)ものだと思います。

MacroDroid マクロ設定画面

「Triggers」のところで、「ある特定の場所にはいったら」という条件は難なく設定できたので、次にIFTTTでは見つけることができなかった、「特定のアプリを起動する」という設定が可能か、「Actions」の部分を調べてみました。

すると「Applications」というカテゴリの中に「Launch Application」がありました!

MacroDroid アクション設定画面

この「Launch Application」を選択すると、スマホにインストールされたアプリの一覧が表示され、今回自動起動したいとおもっていた「ファミペイ」アプリを見つけることができました。

結果、最終的には以下のようなマクロができあがりました。
マクロ名(Famipay launch)の下に Never activatedと書かれているのは、まだこれを設定してからマックにいってないからだと思いますので、この記事を書き終わったら、さっそくマックに行って動作するか確認してみたいと思います。

MacroDroid マクロ一覧画面

以上、MacroDroidの簡単な説明でした。

もしIFTTTをつかっていて、あんなことが出来ればいいなあということがあったら、MacroDroidもさわってみるといいと思います。

今回は紹介できませんでしたが、上の写真の「Templates」をみると、世界中の人がマクロを作って登録されているので、自分では考えつかなかったマクロを発見できるかもしれません。

AndroidをMACへ接続し、ファイルを参照する方法について

AndroidのスマートフォンをMacにUSB接続し、Androidの中にあるファイルをMacにコピーしようとおもいましたが、WindowsのようにただAndroidとPCをUSB接続するだけではダメだったので、その方法を記載しておきます。

AndroidをMacに接続するには別途ツールの導入が必要

調べたところ、MacにAndroidをUSB接続する為にはMac標準の機能ではダメで、別途ツールを導入する必要があるようです。
そのツールをMacにインストールし、Androidを接続するまでの手順は以下の通りです。

1.Android File Transferのダウンロード

Android File Transferというツールがどうもメジャーらしいので、そのサイトからツールをダウンロードします。

Android File Transfer
https://www.android.com/filetransfer/

2.ダウンロードしたツールをMacへインストール

ツールをダウンロードすると、Macのダウンロードフォルダに「AndroidFileTransfer.dmg」(dmgとはDisk Copy Disk Imageの略)というファイルが保存されているので、これをダブルクリックします。

すると以下のウィンドウが表示されますので、左のAndroidのアイコンをマウスでつまんで、右のApplicationsフォルダに持っていきます。

するとインストールが始まります。

3.AndroidをMacにUSBで接続

インストールが完了したら、ツールを起動する前に、MacとAndroidをUSB接続します。(Androidの電源コードがUSBケーブルになっていると思いますので、先端の電源コンセント部分を取り外し、接続してください。)

接続するとAndroid画面に以下のようなポップアップが表示されると思いますので、「Yes」を押します。

すると自動的にMac側でAndroid File Transferが起動すると思います。
もし自動起動しなかったり、以下の画面が表示された後、「OK」ボタンを押してAndroid File Transferが終了してしまった場合は、4.の方法で手動で起動してください。

4.Android File Transferを起動する

MacのLaunchpad(アプリケーションの一覧表示画面)にAndroid File Transferが登録されているハズですので、[F4](もしくは[fn]+[F4])キーを押して、Launchpadを起動します。

たぶん、Launchpadの2画面目以降に表示されているハズですので、[command]+左右の矢印キーで画面を切り替えてみてください。

上図の様なアイコンが表示されているハズですので、それを選択すると、Android File Transferが起動します。

ご参考:Android標準のカメラアプリで撮影した画像/動画の場所について

ちなみに私はAndroid標準のカメラアプリで撮影した動画を編集の為にMacにもっていきたかったのですが、それらのファイルは以下の通り、DCIM(Digital Camera Imagesの略)の下のCameraフォルダに入っているようです。

皆様のご参考になれば幸いです。

スマホアプリONE TOKYO APPを使ってランニングを楽しむ

コロナ禍が始まって、スマホのアプリを使いながら川沿いをランニングするようになりましたが、自分のタイムを記録しているだけだとちょっとつまんないですよね。

そんな中、最近、他のユーザと順位を競えるアプリ「ONE TOKYO」を使って楽しんでいます。これを使い始めてから、順位をあげようと頻繁にランニングするようになりました。(成績がいいと、東京マラソン出走権が得られるらしいですよ。私には無理ですが。。)

他のユーザと競えるので楽しい

最近、バーチャルで色々楽しむ方法が提供されてきており、マラソンもそういうイベントがあるのではないかと思い探していたところ、この「ONE TOKYO」アプリを見つけました。

1.月に1回、バーチャルマラソンを開催

このONE TOKYOでは月に1回(第2土曜日)、全国のユーザとバーチャルマラソンを楽しむことができます。

One Tokyo App

朝の5時から12時くらいまでの間に10Km走って、記録をアップすれば参加したことになるらしいです。らしい、といっているのは、実はまだ自分はこのバーチャルマラソンに参加したことがありません。

というのも、さきほどのとおり10Km走らないといけないのですが、まだそこまで一気に走れる自信がないからです。また、8月については朝6時頃でもものすごく暑くて、とても走る気にはなりませんでした。こういう場合、北海道とかに住んでいる方が有利そうですね。

上記のとおり、まだバーチャルマラソンには参加していませんが、このアプリにはそれ以外にも、他のユーザの競い合う仕組みがあります。

2.月間のラン回数や距離でランキング

ONE TOKYOでは、月間のラン回数や走行距離などでランキングされますので、バーチャルマラソンに参加せずとも、他のユーザと競い合うことができます。
マラソンを走り終えて、記録をアップすると、「○○人追い抜きました!」といったメッセージが表示され、月間のランキングが上がっていくので、やる気を刺激されます。

One Tokyo App

また、私はいま「ジョガー」という一番したのクラスにいますが、記録(走行スピード)があがると、クラスも上がっていくようです。
おそらく1時間に10Km以上のペースで走れるようになると、次の「サブ5ランナー」にアップするようです。(なぜか、一番上が「サブ3ランナー」となっていますが、マラソンではこういうクラス分が一般的なのでしょうか?ちなみに、この「サブ3ランナー」は10Kmを30分強で走る人たちみたいなので、めちゃくちゃすごいです。)

3.基本機能も押さえています

ちなみにマラソンアプリとしての基本機能もちゃんと押さえてあり、走った経路を地図に表示してくれたり、1Km毎のラップを数値とグラフで表示してくれます。

One Tokyo App

最近は暑さもすっかり治まり、ランニングにいい季節となりましたのでこの「ONE TOKYO」アプリを使ってマラソンしてみませんか?

アンドロイドアプリ開発のはじめ方2(テキスト&ボタン)

とりあえず前回、以下のページでAndroid Studioをセットアップするところを説明しました。
今回は、一歩進んで、簡単なアプリを開発してみたいと思います。

http://k2-ornata.com/android-app-dev/

とはいえ、まったく初めての方は何からやればいいのかわからないとおもますので、自分がやったことを1つずつ説明したいと思います。

ボタンを押すと文字が変わるアプリ

わたしも最初、何から手をつけてよいのかわからず、とりあえず他の人がよく作成している、ボタンを押すと文字が変わるアプリを作成してみることにしました。

今回、開発に必要な画面(ソース)としては、とりあえずアプリのGUIを決めるactivity_main.xlmと、GUIでの操作に応じて動くMainActivity.javaの2つです。

1.とりあえず、GUIを眺めてみる

まずは、activity_main.xlmを見てみます。プロジェクトを立ち上げて画面の上の方を見てみると、「activity_main.xlm」というタブがあると思います。そのタブを選択すると、以下のような画面が表示されます。

2.テキストの属性を設定する

1.でタブを開くと、最初はスマホアプリのGUIの真ん中あたりに、Hello Worldのようなテキストが表示されていると思います。そのテキスト(オブジェクト)をクリックし、右のウィンドウから属性を変えてみましょう。上記の例ではidの属性を以下のように設定しています。

属性
idmessage01

このようにオブジェクトの属性を設定しておくことで、あとで、MainActivity.javaからそのオブジェクトを明示的に指定することができるようになります。

3.ボタンを作成する

次にアプリのGUI上にボタンを新しく配置してみます。下記のウィンドウの真ん中すこし左あたりにパレットがあると思いますので、そこから「Button」をマウスでクリックして、アプリのGUI上にもってきます。

その後で、先ほどのテキストと同様に属性を設定します。まずはid属性を設定し、その後にこのボタンが押された時に動き出す関数を設定します。
具体的な操作としては、右側の属性ウィンドウを下にスクロールしていくと、「onClick」という属性があると思いますので、そこに「changeText」という関数を設定します。

ボタンオブジェクトの設定をまとめると以下の通りです。

属性
idbutton02
onClickchangeText

4.ボタンを押すとテキストが変わるようにする

ここまででアプリのGUIは作成できたので、あとはMainActivity.javaで先ほどボタンに設定した「changeText」関数を使って動きを設定するだけです。

MainActivity.javaのタブを最初に開いた時は以下のような感じになっていると思いますので、ここから「changeText」関数を定義していきます。

具体的には以下のような感じで記述します。全コードを記載しているので、このままコピー&ペーストでもいいですが、最初は自分で真似しながら打ってみるといいかと思います。
Android Studioはなかなかかしこくで、コードを打っていると自動的に入力候補を出してくれるので、初心者にはありがたいです。

package com.example.textandbutton;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void changeText(View view) {
        TextView message01 = (TextView)findViewById(R.id.message01);
        message01.setText("You pushed button!");
    }
}

public class MainActivity以降がアプリの動作を定義している部分で、それぞれの関数の実行タイミングはだいたい以下のようになると思います。

関数実行されるタイミング
onCreate名前のとおり、このアプリが作成(Create)されたときに動く関数だと思います。secContentViewで先ほどGUIで設定したテキストやボタンを生成・配置しているものと思われます。
changeText先ほど自分でボタンを押した時に呼び出されるようにした関数です。テキストを実体化して、ボタンが押された時に、”You pushed button!”を表示するようにしています。

ちなみに上の方のimport文はコードの作成に必要なライブラリみたいなものを取り込む処理になります。
さらにその上のpackageはこのプログラム自身の名前だと思えばいいかと思います。

5.仮想環境を選択する

コーディングは以上になりますので、あとは実際に動かしてみます。
Android Studioの上のツールバーに緑色の三角ボタンがあると思いますので、それを押せばいいのですが、その前に、スマートフォンの仮想環境を設定しておく必要があります。

うろ覚えですが、上図の赤い四角に囲まれたプルダウンから仮想環境を選択することができます。選択が終わっていると、このように選択した機種が表示されていると思います。

6.動かしてみる

それでは先ほど説明したとおり、緑の三角(再生)ボタンを押してみます。以下のようにスマートフォンの仮想環境が表示され、その中にテキストとボタンが描画されていると思います。

この後、ボタンを押してテキストが”You pushed button!”になれば成功です。もしうまく動かなかった場合は、Android Studioの画面下(たぶんEvent Log)にエラーが表示されていると思いますので、確認してみてください。

どうでしょう?意外と簡単だったのではないでしょうか?

Androidアプリ開発のはじめ方(Android Studio)

コロナウィルス対策としてCocoaというアプリがリリースされていますが、そのアプリの仕様に満足がいかず、自分でそれを補完するようなアプリが作れないかと思い、アプリ開発の勉強をしてみることにしました。

とはいえ、長い間、開発から遠ざかっており、今時の言語もあまり知らないので、一から勉強してみることにしました。

とりあえず開発環境を整える

正直、まったくAndroidアプリの開発をやったことがなく、何から手を付けたらいいのかわからない状態でしたが、いろいろ調べてみると、とりあえず開発環境としてAndroid Studioというものがあることが分かりました。Androidをターゲットに開発を考えている場合は、これが一番メジャーな開発環境なのではないでしょうか?

1.Android Studioの入手

Andoroid Studioは以下のサイトから入手可能です。

https://developer.android.com/studio

ダウンロードしたら早速インストールします。
インストーラの中で色々カスタマイズすることができるようですが、とりあえずデフォルトで問題なさそうです。

2.Android Studioの起動

インストールが完了したら、起動してみます。
起動した直後の画面は以下の通りです。(4.0.1 for Macの場合)
バージョンによってかなり画面が変わる可能性がありますが、基本的な操作は変わらないかと思います。

ここから、新規にアプリを作成する場合は「+Start a new Android Studio Project」を選択します。

またすでに作成済みのProjectがある場合は、左側にリストで表示されます。

3.プロジェクトテンプレートの選択

新規にプロジェクトを作成する場合、最初にテンプレートを聞かれるようです。上の右3つであればどれでもよさそうですが、普通は、一番右のEmpty Activityを選択するといいようです。

4.言語とミニマムSDKの選択

ここは最初、選択が悩ましいところでした。

一番上のNameは適当で良いとして、LanguageはJava かKotlinを選べます。私の場合、Kotlinって何?状態だったので、昔すこし勉強したことがあるJavaを選択しました。Javaも最近結構進化しているようですが、Kotlinの方が今時でコーディングしやすいようですね。

あとここでもう一点注意が必要そうなのが、Minimum SDKの選択です。古いSDKを選択すればするほど、サポート可能なAndoroidは増えますが、あまり古いと自分の使いたいライブラリがインポートできなかったりするみたいです。とりあえず、ここではAndroid 5.0を選択しています。

5.Projectの初期画面

上記の画面でFinishボタンを押してしばらく待つと、以下のような画面が表示されます。(インストール直後はちょっと違う画面になっているかもしれません。)

ここでまた、何から手をつけたらいいんだ?と混乱するかもしれませんが、とりあえず、画面を見ると、MainActivity.javaのソースが開いていることがわかると思います。また、そのタブのとなりにもう一つactivity_main.xmlというタブがでていることが分かります。それぞれの役割は以下のような感じです。

MainActivity.java・・・アプリの動作について記述するコード
activity_main.xml・・・アプリの画面について記述するコード

とりあえず、難しいことをしないのであれば、まずはこの2つをいじっていけば簡単なアプリが開発できるようです。

以上、Android Projectのインストールから起動までをご紹介しました。昨日、始めたばかりなので、間違いがあったらこめんなさい。

続きはまた次のブログで記載していきたいと思います。