- 1. Flutterインストール(for macOS)
- 2. [Android / Kotlin]PendingIntent.getActivityの第4引数で0を使うとintent.getStringExtraでエラー
- 3. Androidアプリ公開後でも、アプリ名(タイトル)は変えられる
- 4. Nuxt x Monaca x Android でビルド時のみローディングから進まなかったTips
- 5. Androidアプリを公開した後は、検索されにくいから落ち着け(時系列)
- 6. NativeScript(Angular): Web/Android/iOS
- 7. [ Android ] java.net.SocketException: Socket failed: EPERM(Operation not permitted)解決法
- 8. Google Pixel 4 のプリインストールアプリ一覧
- 9. FlipperでNetworkプラグインを使う際のリリースビルド
- 10. [Kotlin]AndroidでiOSのUiPageViewControllerのdots(ドット)有を実装
- 11. FRIDAがAndroidコミュニティトークンの検証をクラック
- 12. Keynote (Android Dev Summit ’19)
- 13. strings.xmlの内容をcsvに書き出すためのワンライナー
- 14. 【Android】assetsフォルダから画像を読み込みImageViewで表示する
- 15. 【Kotlin/Android】カスタムビューを作成する
- 16. ComposeのSwitch/Checkboxの状態管理
- 17. Flutterウィークリー #81
- 18. RecyclerView内のTextViewをSelectableにする方法
- 19. AndroidでiOSのDispatchGroupと同じことをしたい。
- 20. FlutterでHello worldを動かすまでの環境構築手順(iOS, Android)
Flutterインストール(for macOS)
2019/10/30 更新
macos10.15(Catalina) + flutter_macos_v1.9.1+hotfix.6-stable.zip のファイルで再確認# Flutterインストール方法
https://flutter.dev/docs/get-started/install/macos
を参考に。flutterパッケージをDLしてパスを通す。
### ポイント
“`
$ export PATH=”$PATH:`pwd`/flutter/bin”
“`
サイトに説明がある方法だと、ウィンドウを閉じると設定が消えてしまうので
$HOME/.bash_profile
に対して設定をする。“`
$ vi ~/.bash_profile
“`
でファイル追加、更新する。“`
export PATH=”$PATH:[PATH_TO_FLUTTER_GIT_DIRECTORY]/flutter/bin”
“`
を追加して
[PATH_TO_FLUTTER_GIT_DIRECTORY]→flutterフォルダをおいているフルパス“`
$
[Android / Kotlin]PendingIntent.getActivityの第4引数で0を使うとintent.getStringExtraでエラー
メモです。
# 問題
“`kotlin
val bubbleIntent = PendingIntent.getActivity(context, 25, intent, 0)
“`さいご、0が入ってる場所。こいつ0だとActivityに値渡す時に積むぞ。
# 解決
“`kotlin
val bubbleIntent = PendingIntent.getActivity(context, 25, intent, PendingIntent.FLAG_UPDATE_CURRENT)
“`0のところを“`PendingIntent.FLAG_UPDATE_CURRENT“`に書き換えれば動きましたのでメモ。
# おわりに
## FLAG_UPDATE_CURRENTのおともだち紹介
詳細ここ↓
https://developer.android.com/reference/android/app/PendingIntent#FLAG_UPDATE_CURRENT|名前|動作|
|—|—|
|FLAG_CANCEL_CURRENT|作り直される。
Androidアプリ公開後でも、アプリ名(タイトル)は変えられる
Androidアプリを公開後でも、アプリ名を変更することは可能だ。
#はじめに
全地球6億人のロボカッケー皆さんコンバトラー†[□ □]■━
私は王国騎士ロボットVTuberのKoshiだ??#経緯 検索順位を上げたい
「MAZE 3D AI」アプリ名(タイトル)がなんかイマイチだ。
私(ワタシ)、VTuberが作ったアプリだから、キーワード「VTuber」で少しでも目に留めてくれると嬉しいなぁ。(製作者の意図)
Nuxt x Monaca x Android でビルド時のみローディングから進まなかったTips
# この記事について
タイトルの通りで、nuxtで実装したものをMonacaにもっていったところ、iOSやMonacaデバッガーでは動くのに、ビルドしてAndroid端末にインストールするとうまく動かないということがありました。その対応です# 調査
うまく動かないというのは、アプリが立ち上がったあとNuxtのローディングのまま進まないという状態になりましたlogCatで確認すると、
`E/AndroidProtocolHandler: Unable to open asset URL: file:///android_asset/www/_nuxt/bac0a27cb58f83031038.js`index.htmlからの初っ端の.js読み込みに失敗していました。
そして調べていくと、Phonegapではローカルリソースのパスはセンシティブという記事を見つけました。# やったこと
ということで、
dist の中にできる
`_nuxt` の名称を変えたら、それだけでAndroidでも動くようになりました“` nuxt.config.ts抜粋
build: {
Androidアプリを公開した後は、検索されにくいから落ち着け(時系列)
GooglePlayストアで公開したアプリをアプリに関連したキーワードを検索しても出てこない、アプリが見つからない。
公開したはずなのに… ステータスは公開中…#はじめに
全地球6億人のロボカッケー皆さんコンバトラー†[□ □]■━
私は王国騎士ロボットVTuberのKoshiだ??
Play Consoleでステータスが公開中なのに、自分が上げたAndroidアプリを関連したキーワードで検索しても出てこない。そんなことありますよねぇ!(←自分)
初めて、Google Playストアに上げて公開中となり、全世界にアプリが検索されると思うとウキウキしたものです。
最近では、審査に時間がかかるようになっており、確かに2日程度かかっていました。
それでは、公開したアプリの実体験をさらっとまとめたのでどうぞお読みください##1. Play Cosoleでアプリを登録し、公開申請する.
「MAZE 3d AI」という3D迷路ゲームというAndroidアプリを公開したい。金曜.PM21:14
NativeScript(Angular): Web/Android/iOS## はじめに
この記事は、Angularを触った事がある方を対象にしています。
### NativeScriptとは
[NativeScript](https://www.nativescript.org/)はWebとMobileアプリ(AndroidとiOS)をJavaScriptとCSSで実装出来るフレームワークです。
NativeScriptで作成されたアプリはFull-Nativeなモバイルアプリになります。### NativeScriptの何が嬉しいか
– __簡単導入__
– Angular Schematics と `ng add` を使う事によって簡単に導入できます。
– 同じリポジトリ内でWebとMobileを構築していくことが出来るため、コードの共有化が可能になります。
– __完全ネイティブ__
– NativeScriptで開発されたアプリは完全にネイティブです。これは、ネイティブUIやネイティブAPIへのアクセス、およびデバイス上のネイティブレンダリングを意味しています。
– __コード共有__
– KotlinとSw
[ Android ] java.net.SocketException: Socket failed: EPERM(Operation not permitted)解決法
前回の記事で紹介したエラー、
java.net.SocketException: Socket failed: EPERM(Operation not permitted)
の解決方法について記す。##解決方法
エミュレータ内のアプリを**一度アンインストール**し、
**再度インストール**することで解決できた。エミュレータで
「**設定**」→「**アプリと通知**」→
**アンインストールするアプリを選択**→「**アンインストール**」とするとアプリをアンインストールできる。
前回の記事で参考にしたURLでも
この解決方法は示されていたが、
気づかなかった。
参考URL:
https://stackoverflow.com/questions/56266801/java-net-socketexception-socket-failed-eperm-operation-not-permitted上記の方法で解決できなければ、
前回の記事でも示したように、
AndroidManifest.xmlに
以下を追加してみてほしい。~~~
Google Pixel 4 のプリインストールアプリ一覧
日本の Google Store から購入した Pixel 4 です. 初期セットアップ中に (自動的に/サジェスチョンに従って) ダウンロードしたものも含まれています. ふと思い立って適当に作成したリストなので間違いが混ざっているかもしれません.
# アプリランチャーに表示されるもの
– おサイフケータイ
– Google カメラ https://play.google.com/store/apps/details?id=com.google.android.GoogleCamera
– Google カレンダー https://play.google.com/store/apps/details?id=com.google.android.calendar
– Google ドライブ https://play.google.com/store/apps/details?id=com.google.android.apps.docs
– ファイル ([Files by Google](https://play.google.com/store/apps/details?id=co
FlipperでNetworkプラグインを使う際のリリースビルド
## はじめに
Flipperを導入した際に、Networkプラグイン(OkHttpプラグイン)を入れた際にリリースビルドで失敗したので、その時の対応を書いていきます。## Flipperとは
Facebook製のデバッグツールで、iOS、Android両方に対応しています。
この記事はAndroidで使う際の話です。
[公式](https://fbflipper.com/)## fliper-noop
flipper-noopはFlipper Interfaceの空実装が用意されているパッケージです。
no-op(no-operation)を利用することで、コンパイルを通しながらリリースビルドからFlipper本体のコードを除去することができます。
[公式のドキュメントの例では](https://fbflipper.com/docs/getting-started.html)に沿ってセットアップします。
ドキュメントでは次のように、releaseImplementationでリリースビルド時にはno-opを使うようにしています。“`
dependencies {
[Kotlin]AndroidでiOSのUiPageViewControllerのdots(ドット)有を実装
# TODO
– チュートリアル等で使われる横スクロールして1ページずつ閲覧する画面をAndroidで実現する例はiOSのホームです
# 実装
ViewPagerとTabLayoutで実現します。
ドット部分がTabLayoutですこのselectorがキモです
選択状態白く、非選択状態ではunselectedIndicatorで灰色にするとiOSに近いです“`indicator_selector.xml
FRIDAがAndroidコミュニティトークンの検証をクラック
(ヒント:日本語はすべてGoogle翻訳からのものです)
## まえがき(前言)
>这个社区是酷安,以前想过要爬(spider)这软件,但是都忘了,几天前抓了下它的包,发现请求 **headers** 里有一个 **token** 验证,果断就给破了> このコミュニティはCoolapkで、以前このソフトウェアを入手することを考えていましたが、それを忘れていました。数日前にそのパッケージを入手し、リクエスト** headers **に**トークン**の検証があることがわかりました。 そうです。
## 分析プロセス(分析过程)
最初にバッグをキャプチャします(先抓个包)
![zhuabao.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/317662/34cbd1bc-a01a-4c38-84d3-91b0c92e9aa1.jpeg)
確認に使用されるリクエストヘッダー **X-App-Token** があることがわかります。**X-App-Device** に関しては、携帯
Keynote (Android Dev Summit ’19)
ステージへようこそDave Burke
皆さんこんにちは、2019 Androidデベロッパーサミットへようこそ
ここに非常に多くの開発者がAndroid開発の最もホットなトピックについて話すことができるのは素晴らしいことです
現在、多くのGoogleエンジニアに加えて、65か国から700人以上の開発者と何千人ものライブストリームに参加している皆さんを歓迎します
今、コンピューティングは私の生涯でかなり驚くべき進化を遂げました。最初のコンピューターを思い出すことができます。私は8歳でした。それは英国のAcornという会社のBBCマイクロでした。
アイデアを思いついて実現できる可能性の不思議さを今でも思い出すことができます。私が8歳であることの主な目的は、姉のスヌーピングから寝室を守るための防衛システムを構築することでした
フォトジョイスターをアナログジョイスティックポートにリグすると、侵入者がビームを壊すのを検出できました。その後、ペグガンを発射し、侵入者を撃つセットモーターリレーのようなものだったと思います。妹はどのように「日なので、それは良いです
とにかく、BBC micro
strings.xmlの内容をcsvに書き出すためのワンライナー
あまり出番はないと思いますがメモ代わりに残しておきます。
“`shell
cat path/to/strings.xml | sed ‘s/^\ *
\(.*\)<\/string>/\1,”\2″/g’ | sed ‘1d’ | sed ‘$d’ > result.csv
“`
【Android】assetsフォルダから画像を読み込みImageViewで表示する
#事前準備
事前準備として,プロジェクトを立ち上げた時にassetsフォルダはできていないことが多いと思いますので,
このようにmain以下にassetsフォルダを作成し,
好きな画像をぶっこんでください.
そしたら準備完了です.#さっそく本題
タイトルの通りのことを実装する場合には次のコードでいけます
【Kotlin/Android】カスタムビューを作成する
## 書いてあること
– Kotlinでグリッドビューの中に入れる、カスタムビューを書いてみました。## 用意するもの
1. Fragment.java
2. Adapter.java
3. CustomView.java
4. fragment_main.xml
5. item_fragment.xml## 1. Fragment.java
“`Fragment.java
/**
* 温度調整Fragment画面クラス
*/
class AdjustTempFragment : Fragment() {
/**
* グリッドビュー
*/
private lateinit var gridView: GridView
/**
* なにかしらの情報保持配列
*/
private lateinit var values: Array
/**
* グリッドアダプター
*/
private lateinit var gridAdapter:
ComposeのSwitch/Checkboxの状態管理
ちょっと面白かったのでメモしておきます。
以下の様の置いてみます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27388/2bfb037c-2741-76c5-e8d2-8848c7bc024f.png)“`kotlin
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MaterialTheme {
App()
}
}
}
}@Composable
fun App() {
Switch(
checked = false,
onCheckedChange =
Flutterウィークリー #81
# Flutterウィークリーとは?
FlutterファンによるFlutterファンのためのニュースレター
https://flutterweekly.net/この記事は#81の日本語訳です
https://mailchi.mp/flutterweekly/flutter-weekly-81※Google翻訳を使って自動翻訳を行っています。翻訳に問題がある箇所を発見しましたら編集リクエストを送っていただければ幸いです。
# 読み物&チュートリアル
### 複数の画面とそれらの操作方法
https://blog.codemagic.io/flutter-tutorial-multiple-screens-and-how-to-navigate-them/
Flutterアプリの画面内をナビゲートする方法に関するScott Stollのチュートリアル。### Googleマップを使用したFlutterクラスター
RecyclerView内のTextViewをSelectableにする方法
AndroidでRecyclerView内のTextViewをSelectableにする方法です。
今更な感じもあると思いますが、あまり情報がなかったので。僕の場合は複数のFragmentでRecycledViewPoolを共有しているため、Fragmentを切り替えて戻ってきた時に、再度選択ができない状態になっていました。
また、RecyclerViewのAdapterに設定する方法もありますが、Groupieを使っているためCustomViewを作る形をとりました。“`SelectableTextView.kt
class SelectableTextView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null)
: AppCompatTextView(context, attrs) {init {
// Selectableにする
setTextIsSelectable(true)
}override fu
AndroidでiOSのDispatchGroupと同じことをしたい。
複数の非同期処理を同時に流して、全部が完了したタイミングで次の処理を開始したいとき、iOSではDispatchGroupを使って手軽にできるが、同じことをAndroidで実現する方法を調べてこれを見つけた↓
元ネタ: [Android how to group async tasks together like in iOS](https://stackoverflow.com/questions/34871580/android-how-to-group-async-tasks-together-like-in-ios)それを微妙に改変した↓
“`
class DispatchGroup {
private var count = 0
private var runnable: (() -> Unit)? = nullinit {
count = 0
}@Synchronized
fun enter() {
count++
}@Synchronized
f
FlutterでHello worldを動かすまでの環境構築手順(iOS, Android)
# FlutterでHello worldを動かす
仕事でFlutterを扱うことになったので、とりあえずHello world動かすところまでの流れをメモ。「Flutterとは何ぞや?」って人は公式サイトを見てくれ。
[Flutter – Beautiful native apps in record time ](https://flutter.dev/)## 環境
Flutter SDKは、Windows、macOS、Linux向けに提供されていますが、本記事ではmacOS上での環境構築手順をまとめます。| OS | バージョン |
|:-:|:-:|
| macOS | Mojave バージョン10.14.6 |Flutter SDKは「v1.9.1+hotfix.4」を使いました。
※バージョンアップ等で本記事の情報が古くなっている場合は、公式ドキュメントを参照してください## Flutter SDKのインストール
まずはFlutter SDKをインストールします。
[macOS install – Flutter](https://flutter.de