HTML・CSS・JavaScript などの既存の Web 技術を用いて従来より手軽に Firefox を拡張出来る Mozilla Labs よりリリースされたアドオン。
日本語の情報としてはJetpackはFirefox.nextに統合される - Mozilla Fluxが詳しい。 また、Firefox.next(Firefox 3.5の次のバージョン)で、Ubiquity と共に Firefox 自体に拡張機能としてではなく標準機能として取り込まれる予定である。
Jetpack compose で開発中、以下のようなエラーが出ました。 Caused by: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't inline method call: CALL 'public final fun Column (modifier: androidx.compose.ui.Modifier, verticalArrangement: androidx.compose.foundation.layout.Arrangement.Ve…
こんにちは、TUNAG事業部のカーキ (@khaki_ngy)です。 普段は TUNAG の iOS/Android などのモバイルアプリの開発を行なっています。 今回は TUNAG の Android アプリ開発における Android View の開発での Jetpack Compose を使ったレイアウトプレビューの活用について、Jetpack Composeの導入理由と併せて紹介していきます。 Jetpack Compose の導入 TUNAG の Android アプリでは Jetpack Compose の安定版がリリースされた2021年末から Jetpack Compose の導…
はじめに お久しぶりです。 Androidチームで活動している阿部です。 前回投稿からおよそ1年、iOSでビルド速度の改善など様々な経験を積んで、Androidへコンバートしています! 今回は、Androidアプリのパフォーマンス指標としてしばしば話題に上がるANR(Application Not Responding) についてお話しできればと思っています。 弊社でもこのANRをAndroidチームが追うべきKPIの一つに設定しているのですが、昨年の10月あたりに上昇トレンドになっており問題になっていました。 調査方法と調査結果からの仮説 調査 Androidのdeveploper向けのドキ…
ブログ|Ep.2−1 プラグイン よーし、気合いを入れて書いていくぞ〜! の前に設定しないとだめですよね😂 ということで今回は『プラグインのインストール』について、やっていきたいと思います。 *前回の振り返り ✓ 常時SSL化で安全な通信へ おかげさまで、『安全ではありません』が消えました\(^o^)/ まだ、見ていない人はぜひ読んでみてくださいね😊 nanacha-95.hatenablog.com プラグインのインストール プラグインのインストールの注意点 1.Akismet Spam Protection 2.Contact Form7 3.WP Multi Patch 4.Regene…
前回の記事では Jetpack Glance を使って Widget を実際に表示させるところまで行いました。 今回はGlanceAppWidgetを継承させたクラスをいじって、色々と表示を変えて遊んでみようと思います! [目次] 環境 サイズによって内容を変更する exact Responsive いろいろな関数で遊ぶ import 時の注意 Box Image Column LazyColumn Button レスポンシブルな widget 作成 遊んでみての所感 Links おわりに 環境 - compose-version : 1.1.0-beta03 - 使用 glance vers…
こんにちは。KyashのMobileチームでAndroidアプリを開発している牛窪です。 皆さんは個人開発・会社でのプロダクトにかかわらずJetpack Compose導入していますでしょうか。勉強会やBlogはじめアウトプットしている方が増えているように感じています。 Kyash AndroidチームではライブラリがBeta段階から新規画面にJetpack Composeを採用し始めています。この記事ではJetpack Composeのアクセシビリティにフォーカスしてどのような取り組みを始めているか簡単な実装例を交えながらお話しします。
WordPressを使う上での万能プラグインと言えば『Jetpack by Wordpress.com』です。 とても便利な機能がパックになっており、必要な機能をON・OFFするだけで自分に必要な機能をチョイスできます。 この記事では、Jetpackの標準機能として搭載されている『関連記事』を好きな場所に表示する方法を解説します。 設定手順 関連記事を有効にする デフォルトの表示を無効にする 表示したい場所にコードを挿入 関連記事が表示されない場合 設定手順 関連記事を有効にする メインメニューから、『設定』→『Traffic』→『投稿の後に関連コンテンツを表示』を有効にします。 関連コンテン…
WordPressを使う上での万能プラグインと言えば『Jetpack by Wordpress.com』です。 とても便利な機能がパックになっており、必要な機能をON・OFFするだけで自分に必要な機能をチョイスできます。 この記事では、Jetpackの標準機能として搭載されているソーシャル(SNS)共有ボタンを好きな場所に表示する方法を解説します。 Jetpack標準の共有ボタンの機能 まずJetpack標準の共有ボタンの機能を見てみましょう。Jetpackの共有ボタン機能が有効になっている状態で、メインメニューから『設定』→『共有』を選択します。 『利用可能なサービス』にあるアイコンを『有効…
こんにちは。エンジニアの菊地です。 今回は LIFULL HOME'S アプリでおこなっている Kotlin Multiplatform(以下、KMP)の 導入についてご紹介させていただきます。 LIFULL HOME'S アプリでは、2022年10月頃に KMPの導入の検討を開始しました。他の技術を含めて KMP 発表当時から簡単な調査や検討は行われていましたが、ちょうどこの頃に KMP が β版となったことにより本格的にプロダクトへの導入を検討することが可能となりました。 KMP とは 簡単に説明すると、Kotlin で書かれたコードを Android / iOS 両方で実行できるようにす…
ユーザー側からの入力を簡易プログラミング言語みたいにしたいと思うことがたまにあったので、DSLの作成方法を聞いてみました。 Rubyの場合は、特定のオブジェクトをレシーバーとしつつ、そのオブジェクトのコンテキストでブロック内のコードを実行させるinstamce_evalを使うことが、この手法の肝になりそうです。 ユーザーに実行して欲しくないコードを実行できないようにするには、method_missingが呼ばれたときに、そのメソッドが予め定義したホワイトリストに入っていないときはブロックを実行しないようにすることで実現できます。 長年知りたかったことが分かってすっきりしました。 Kotlinの…
こんにちは、Androidエンジニアの@morux2です。 スタディサプリ小学・中学講座では、Visual Regression Test (以下 VRT)を実施しています。VRTは画像比較によるUIの回帰テストです。変更前後のコードそれぞれに対する画面のスクリーンショットを比較し、意図しない差分を検知することができます。*1 今回はスクリーンショットの撮影にRoborazziを導入して半年が経過したので、現状の運用やTipsを共有できればと思います。なお、執筆当時のRoborazziのバージョンは1.9.0です。 VRTの運用 構成 実行タイミング 撮影内容 実行時間 RoborazziのT…
Jetson Orinプラットフォームの製品が発売されて約2年が経ち, NVIDIAのJetPack SDKのサポートから古いJetsonが徐々にはずれつつある. 昨日, 久しぶりにJetsonに触ろうと思い, まずはJetPack SDKをアップデートしようとして少し手間取ったので, メモを残しておく. 1. はじめに 今回, JetPack SDKをアップデートしようとした環境は, 以下の通り.Host PC : Core i7 7700, 16GB, Ubuntu 22.04 Target : Jetson AGX Xavier 32GB, JetPack 4.4いつものように, Lin…
こんにちは。スマートバンクで iOS / Android エンジニアをしている nakamuuu です。 現在、iOS版B/43 では SwiftUI への移行やモジュール分割を伴う、画面実装のリファクタリングに継続的に取り組んでいます。まだまだ半ばではあるのですが、開発において抱えていた課題感やこれまで取り組んできたアクションについて紹介していきます。
AndroidでSQLiteがバックエンドのJetpack Roomを使っていた時の話題。 SELECT column_a, column_b, column_c, MAX(column_d) FROM foo GROUP BY column_a このようなSQLにおいて GROUP BY に使われる column_a と、集計関数(この場合は MAX )に使われる column_d 以外の column_b, column_c の2つのカラムは bare columns と呼ばれる。SQLiteでは集計関数が MAX か MIN の場合には、これらbare columnsの値が、その集計関数…
先端技術部テクノロジーリサーチグループの渡邊です。 テクノロジーリサーチグループでは、今期から「インダストリアルメタバース」に関する技術調査を行っており、NVIDIAのオープンソースAIロボットJetBotを使って以下のような検証を計画しています。 AIを使った自律移動 デジタルツインによる可視化 デジタルツインによるシミュレーション 前回の記事(AIロボット「JetBot」を組み立てる - JBS Tech Blog)では、ハードウェアの組み立てを紹介いたしました。 今回は公式のソフトウェアをインストールし、AIモデルによるロボットの動作確認を行います。JetBotの公式リポジトリは約2年更…
4年ぶりにandroidスタジオ開いたら、エラー出るし文字化けでるしで、 kotlin動かせなかったのだが、下の記事参考にしたら直った。 https://dalomo.net/blog/2021/04/01/1330/ 後は、mainactivity.ktが出なかったが、このURLの下の回答の通り Empty Activityで作れば、ちゃんと出ましたー 続きは、このリンクに沿ってやっていく Android Kotlin の基礎 | トレーニング コース | Android Developers 早速やろうとしたら「activity_main.xml」ファイルがない。 JetPack Comp…
Androidアプリを作ってみる。 "なろう"などのオフラインリーダーとして利用していた某Androidアプリの更新が止まってしまい、昨今の仕様変更で利用できなくなってしまったけれど、替えのいいアプリが見つからなかったので、せっかくだからと自分で作ってみている。 コードは GitHub - paihu/narouviewer に置いてある。 Androidアプリ開発をメインにしている知人に聞いたところ、今からAndroidStudioでアプリをつくるならJetpack Composeを利用したほうがいい。とのことで Composableを活用して作成している。 ViewModelを使わず、 W…
<!-- more --> 【WordPress】AMPの画面で画像が重複して表示される問題を解決【Cocoon】 結論としては、CocoonのLazyLoadとJetpackのLazyLoadを両方とも有効にしているせいでした CocoonのLazyLoadをオン JetPackのLazyLoadをオフ にすることで画像が2枚ずつ表示される問題が解消されました AMPとは? 元のURLが https://u-ff.com/amp-duplicate/ だったとして https://u-ff.com/amp-duplicate/?amp=1 のようなURLにアクセスするとAMPページというのが…
エクストーン Androidエンジニアの市橋です。 今回はAndroid開発のUIツールとして近年スタンダードになりつつあるJetpack Composeを使用する上で重要なポイントを簡潔に説明していきたいと思います。 自分自身Compose案件に携わる中で、従来のXML形式によるUI開発と比較して全く異なる技術であると身をもって感じました。Composeの基礎知識を理解することこそがComposeを適切に扱う上での近道になると考え、個人的に大切だと感じた4つの知識に焦点を当ててまとめていきます。 Jetpack Composeとは そもそもJetpack Composeとは、Androidの…
Jetpack Composeでは、ConstraintLayoutは第一の選択肢でないようです。 Bootstrapのグリッドシステムっぽい手法に近いのかとも思いましたが、それとも違うようです。 Jetpack ComposeのConstraintLayoutの例を示してください。 ConstraintLayoutの方が一般的で推奨もされている手法ですか? 従来のXMLを使用したレイアウトはConstraintLayoutが推奨でしたよね? Jetpack Composeが登場してから、UI構築のアプローチが変わった理由を教えてください。 ConstraintLayoutが第一の選択肢でなく…
Jetpack ComposeでUIをデザインする際、Composable関数内に登場するStateFlow。 StateFlowのvalueが更新されることで、関連するComposable関数が再実行され、結果、StateFlowのvalueを参照するコンポーネントの表示も変わることになります。 ところで、非同期処理の全般からみて、このStateFlowはどのような位置付けであり、どんな特徴があるのかが気になって、ChatGPTに聞いてみました。 しかし、教えていただいたことの全般、きちんと理解できたわけではありません。今後の課題にしたいと思います。 Kotlinの非同期プログラミングについ…
Jetpack ComposeのColumnとRowの使い方を勘違いしていました。 あと、RadioButtonやCheckBox, LazyColumn, LazyRowといった複数の値や状態を持つコンポーネントの状態管理も、コード上の変数を通して管理するようで、従来のXMLベースのUIとは違った感じです。 テキストボックス、チェックボックス、ラジオボタン、LazyRow, Tabを含む、比較的複雑なUIの実装例をお願いしたいのですが、よろしいですか? 含めていただいた要素は、画面上、どのように配置されているのですか? 全体としては、1列で、要素は縦に配置されるのですね。一方、タブは、全体と…
音声録音の方法を聞いてみました。 ストリーミングと聞いて、リアルタイム音声通信などはできるかと思い、後半で聞いてみましたが、そちらはAndroid標準の機能だけで実装するのは難しそうです。 アプリ内から、音声の録音、録音したファイルの保存を行う方法を教えてください。 挙げてくださったコードの内部的振る舞いについて、教えてください。 3gpとは何ですか? mp3でも録音できますか? AudioEncoderとは何ですか? サンプルコードでは、エンコーダーで保存したデータを、3gpに変換しているのですか? ありがとうございます。MP4フォーマットで保存する場合も同様ですか? ところで、ストリーミン…