- 1. onConfigurationChangedで回転時のレイアウトを変更
- 2. Android単体でADBを使う。(迫真AARCH64部、Linuxの裏技)
- 3. Flutterを始めてListViewが難しい
- 4. [Android R (11)] 国内版(docomo版)Pixel 3 XLにAndroid 11 DP 2を入れる
- 5. 1人でアプリを作る【その1】
- 6. Android StudioにおけるBuild Outputの文字化けを解消
- 7. flutter + firebaseで本番環境と開発環境を切り替える
- 8. Android + C++ で wav 音声再生するための Oboe ライブラリのメモ
- 9. AndroidStudioのScratch Fileでビルドせずにプログラムを実行する方法
- 10. kotlinx.android.parcel.Parcelizeのimportでエラーになる
- 11. Android NDK + C++14 設定 cmake で no member named `make_unique` in namespace `std` エラーなどが出る
- 12. Android Palette APIで画像から色を抽出する(ステータスバーの色を画像から変える)
- 13. レジの店員を呼ぶアプリをつくた android cordova ハイブリッドアプリ
- 14. Mac上のファイルにAndroidからアクセスするには
- 15. コピペでできる一部の文字列でクリックイベントを取得する方法(android)
- 16. FragmentPagerAdapterのページ切り替えを無効にする方法
- 17. Androidアプリのサンプルプロジェクト体験
- 18. fastlaneを使って Internal App SharingにAABファイルをアップロードしてSlackにダウンロードリンクを飛ばす
- 19. 【和訳】Jetpack Navigation(Codelabs for the 2019 Android Dev Summit: Mountain View, October 23-24, 2019.)
- 20. Expecting android:screenOrientation=“unspecified”…の対処法
onConfigurationChangedで回転時のレイアウトを変更
##やりたかったこと
ImageViewの画像を画面いっぱい(アスペクト比はそのまま)に表示してかつ、ボタンを真下に置きたかったのですが、、、
![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/420023/b3d8ab08-3421-03a5-c89d-3a7708243dc7.png)
横回転するとボタンが隠れてしまうし、横画面に合わせてレイアウト変えると縦回転したときにボタンの位置がずれてしまってました。
レイアウト用のxmlは1つだけにしたかったので、ソース内で動的にImageViewのサイズを変えることにしました。##やったこと
####レイアウト
– レイアウトはConstraintLayoutを使う
– ImageViewの設定:
– サイズ(縦向き時):
– height: wrap_content
– width: 0dp(match constraint)
– サイズ(横向き時):
– height: 0dp(match
Android単体でADBを使う。(迫真AARCH64部、Linuxの裏技)
## 注意
– 完全に単体でやるには開発者向けオプションにネットワーク経由でデバッグがないと無理。
– ネットワーク経由でデバッグがないと再起動する度tcpipを、使わざるを得なくなる…GoogleはAndroid12で改善してくれるのか!?—-
本編:
プロローグ
`(Y)`ぬわああああああん疲れたもおおおおおおおん
`(M)`チカレタ…
`(Y)`じゃけん風呂入って寝ましょーねー
`(Y)`おっそうだな(自問自答)
_ここからベッドシーンへ…_
`(Y)`ファッ!このアプリADB権限いるのか!?
`(Y)`やめたくなりますよー……
`(M)`あっそうだ!Androidにadbぶち込んでやれば解決だゾ〜
`(Y)`それができれば苦労して ないです(断言) aarch64バイナリは提供されてない、はっきりわかんだね!
`(K)`や!、せんぱい! aarch64バイナリがありましたよ!
`(Y)`ファッ!(デデドン!) クゥーン?
`(M)`よし!じゃあ打ち込んでやるぜ!ゾ_キューピー3分クッキングの曲の始まり_
# 本編
今回は中に入れます!(Archlinux
Flutterを始めてListViewが難しい
# きっかけ
長期休みに入り興味があったFlutterを始めた。
いろいろやってみて、まずListViewにつまづいた。つまづいたポイントとして、– クラスの使い方
– 要素のUIの構成
– どのように要素にデータを渡すかがある。
開発はXamarinを軽く触ったことがある程度で、初心者。
書籍は[基礎から学ぶFlutter](https://www.amazon.co.jp/基礎から学ぶ-Flutter-石井-幸次/dp/4863542941)を購入し、[公式サイト](flutter.dev)も見ながらスタートしたFlutter超初心者。また、Flutterを開発するにあたって日本語の記事が異常に少ないので書こうと思った。これからも何かつまづくことがあればちょくちょく書く予定。# ListView
ListViewとは要素をスクロールできる画面に表示していくウィジェット。
FlutterにはYoutubeに公式チャンネルがあり、多くのウィジェットの紹介動画があり、短く、見やすい動画となっているのでおすすめ。もちろんListViewの動画もある。
[Android R (11)] 国内版(docomo版)Pixel 3 XLにAndroid 11 DP 2を入れる
こんばんわ。
さよならメモリーズって曲を最近知ったんですけどめっちゃ気に入りました。# 本題
Android 11 DP 2出た!
でもまだ[Android Beta登録](https://www.google.com/android/beta?hl=ja)(端末単体のアプデでAndroidの開発版が入れられるやつ)始まってないんですよね。
というわけで今回は少し怖い(メイン機なので)ですがPCを使った方法で入れていこうと思います。読むのめんどいわって人は「Android Flash Toolで導入する」のところまで飛ばしてください。
# 環境
|なまえ|あたい|
|—–|—–|
|端末|Pixel 3 XL (docomoで買った)|
|PC|Windows 10 / Chrome 80 |# 公式サイト
https://developer.android.com/preview/get# OTA Update vs Factory Image vs Android Flash Tool
Android 11 DPを入れる方法はこの3つです。
公式サイト
1人でアプリを作る【その1】
#はじめに
こんにちは。
今回から、『Unity』を使って**スクロールゲーム**を作っていきます。
企画から完成までの過程を日記感覚で記録していきます!#制作環境
macOS Mojave バージョン 10.14.6
Unity 2019.2.19f1#企画
「近未来の世界で、主人公は機械で…」という、妄想を膨らませながら、
イメージを紙にサラサラと書いていきます。
ステージ構成や、プレイしてもらう時間、ターゲットなどをじっくり考えました。実際に書いたものが下記画像になります。(きたない…)
![gameRough.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601003/bca393e0-9bea-45f5-814c-6d045c100c24.jpeg)![flow.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601003/d75c9aee-c0bf-aad0-7689-824a7fc23fd
Android StudioにおけるBuild Outputの文字化けを解消
#状況
Windows10上のAndroid Studio 3.6.1でアプリを開発している。文字列やコメントに日本語を含むコードも問題なくビルド・実行できる。
しかしBuild Output Windowのエラーメッセージが文字化けして読めない。![fig1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/284841/159908c1-1c06-e20b-2703-5dc01722bd43.jpeg)
#解決方法
「メニュー>Help>Edit Custom VM Options..」を選択する。![fig2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/284841/433de0f6-c47c-35f6-eeb0-7ccd9e778c5d.jpeg)
表示されたファイルに「-Dfile.encoding=UTF-8」を追加する。
![fig3.jpg](https://qiita-image-store
flutter + firebaseで本番環境と開発環境を切り替える
# この記事ですること
* `flutter run`と`flutter run –release`でfirebaseの環境(プロジェクト)を切り替える
* `flutter run`と`flutter run –release`でflutterの環境を切り替える# この記事でしないこと
* 別アプリ化
* ステージング環境の構築# 対象
個人開発者など、複雑な環境構築を必要としないけど、最低限、本番と開発環境を分けたい人# 複雑に環境を分けたい人は
以下の記事が参考になります。
[flutterで本番/ステージング/開発を切り替える – Qiita](https://qiita.com/ko2ic/items/53f97bb7c28632268b5a)
[Flutterで環境ごとにビルド設定を切り替える — iOS編](https://medium.com/flutter-jp/flavor-b952f2d05b5d)
[【iOS】FlutterでFlavorを使って環境ごとに切り替えてビルドする(debug/stg/prod)](https://qiita.co
Android + C++ で wav 音声再生するための Oboe ライブラリのメモ
# 背景
* Android で手っ取り早く C++ で wav 音声を再生したい
* Android Vulkan で compute shader で STFT 処理とか spatial audio 処理した音声データを再生したい
* Vulkan と一緒に使いたいので, Android 8 以降対応でよい.## Native audio library
AAduio(Android 8.0 or later) と OpenSLES がありますが, どちらも低レイヤーなので, wav をお手軽再生とかはできません.
https://developer.android.com/ndk/guides/audio
## 既存ライブラリ
手っ取り早く Android C++ で wav 再生は SoLoud があります.
https://sol.gfxile.net/soloud/
クロスプラットフォームでよいのですが, Android はあまりメンテされていないようで, CMake 用の設定がなかったり, backend は SLES だけだったり, logcat に
AndroidStudioのScratch Fileでビルドせずにプログラムを実行する方法
##■概要
ちょっとした演算や勉強、作成した関数の結果などを調べたいときにアプリケーション全体を作成せずに、軽量な方法でKotlinコードを作成および実行できます![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/252283/41b5d06c-a178-c473-c70d-dbb639297db9.png)
##■特徴
– 軽い!!!
– AndroidStudioのエディタと基本同等機能が使える
– 入力保管
– 動的なエラー表示
– 関数ジャンプ
– ローカルヒストリーなどなど
– プロジェクト内のクラス、関数の利用
– 全プロジェクトで共通のScratch Fileを使用可能
– プロジェクトに含めなくてよいのでGitなどで他者と共有する心配がない##■使い方
**・ショートカット**
【Mac】command + shift + N
【Windows】Ctrl + Alt + Shift + Insert<
kotlinx.android.parcel.Parcelizeのimportでエラーになる
“` kotlin
import kotlinx.android.parcel.Parcelize
“`
これがparcelの時点でエラーになるトップレベルのbuild.gradleで `classpath “org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version”` を dependenciesに追加する
“` build.gradle
buildscript {
ext.kotlin_version = ‘1.3.70’
repositories {
google()
jcenter()
}
dependencies {
classpath ‘com.android.tools.build:gradle:3.6.1’
classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version”
// ↓こいつを追加する
Android NDK + C++14 設定 cmake で no member named `make_unique` in namespace `std` エラーなどが出る
## 背景
C++14 を要求されるコードを
“`
set(CMAKE_CXX_STANDARD 14)
“`と設定しても,
“`
no member named `make_unique` in namespace `std`
“`などで, make_unique 周りでコンパイルがこける.
## 原因
たぶんなにか他の add_subdirectory などで追加している third party library が, CXX flags に直接 `-std=c++11` など他の C++ バージョンを指定してしまっている可能性が高いです.
`CMAKE_MAKEFILE_VERBOSE=On` を cmake bootstrap に追加するなどして, コマンドラインで適切に C++14 モードになっているか確認してみましょう.
“`
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
“`として, 厳格に
Android Palette APIで画像から色を抽出する(ステータスバーの色を画像から変える)
Palette APIを使うとBitmapから簡単に色情報を取得することができるようです。
https://developer.android.com/training/material/palette-colors?hl=ja公式でも書かれていますが、アルバムカバー画像から色を抽出してレイアウトカラーにしたり、今回のようにステータスバーを変更したりなど、ユーザーに視覚的に印象を与える場面で効果的なようです。
で、実際にどんな感じになるのかを試してみたのですが、とても簡単に使うことができました。
実際に書いてみたサンプルの挙動がこんな感じです。リスト表示されているユーザーを選択して詳細画面へいくと、ヘッダーが表示されてステータスバーがそのヘッダー画像から抽出された色に変更されるような感じです。
画面の色味が統一されてすごくいい感じですね!
レジの店員を呼ぶアプリをつくた android cordova ハイブリッドアプリ
## 成果物
https://play.google.com/store/apps/details?id=com.itsumen.regi&hl=ja## リポジトリ
https://github.com/yuzuru2/regi_apuri_sozai## 環境
– node.js 12.14.0
– cordova 9.0.0
– java 1.8.0※javaとandroidのsdkは各自インスコしてパスを通しておいてください。
## コマンド
“`bash
$ npm i -g cordova
$ cordova create sample com.example.sample sample
$ cd sample
$ cordova platform add android
$ cordova plugin add cordova-plugin-volume-control
$ rm -rf www/*
$ cd www
$ git clone https://github.com/yuzuru2/regi_apuri_sozai.git .
$ cd .
Mac上のファイルにAndroidからアクセスするには
#Mac上のファイルにAndroidからアクセスしたかった話
ことの発端はHTMLであるページを作っていた時の話。
当然PCでHTMLファイルを記述していたわけだが、そういや公開したらスマホでも見るかもしれないな(というか多分そっちのほうが多いだろう)と思い、(私は手持ちの端末がAndroidなので)ファイル共有して開こうと思った…
が!
私は保守や作成時にわかりやすいよう、ファイル(特にCSS)を大量に分割して記述することが多く、ファイル転送がめんどくさい!
(いや、がんばれ)ということで、手持ちの環境でファイル共有ができないかと模索してみた。
##FTP
無知な私が最初に思いついたのはFTP。スマホのファイルマネージャーに簡単にFTPが作れる物があったからだ。FTPとは、File Transfer Protocol、ファイル転送プロトコルのこと。
プロトコルっていうのは、Wikiによれば>プロトコルまたはプロトコールとは、複数の者が対象となる事項を確実に実行するための手順について定めたもの。
>もともとは「人間同士のやりとり」だけに関する用語であった。戦間期
コピペでできる一部の文字列でクリックイベントを取得する方法(android)
![ezgif.com-video-to-gif.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/367893/f31ff071-407e-6046-16b6-1a5b43ffbf03.gif)
androidで長いTextViewがあって、一部だけハイパーリンクにするのめちゃくちゃめんどくさいですよね。
ハイパーリンクというか、クリックイベントをとりたかったのですがだいぶめんどくさかったです。なのでコピペでできるようにしました。
ついでにHTMLタグにも対応できるカスタムtextviewを作りました。まずはそれを表示するクラスから
“`kotlin:HtmlTextActivity.kt
class HtmlTextActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
FragmentPagerAdapterのページ切り替えを無効にする方法
FragmentPagerAdapterでスワイプの無効/有効を切り替えたかったので実装をメモ。
ViewPagerでは実装できるけどFragmentPagerAdapterでは難しいみたい。
https://stackoverflow.com/questions/41656902/disable-swipe-in-fragmentpageradapter-android結果、無効というかタブの切り替えは行われないような処理が書けた。
(スワイプしようとしても弾性をもって勝手に元の位置に戻る系の。これはこれでUIとしてありかなと。)
以下、実装。“`kotlin
private lateinit var listener:ViewPager.SimpleOnPageChangeListener
private lateinit var viewPager:ViewPager:
//スワイプを無効にする
listener = object : ViewPager.SimpleOnPageChangeListener() {
ov
Androidアプリのサンプルプロジェクト体験
# 目次
– Androidアプリ体験に必要なもの
– Android Studio IDEのインストール
– Android Studioの追加パッケージのインストール
– サンプルプロジェクトの作成##Androidアプリ体験に必要なもの
当サンプルは実際のアンドロイドスマホで試す為、必要なものとして以下となります。– Android Studio IDE
– アンドロイドスマホ
– USBケーブル##Android Studio IDEのインストール
インストールガイドは以下のリンクにて、ご参照ください。
https://qiita.com/nayylin/items/d0a02aab68a3170f5f26##Android Studioの追加パッケージのインストール
– まずは、Android Studioを開き、「Configure」をクリックし、「SDK Manager」を選択する。
![0018.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/602725/b87
fastlaneを使って Internal App SharingにAABファイルをアップロードしてSlackにダウンロードリンクを飛ばす
## 事前準備
– fastlaneのバージョン`2.139.0以上`を使えるようにする
– Internal App Sharingを使ってアプリの配布とダウンロードができるようにしておく
– こちらのスライドを見れば設定やそもそもInternal App Sharingって何?というのは解決できると思います [Internal app sharing 完全に理解した](https://speakerdeck.com/syarihu/internal-app-sharing-wan-quan-nili-jie-sita)
– Google Play Developer APIの[Publishing API](https://developer.android.com/google/play/developer-api?hl=ja#publishing_api_overview)を使えるようにしておく
– こちらの記事でやり方は紹介されているので参考にしてください https://qiita.com/itog/items/f382a7cc4a38bd079aab
【和訳】Jetpack Navigation(Codelabs for the 2019 Android Dev Summit: Mountain View, October 23-24, 2019.)
[Android Dev Summit 2019
Codelabs for the 2019 Android Dev Summit: Mountain View, October 23-24, 2019.](https://codelabs.developers.google.com/ads19/)[Jetpack Navigation](https://codelabs.developers.google.com/codelabs/android-navigation/index.html?index=..%2F..ads19)の日本語訳
# 1.はじめに
[ナビゲーションアーキテクチャコンポーネント](http://d.android.com/arch/navigation)は、ナビゲーションの実装を簡素化すると同時に、アプリのナビゲーションフローを視覚化するのにも役立ちます。 ライブラリには、次のような多くの利点があります。– フラグメントトランザクションの自動処理
– デフォルトで進むと戻るの適切な処理
– アニメーションと遷移のデフォルト動作
– ファーストクラスの
Expecting android:screenOrientation=“unspecified”…の対処法
## 困ったこと
Andsroid3.6+から、AndsroidManifestファイル内で下記のように、Activityの向きを固定に指定しているとワーニングが出るようになりました。これは、Googleより「ユーザの(画面の向きを変えれる)選択肢を狭めないように横向きにもアプリを対応させましょうね。」というメッセージなわけでございます。## 対処法① アプリを横向き対応する
ユーザの利便性を追求するのであれば横向きもサポートするほうが良いのは当然です。
なお、ワーニングの指示通り下記のどちらかを指定すれば消えます。“`xml
“`|パラメータ名|説明|
|—|—|
| unspecified | デフォルト値。システムが画面の向きを選択します。システムが使用するポリシー、つまり特定の状況における選択は、端末により異なる場合があります。 |
| fullSensor