石の上にも数年

yaplog! のサービス終了に伴い引っ越しました 🚚

Androidスマートフォン端末の音楽プレイヤー内の曲を目覚ましアラーム音としても使用できるようにする方法


Androidスマホの本体直下にある既存の「Alarms」フォルダを本体直下にある既存の「Music」フォルダに移動
②移動させた「Alarms」フォルダ内に.mp3ファイル等を保存する

または

Androidスマホの「Music」フォルダ内に「Alarms」フォルダを新規作成
②新規作成した「Alarms」フォルダ内に音楽ファイルを保存する

つまり「本体 > Music > Alarms > 音楽を入れる」というフォルダ構成にします。

これで「Playミュージック」と「時計」アプリの目覚ましアラームで同じ曲を使用することができます。



「本体 > Music > Alarms」


「本体 > Music > Alarms > 音楽を保存する」


写真のアプリはYahoo!ファイルマネージャーです。

Android アプリ開発中にトーストが表示されなくなる原因


Android アプリ開発中に Toast が表示できなくなった場合、考えられる理由に以下の2点があります。

その ①
".show()" を忘れている。
Toast.makeText(context, "テキスト", Toast.LENGTH_LONG).show();
と記述しなければ表示されません。

その ②
設定 > [アプリ] > 開発中のアプリ
の「通知を表示」にチェックが入っているか確認します。
ここのチェックが外れていると Toast が出なくなります。



写真のアプリは知り合いのスペイン人の方がリリースしたものです。
主に海外でダウンロードされている模様。
広告に¥6万使ったそうなので、課金してあげると泣いて喜びます。

レビューには身内票が多数w

Fantiusen Software - Google Play の Android アプリ

Android で Email アドレスの判定をしてみた件


Email である場合に true を返すメソッドです。

public boolean isEmailAddress(String address) {
if (TextUtils.isEmpty(address)) {
// メールアドレスが null になっています
return false;
}
Matcher match = android.util.Patterns.EMAIL_ADDRESS.matcher(address);
return match.matches();
}

使用例

isEmailAddress("addr@gmail.com"); ⇒ true
isEmailAddress("1234567890"); ⇒ false

脚注

android.util.Patterns#EMAIL_ADDRESS正規表現を参照しました。

Yahoo!地図をブラウザで開いた際に指定した座標位置にピンを立てる方法


URLのパラメータにhlatとhlonを追加する。

例(ひらかたパーク
http://maps.loco.yahoo.co.jp/mobile/?rdpromo=no#place?lat=34.807179&lon=135.638409&hlat=34.807179&hlon=135.638409&z=19&mode=map

その他
zは縮尺レベルの設定。
20が最も詳細で、1が最も広域。

自作の Android アプリから Twitter アプリのプロフィール画面を開く方法


Web 版ではなく Android 端末内にインストールされている Twitter 公式アプリからユーザー情報を開く方法になります。
URI スキーム【twitter://user?screen_name=ユーザー名】を使用する。
※ユーザー名は@の後ろの部分

【追記】
URI スキームから明示的に Twitter 公式アプリを起動する使用は避けるべきです
Androidソースコードレビューで指摘する事が多い項目まとめ - nein37’s diary
Twitter クライアントは多数存在しているため公式 Twitter アプリにしか対応していない処理はダメよダメダメ

使用方法

Intent intent = new Intent();
intent.setAction( Intent.ACTION_VIEW );
intent.setData( Uri.parse("twitter://user?screen_name=skc1210") ); // @skc1210 (アカウントを指定)
try { startActivity(intent); } // Twitterが端末にインストールされていない場合はTwitterインストール画面へ
catch( ActivityNotFoundException e ) {
try { startActivity( new Intent( Intent.ACTION_VIEW, Uri.parse("market://details?id=com.twitter.android") ) );
} catch ( android.content.ActivityNotFoundException anfe ) {
startActivity( new Intent( Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=com.twitter.android") ) );
}
}

他の Twitter 公式アプリの URI スキーム

ユーザーのタイムラインを表示
twitter://timeline

@ツイートの表示
twitter://mentions

ダイレクトメッセージの確認
twitter://messages

ツイートする
twitter://post?message=つぶやく文字

検索する
twitter://search?query=検索する文字

自作の Android アプリケーションから Facebook の投稿画面を起動する方法

Facebook のタイムラインに URL を共有する方法。

※ URL 以外を指定することはできないようです
※ 本来なら Facebook の公式ドキュメントに記載されている方法を利用する方がよさそう
※ 公式ドキュメントの方法なら URL 以外の文字列もシェアできるはず

方法
setPackage() で AndroidFacebook アプリのパッケージ(com.facebook.katana)を指定して暗黙的インテントにより呼び出す。

Intent intent = new Intent( Intent.ACTION_SEND ); // 他のアプリに受け渡し
intent.setType("text/plain"); // タイプはテキスト
intent.putExtra( Intent.EXTRA_TEXT, "http://www.allnightnippon.com/" ); // 受け渡す文字情報
intent.setPackage("com.facebook.katana"); // Facebookアプリのパッケージ
try {
startActivity(intent);
} catch(android.content.ActivityNotFoundException e) {
// 該当するActivityがないときの処理 (Facebookアプリがインストールされていない場合)
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.facebook.katana"))); // Google PlayFacebook アプリインストールページヘ
} catch (android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=com.facebook.katana")));
}
}