アプリ開発備忘録

PlayStationMobile、Android、UWPの開発備忘録

Overlayアプリを7.x→8.0→8.1と対応させる

7.x→8.0 startService ↓ startForegroundService TYPE_PHONE TYPE_PRIORITY_PHONE TYPE_SYSTEM_ALERT TYPE_SYSTEM_OVERLAY TYPE_SYSTEM_ERROR ↓ TYPE_APPLICATION_OVERLAY startForegroundは5秒以内に呼び出す。 これだけですね。TYPE_PHONEとかTYPE_SYSTEM_…

Android OreoのOverlayアプリを対応させたはずかパーミッション設定で有効化できない

前提条件 Android 6.0(M)に対応させていること 対応 TYPE_SYSTEM_ALERT → TYPE_APPLICATION_OVERLAY 以上 問題 あれ、切り替えできない。 原因 これAPI27のエミュレーター使っているのが問題でした。 targetSdkVersionとcompileSdkVersionを27にしたら解決。…

【Kotlin】スコープ拡張関数まとめ

よく忘れるのでまとめた。 スコープ拡張関数 関数名 it 戻り値 定義 also ○ 自身 fun T.also(block: (T) -> Unit): T { block(this); return this } apply ✕ 自身 fun T.apply(f: T.() -> Unit): T { f(); return this } let ○ 最後 fun T.let(f: (T) -> R):…

Android Studioの危ない置換機能

たまにやってしまうこの置換時のエラー。検索から来る人のためにエラー文を。 エラー文 Some error(s) occurred while processing annotations. Please see the error messages above. Unresolved reference: hogehoge 原因 カスタムView、ViewName.java(自…

IntelliJ+Jersey+Kotlinで環境構築

事の始まり Raspberry PiでAPIサーバー作るぜ! KotlinかC#使いたいぜ ASP.NET Coreはまだ早いな Kotlinだ! Android開発やPHPでよく使ってるからIntelliJだな。 Jerseyというものを使えば良いのか ってな感じで選びましたが環境構築で詰みまくったのでここ…

Electron+TypeScript【知識を付ける編】

Electron+TypeScriptを使って社内で使う業務用ソフトを作ることになりました。 それに至る経緯と、どういう時にElectronが使えるのかを考えたメモです。 なぜそれに至ったか なぜElectronなのか 社内で使っているのはWindowsとMacです。なのでマルチプラット…

【Windows】CSVなどからSQLiteへ

業務上エクセル、CSVなどからSQLiteのデータベースに変換することがよくあるのでメモです。 Bash on Ubuntu on Windowsのお陰でWindowsでもコマンドから簡単に行えるようになりました。 そこら辺の説明は他に任せます。 Bash on Ubuntu on Windowsをインスト…

【Android】ToolbarのTitleを後から変更する

Kotlinの書き方ですがJavaとやってることは同じですのでご了承ください。 やりたいこと ToolbarのTitleを更新したかった。 セットする時はよくこんなコードを見ます。 val toolbar = findViewById(R.id.toolbar) as Toolbar toolbar.title = "" setSupportAc…

Raspbianでユーザー名piを名前変更する。

※以下は自分が分かりやすいように書いたものですので正確性に欠ける可能性があります。 その場合はご指摘ください。 名前変更 方針 今piに居る状態でしょう。 自分自身の名前は変えられないので一時的に使うユーザーを作り、そこに移動して名前を変えて戻り…

ヨドバシカメラのサジェストを取得する

Web系全然わかりませんがヨドバシのサジェストが欲しくて適当にサイト見てたら見つけました。 xmlが帰ってきます。 http://www.yodobashi.com/suggest/?cli=yodo2011&rows=10&cm_rows=2&cd_rows=2&q=a ・なんか必要なやつ cli=yodo2011 ・取得要素数 rows=10…

WindowsでMercurialを使う

アプリ開発備忘録でしたがメインブログに書くわけにも行かず備忘録として残しておきたいのでここに投稿することにしました。 やること Bash on Windowsのインストール Mercurialのインストール、設定 エイリアスの設定 CygwinやLinuxなど既にBashを使える環…

[UWP]AdMediatorControlの廃止とAdControlへの移行 2016.09

はじめに Microsoft Store Services SDKを入れてもAdMediatorControlが無いことで躓いていましたがどうやら廃止されたようです。 AdControlを使いましょう Migrate from AdMediatorControl to AdControl for UWP apps 準備 Microsoft Store Services SDK の…

[UWP]NavigationCacheModeがEnabledだと戻ってきた時にAdControlに広告が表示されない

UWP

※リリースビルドで落ちた。対処法募集中 <Grid x:Name="AdContainer"/> protected override void OnNavigatedTo(NavigationEventArgs e) { AdContainer.Children.Clear(); AdContainer.Children.Add(new AdControl() { Width = 728, Height = 90, AdUnitId = "", ApplicationId = "" }); </grid>…

[Android]GooglePlayディベロッパーページを作り、DL数を上げる

GooglePlayではディベロッパーごとのページを持つことができます。 こういうのですね。 最初は大きいディベロッパーしか持てないと思っていたのですがどうも誰でも持てるみたいなので作ってみました。 メリット 作るメリットとしてはおすすめアプリを1個登録…

[Magick.NET]同じsvgデータから複数サイズpngを出力する

Androidだとhdpi、xhdpi、xxhdpi、xxxhdpi UWPだとScale 100、125、150、200、400 同じデータから一気にpngに出力したい!! って時が多くあったので作りましょう。 Androidはsvg1個あれば大丈夫になったというのにUWPと来たら時代遅れなんだから… 先に言っ…

[UWP]アイコンAssetはどれを何個用意すればいいのか

UWP

38個位、それ以上?ありますよ。 わけわからんのでまとめます。 種類 倍率ベース スケールは端末によって倍率が自動で適用されます。 拡大縮小されます。 6種類のサイズで100、200、400 の倍率のアセットが推奨されています。 ターゲットベース 複数の倍率の…

[UWP]現在Frameに表示されているPageに通知を出す

UWP

やりたいこと FrameにセットしたPageにセットした側から処理するタイミングを通知したい。 やる こんなクラスを作っておく public sealed partial class Page1 : Page { public Page1() { this.InitializeComponent(); } public void Refresh() { } } 使う /…

[Git]自分が使うGitコマンドまとめ

リモートを変更 git remote set-url origin submoduleを再帰的に更新 git submodule update --init --recursive gitignoreを追加した後 git rm --cached filename 変更 退避 git stash save 確認 git stash list # 変更内容付き git stash list -p 復活 # 削…

[UWP]UWPで通知を出す

UWPで通知を出すにはxmlが必要です。 いちいち書くには面倒なのでいくつかテンプレートがあります。 テンプレート ToastTemplateType Enumeration (Windows) テンプレートは以下のようになっています。 要素の内容はわかりやすいように書き換えています。 文…

[TwitterAPI]Twitterの検索APIで複数画像が取得できるようになった

2016年7月29日18時に確認 今までTwitterの検索APIでは画像が複数枚あっても1枚しか取得できない、引用RTのユーザー情報が無いなどの制限がありましたがこれが無くなっていました。 これはかなり嬉しい変更ですね。

[UWP]UWP開発メモ

UWP

レイアウトパネル一覧 Canvas キャンバスの左上隅を基準とする子要素の絶対配置をサポートするレイアウト パネル RelativePanel 互いまたは親パネルを基準にして、子オブジェクトの位置を決定し、調整できるパネル Grid 複数行と複数列での子要素の配置をサ…

[TwitterAPI]リツイート時のレスポンスがおかしくなった(直った)

何日か前からこうなっている なおいいねではなってない。 正常時の動作 ツイートをリツイート ↓ リツイートされた状態のツイートが返る 2016年7月1日時の動作 ツイートをリツイート ↓ リツイートされてない(リツイートのカウントではカウントされてる)状態の…

[Android]Activityを閉じてすぐ開くとライフサイクルが意図しない物になる

MainActivityがあります。 TaskActivityを開きます。 ここからが問題 TaskActivityを閉じます。 TaskActivityを開きます。 ・通常 OnDestroy OnCreate ・素早くやった場合 OnCreate OnDestroy の順に行われます。反対になってる… OnDestroyでTaskActivityの…

[Android]Android6.0からSpannableStringのSpanの処理が変わった?

SpannableStringでは検証してなくてSpannableStringBuilderで検証してます。 やりたいこと ・TextViewを一部をリンク化してそこにイベント追加 ・リンク化されてないところをクリックにも共通のイベント追加 要するに、赤に個別にイベントを設定してそれ以外…

引用RT時不適切なツイートを表すpossibly_sensitiveが機能しない。

はじめに 英語苦手です。間違ってたら言ってね。 Twitter4J使用 4JだとisPossiblySensitiveで取得できます。 引用RTの時にpossibly_sensitiveが機能しませんでした。 trueしか帰ってこない。 引用 Tweets | Twitter Developersより possibly_sensitive Boole…

[Android]ギャラリーから取得した画像にExif情報(パス)が取得できない

Exif情報を取得するのにパスが必要だがパスがnullになる。 以下がコード Intent intent = new Intent(Intent.ACTION_GET_CONTENT);//Intent.CATEGORY_OPENABLE intent.setType("image/*"); startActivityForResult(intent, 0); これだとAndroid標準?の画像…

[Android]画像編集アプリとしてIntentを受け取る

送るときはこう Intent intent = new Intent(); intent.setAction(Intent.ACTION_EDIT); intent.setDataAndType(imageUri, "image/*"); startActivity(intent); 受け取るときはこう <intent-filter> <action android:name="android.intent.action.EDIT"/> <category android:name="android.intent.category.DEFAULT"/> </category></action></intent-filter>

[Android]SwipeRefreshLayoutでsetRefreshingが動作しない

onCreateやonStartなどで以下のようにしても読み込みアニメーションが開始されません。 mSwipeRefresh.setRefreshing(true); 以下のようにします。 mSwipeRefresh.post(new Runnable() { @Override public void run() { mSwipeRefresh.setRefreshing(true); …

[Android]AdMob導入

Android クイック スタート | AdMob Android ガイド | Google Developers これの内容をSDKのDLなどを省いた内容です。 build.gradle compile 'com.google.android.gms:play-services:6.+' AndroidManifest.xml //manifest内 <uses-permission android:name="android.permission.INTERNET"/> </uses-permission>

[Android]Androidのバージョンの違いで配列のSerialize時にClassCastExceptionが起きる

Activityに値を渡して画像を表示させようと思った。Twitter4Jを使っていた。 tweetはtwitter4j.Status シリアライズ Bundle bundle = new Bundle(); bundle.putSerializable("ExtendedMediaEntities", tweet.getExtendedMediaEntities()); .... デシリアライ…