- 1. AndroidStudioでプロキシの設定を解除しても反映されないときの対処法
- 2. libtensorflow_inference r1.15 を Android 向けにビルドするメモ
- 3. WebViewでcssのvhが効かない時はLayoutParamsでheightを設定しよう
- 4. ExoPlayerのv2.11で個人的に便利だと思ったやつ
- 5. 遅延評価lateinit・lazyの違い
- 6. Androidタブレット(HWT31)を子供用Kindle専用端末にする
- 7. AndroidでFirebaseを使ったログインの際にINVALID_CERT_HASHが起きる場合の対処法
- 8. Snackbar使用時に ScrollView can host only one direct child とエラーが起きる場合の対処
- 9. Introduction of Data Binding in Android
- 10. Flutter プラットフォーム固有機能を利用するためのSystemChannels APIについて
- 11. Kotlin, LiveData, coroutine なんかを使って初めてのAndroidアプリを作る(8)
- 12. Unity 2019.3 でJDK、NDK、SDKが無いエラーが出る場合の対応方法
- 13. 今からスマホアプリの学習をしようとしてる人に向けて!
- 14. Flutter MessageChannel APIの使い方
- 15. 51歳から(現52)のプログラミング 備忘 Android Toolbar (アプリBar)
- 16. Uno Platform 入門 2 : 環境構築をしよう! Uno Platform ハローワールド
- 17. UnityでMicrosoft Cognitive Speech Servicesによる音声認識をAndroidスマホで実装する
- 18. 51歳から(現52)のプログラミング 備忘 Support Library API追加
- 19. [Android Studio] アプリの全画面表示についてまとめてみる(ノッチ有り無し)
- 20. Flutter EventChannel APIの使い方
AndroidStudioでプロキシの設定を解除しても反映されないときの対処法
## 目次
1. 概要
2. 環境
3. 解決方法
4. 原因
5. まとめ## 1. 概要
一度プロキシ設定を行った後に、File->setting->System Setting->HTTP Proxyから`No proxy`を選択してもプロキシ経由でアクセスしてしまい、解決に時間が掛かったので解決方法を残しておきます。
## 2. 環境
– AndroidStudio 3.5.1## 3. 解決方法
gradle.properties(Grobal Properties)の記述を削除したら,非プロキシ環境下でも動作しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/437348/d57a0b70-2db6-8f06-6788-b29eb86047e1.png)
上の4行を削除## 4. 原因
AndroidStudioの`setting`でプロキシの設定を行うと、自動で`gradle.properties`にプロキシの設定が追加されます。しかし、`No Proxy
libtensorflow_inference r1.15 を Android 向けにビルドするメモ
## 背景
* C/C++ で, 既存 r1.x 系の Tensorflow(C binding) 推論アプリを Android でも動かしたい
* 速度はそんなに問わないし, そもそも tflite では動かないモデルがある
* Java レイヤーは使わないtensorflow + Android で検索するとだいたい tflite がヒットしてしまいますが, ここでは本来の(?)libtensorflow を Android 向けにビルドしてみます.
モバイルでは tflite 推奨で, libtensorflow のモバイル向けビルドは非推奨となっています.
とはいえ, そもそも tflite では動かないケースが多いので(特に RNN とか使っていたりする音声系), 頑張って libtensorflow を動かしてみます.libtensorflow on Android では, CPU のみの対応になります.
現状 C++ API のみのようです. また, 使える C++ API には制約があります
(C API は根本からビルドを変えないといけない
WebViewでcssのvhが効かない時はLayoutParamsでheightを設定しよう
# タイトル通りなんだけど一応コード
WebView webView = new CustomWebView(getActivity());
parentLayout.addView(webView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);高さが設定されていないとvhは機能しない。
ExoPlayerのv2.11で個人的に便利だと思ったやつ
# WakeLockを自動で取得
バックグラウンドでの安定して再生させるためにWakeLockを取得するわけですが、WakeLockは取得したままだと電池を消耗してしまうので再生状態に応じてWakeLockを自動で取得 / 開放してくれる機能が付きました。
> Add automatic WakeLock handling to SimpleExoPlayer, which can be enabled by calling SimpleExoPlayer.setHandleWakeLock (#5846). To use this feature, you must add the WAKE_LOCK permission to your application’s manifest file.
使い方はかんたん。 `setHandleWakeLock` で `true` を設定するだけ
“`kotlin
SimpleExoPlayer.Builder(context).build().also {
it.setHandleWakeLock(tru
遅延評価lateinit・lazyの違い
#はじめに
遅延評価とは、必要な時まで値を代入したり計算したりを無視することをさします。
そのため、使用しない場合は計算を無視することで、処理コストを減らすことができます。
今回は、遅延評価として使用されるlateinitとlazyの違い等の紹介したいと思います。##lateinitとlazyの違い
まず、それぞれの宣言はこちらになります。“`kotlin
//lateinit
private lateinit var testButton: Button
private lateinit var 変数名 : 型//lazy
private val testNumber by lazy { intent.getIntExtra(“Int”, 0) }
private val 変数名 by lazy { 代入したいもの }
“`lateinitの特徴として、
・プリミティブ型は宣言できない。
・varで宣言。
・値の変更可能。
・初期値を与えず変数を使用すると、エラーが発生します。
・nullableは使用できない。lazyの特徴として、
・
Androidタブレット(HWT31)を子供用Kindle専用端末にする
#背景
以前よりKindleで購入した本は家族内で読みまわしたいと思っていた。紙は好きだが、狭い日本の家でスペース取る。読書権の永続性が担保されてるわけではないが、ITジャイアントのモラルを信じて数年前からKindleに集約している。何なら紙で買って、処分したのち、電子で買い直すことすらした。コンテンツ産業よ光あれ。
[話を戻そう](https://www.google.com/search?q=%E6%99%82%E3%82%92%E6%88%BB%E3%81%9D%E3%81%86+%E3%81%BA%E3%81%93%E3%81%B1)。
子供らYouTubeめっちゃ見るのよね。ほっとくと1日中。ほんま良くない。全てが悪とは言わないが低俗なものにハマっている印象だ。最初に渡したのが良くなかった。せめて[Youtube Kids](https://youtube.com/kids/)にしておくんだったが、後からの移行は不可能であった。見れなくなるチャンネルばかりでブーイングの嵐であったためだ。仕方なく時間制限を設ける運用に至っている。Kindleで買った漫画を読ませるために
AndroidでFirebaseを使ったログインの際にINVALID_CERT_HASHが起きる場合の対処法
Google Playアプリ署名が有効になっていると、自分のアプリ署名が削除され、アプリリリース後にGoogle Playが付与したアプリ署名が使われる。
そのため、Firebaseログインを利用する場合、自分が署名した際のSHA-1フィンガープリントではなく、Google Playが署名した際のSHA-1フィンガープリントをFirebaseの設定で登録する必要がある。
Snackbar使用時に ScrollView can host only one direct child とエラーが起きる場合の対処
## 問題概要
この記事にたどり着いた人はScrollViewにaddViewした覚えがないのに
`ScrollView can host only one direct child ` のエラーに悩まされている人かと思います。その場合、
Snackbarの[make](https://developer.android.com/reference/android/support/design/widget/Snackbar.html#make(android.view.View,%20java.lang.CharSequence,%20int))の第一引数に渡しているviewが、ScrollViewになっていないか確認してください。ScrollViewになっていれば、原因はそれの可能性が高いです。
## 原因
MateralComponentの1.1.0-alpha-06までのSnackbarの実装を見てみると、
“`java
@NonNull
public static Snackbar make(
@NonNull View view, @Non
Introduction of Data Binding in Android
本稿ではData bindingの実装手順を備忘録として残しておきます。
SeekBarとViewModel、TextViewを結びつけて、SeekBarの変化を画面表示に反映する機能を実装します。
使用する主な道具としては、`SeekBar`・`Data Binding`・`LiveData`になります。
[Githubに実装がおいてあります。](https://github.com/sahara-ooga/android-data-binding-sample)説明上コードを適宜省略していますので、詳しくはこちらのレポジトリを参照してください。また、説明と対応するコミットへのリンクを掲載していますので、実装を追記する位置はこちらを参照してください。
## 環境
macOS 10.15.3
Android Studio 3.5.1
Kotlin plugin 1.3.61-release-Studio3.5-1
## 実装手順
以降、package名を example.android.android_data_binding_sampleとして進めます。
###
Flutter プラットフォーム固有機能を利用するためのSystemChannels APIについて
# はじめに
Flutterからプラットフォーム固有の機能を利用するためのAPIの[SystemChannels](https://api.flutter.dev/flutter/services/SystemChannels-class.html)について解説します。
## SystemChannelsとは
まず最初に、基本的にこのAPIを使うことは推奨しません。Flutter Framework内部ではこのAPIを多用していますが、以下のように中間レイヤのAPIであるため今後のバージョンアップで変わる可能性が高いです。
SystemChannelsの[ソースコード](https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/services/system_channels.dart)を見ると、中身はMethodChannel, EventChannel等を利用していることが分かると思います。MethodChannelやEventChanne
Kotlin, LiveData, coroutine なんかを使って初めてのAndroidアプリを作る(8)
[前回](https://qiita.com/kasa_le/items/e372c9e18b60f4b2f430)の続きです。
# 今回の目標
リストの表示を1ヶ月1ページにします。
そしていわゆる`ViewPager`を使い、左右にスワイプすることで月を移動できるようにします。※カレンダー風の表示は、また次回に回します。
ViewPagerは、Androidでは使えないとお話にならない機能だと思うので、是非覚えて下さい。
# 1ヶ月1ページにする
## (1) レイアウトの変更
今表示してる「年月」を表示する部分を追加します。
完成イメージはこんな感じです。![qiita08_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103886/00eaa98f-2fce-f1fd-871a-932794b1673a.png)
レイアウトxmlのサンプルはこちら
“`activity_main.xml
Unity 2019.3 でJDK、NDK、SDKが無いエラーが出る場合の対応方法
Unity でAndroid開発、あるいはOculus開発しようとしたら、 `UnityException: JDK not found` が出ましたか?
自分は同じミスを二度ほどして学びました。# エラー内容
“`
UnityException: JDK not found
Java Development Kit (JDK) directory is not set or invalid. Please, fix it in Preferences -> External Tools
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:187)
“`Preferences を見ると、JDK周りに警告が出ている。
今からスマホアプリの学習をしようとしてる人に向けて!##1. はじめに
私は新卒でITベンチャーに入社して、現在スマホアプリのフロントエンドエンジニア(※以下 アプリのフロント)として、
Android、iOS共に、主にECアプリなどを開発しております。
そんな私がスマホアプリの学習をしようか検討中の方に向けて、「**アプリのフロントはこんな感じ**」というのを共有させていただければと思い記事にしました。##2. スマホ開発の仕事はある?
学習するか悩んでる言語がある方の多くは、「その言語を学んでも仕事が無いんじゃ意味がない」と思っている方だと思います。
確かに「仕事がない」=「必要とされていない」と言っていいと思うので、これから学習する言語は仕事が多く取れる言語が良いですよね。
その点、**スマホのエンジニアは仕事がある**と私は胸を張って言えます。
これは「勤めている会社の中で仕事があるから」「自分がやっているから」というだけが理由ではありません。
私は趣味で英語の勉強会に行くのですが、その際職業の話になりアプリを作っていることを話すと、
結構な確率で「こういうサービスを考えているんだけど…」と相談されます。
今、何かサービスをFlutter MessageChannel APIの使い方
# はじめに
Flutter (Dart) とプラットフォーム (Android/iOSなど) 間の通信/呼び出しAPIについてまとめています。
* [MethodChannel](https://qiita.com/kurun_pan/items/db6c8fa94bbfb5c0c8d7)
* [EventChannel](https://qiita.com/kurun_pan/items/6d63ebf1e894d3620b20)
* MessageChannel ← 今回## 1. MessageChannelとは
プラットフォーム (Android/iOSなど) とFlutter (Dart) 間で双方向でメッセージ送受信するためのAPIであるMessageChannel (正確には[BasicMessageChannel](https://api.flutter.dev/flutter/services/BasicMessageChannel-class.html)) です。片方からもう片方にデータを送信し、受信したらリプライを返すというごく普通のメッセージパッシン
51歳から(現52)のプログラミング 備忘 Android Toolbar (アプリBar)
#Toolbar表示まで
##androidx
manifest build.gradle dependencies implementationは、androidxのappcompatであることを確認ね“`java:
dependencies{
…
implementation ‘androidx.appcompat:appcompat:1.1.0’
…
}
“`##AppCompatActivityを拡張
“`java:
public class MyActivity extends AppCompatActivity{
}
“`##manifestでNoActionBarテーマを設定
以下はandroidx未満の説明。androidxでの扱いが不明だったので、一応呪文として書いておく。manifestの
要素でappcompatのNoActionBarテーマの何れかを使用するように設定すると、ネイティブのActionBarでアプリバーが使えなる、とリファレンスに書いてある。 “`java:
Uno Platform 入門 2 : 環境構築をしよう! Uno Platform ハローワールド
いよいよ **Uno Platform** の開発環境を整えてみましょう。 **Uno Platform** はクロスプラットフォーム開発環境なので、それぞれの環境で動くように、多少揃える必要のある環境があります。
この記事では、ちゃんとそれぞれが動くか一歩一歩動作確認しながら進めていきます。この記事のゴール:
1. **Xamarin.Forms** ハローワールド (環境構築 && 実行)
3. **ASP.NET Core** ハローワールド (環境構築 && 実行)
2. **Uno Platform** ハローワールド (環境構築 && 実行)参考記事:
* 前回の記事:『[Uno Platform 入門 1 : Uno Platform とは? ~ C# で iOS, Android, Web, Windows 10 アプリを一気にクロスプラットフォーム開発~](https://qiita.com/chomado/items/9a36d5e1bb41c4f6cef3)』
* (英語) 『[Using Uno – getting started / SettUnityでMicrosoft Cognitive Speech Servicesによる音声認識をAndroidスマホで実装する
Androidスマホで動作するUnityの3Dアプリに音声認識をさせる必要が生じたので、簡単なサンプルを作るところから始めました。音声認識には「Microsoft Cognitive Speech Services」を使うことにしました。ちょっとハマったので、備忘録も兼ねて書いておきます。
#開発環境
Windows 10
Unity Ver 2019.2.17f1
Android 9.0 (Galaxy Note9)#(1)Microsoft Cognitive Speech Servicesの準備
##Microsoft Azure の無料アカウントを作成
まず、Microsoft Azure の無料アカウントを作ります。ちょっと古いけど、この辺が参考になると思います。
「[Microsoft Azure の無料アカウントを作ってみた](
https://qiita.com/shinyay/items/a6106936b4a640ab0dc4)」## Cognitive Servicesのプロジェクトを作る
「[Azure Cognitive ServicesのSpeech51歳から(現52)のプログラミング 備忘 Support Library API追加
#Support Library APIの追加
ネイティブのActionBarはAPIレベル21以降。Support Library の Toolbar ならAPIレベル7以降をサポートできる。Projectのbuild.gradleファイル内にGoogle Mavenリポジトリを組み込む
“`java:
allprojects{
repositories{
google()
// もし、gradle versionが4.1以下なら、代わりに以下を使う
// maven{
// url ‘https://maven.google.com’
// }
}}
“`
次に、サポートライブラリを使用するモジュールごとに、build.gradle内のdependenciesブロックにライブラリ(v4 core-utils)を追加“`java:build.gradle
dependencies{
…
implementation “com.android.support:support-core-ut[Android Studio] アプリの全画面表示についてまとめてみる(ノッチ有り無し)
# はじめに
アプリの全画面表示をしようとするとノッチの有り無しでやり方がちょっと違ったのでまとめてみます。# 開発環境
Android Studio 3.5.3# フルスクリーン表示の方法
これは、ノッチ有り無しに関わらず同じです
`styles.xml`にて、以下を記述します“`xml:styles.xml
“`
次に`AndroidManifest.xml`でthemeを設定すればOKです
“`xml:
Flutter EventChannel APIの使い方
# はじめに
Flutter (Dart) とプラットフォーム (Android/iOSなど) 間の通信/呼び出しAPIについてまとめています。
* [MethodChannel](https://qiita.com/kurun_pan/items/db6c8fa94bbfb5c0c8d7)
* EventChannel ← 今回
* [MessageChannel](https://qiita.com/kurun_pan/items/9c2b6fdba602203f8f83)## 1. EventChannelとは
プラットフォーム側からFlutter (Dart) 側にイベント通知するためのAPIの一つである[EventChannel](https://api.flutter.dev/flutter/services/EventChannel/EventChannel.html)について解説します。
加速度センサーの値の変化やプラットフォーム側のイベントサイクルの変化など、プラットフォーム側で定期的もしくは突発的に発生するイベントをFlutter側に通知するためのAPI
関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた