- 1. AndroidStudioで画面に表示する文字を登録する
- 2. カウンターアプリ1号
- 3. Flutterでサポートされていない言語の場合に、Android端末で表示される言語
- 4. プルリク前後の apk ファイルを比較する GitHub Actions
- 5. AndroidStudioでのデバッグログを使ったデバッグ
- 6. react nativeでTask :app:processDebugGoogleServices FAILEDでるやつ(Android)
- 7. RecyclerViewとLiveDataを使ってリスト表示
- 8. Android Studio activity_main.xmlでXMLではなくDesign Editorを使う方法
- 9. Androidのプッシュ通知アイコンの設定 -Cordova
- 10. FlutterでWebRTCをやってみる with AgoraSDK
- 11. Spring Boot で簡単RESTful APIを作成する
- 12. 通知内のボタンから再生状態を操作するとIllegalStateExceptionが発生する際の対処法
- 13. AndroidStudioでKotlinの変数を覚える
- 14. 【Flutter】flutter_native_splashを使ったときに、Androidでスプラッシュ画面からアプリ画面に遷移する際、画面が真っ黒になる件の対応
- 15. [Flutter] Apple Watchの呼吸アプリのアニメーションを作ります。
- 16. AndroidStudioでHello Worldを表示させる
- 17. マテリアルデザイン導入直後にやること
- 18. LiveDataとObservableFieldの違い
- 19. DribbbleでFlutterのUI実装力を高める
- 20. Github Actionsにて自動的にビルドする環境作成(Android編)
AndroidStudioで画面に表示する文字を登録する
#AndroidStudioで画面表示に使用する文字を登録
新規アプリケーションの作成で空のアクティビティを選んでから
activity_main.xmlにボタンを追加します。“`activity_main.xml
カウンターアプリ1号
とりあえず、自分の中でまとまった内容から追記していきます。
#Javaファイル“`Java:MainActivity.java
package com.example.counterapp1;import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends AppCompatActivity
implements View.OnClickListener{
int number;@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreat
Flutterでサポートされていない言語の場合に、Android端末で表示される言語
Flutterで多言語化している最中に、`supportedLocales` にリストされていない言語のときに、表示される言語が意図したとおりに動かず少しハマりました。
例として以下の言語設定の場合に、 端末の言語設定がドイツ語の場合 `en` が使用されると思っていました。
“`dart
supportedLocales: [
const Locale(‘en’),
const Locale(‘zh’),
const Locale(‘ja’),
],“`
理由は[公式ドキュメント](https://flutter.dev/docs/development/accessibility-and-localization/internationalization)の 以下の文章。
> If an exact match for the device locale isn’t found, then the first supported locale with a matching languageCode is used. If that fails, the
プルリク前後の apk ファイルを比較する GitHub Actions
下記のような yaml ファイルと [Danger](https://github.com/danger/danger) 用の設定ファイルを、リポジトリの `.github/workflows` 配下に置きます。
“`yaml:.github/workflows/apk-info.yml
name: apk infoon: pull_request
env:
GRADLE_BUILD_TASK: ‘assembleDebug’jobs:
build-head:
name: Build head
runs-on: ubuntu-18.04
steps:
– name: Check out
uses: actions/checkout@v2
with:
ref: ${{ github.event.head.sha }}
– name: Set up JDK
uses: actions/setup-java@v1
with:
AndroidStudioでのデバッグログを使ったデバッグ
#AndroidStudioでのデバッグ方法
ソフト開発をしていても予期しない動作(思い通りに処理されない)になったとき、実機やエミュレータでの表示で確認するには限界があります。##ソース上での工夫
分岐の結果どっちに処理が進んだのかがわからない場合は、その気になる行にてデバッグ出力を行います。**Log.d(“Sample”,”root 1″)**
このように記述します。##デバッグログ
デバッグ画面の下、コンパイル状況などが表示されるログの下にタブがあるのでLogcatをクリックします。
初期状態だとアプリを実行する度に色々な情報が来て追えなくなりますが、ログ画面の上の方に「Verbose」と表示されるところを「Debug」に変更し、さらにその右に「Sample」と入力すれば上記のデバッグ出力を確認する事が出来ます。
コンパイルエラーが出るとそっちのログ画面に移りますので注意です。**Log.d(“Sample”,”root 1″)**
ログとして i つまり Debugとして出力します。エラーの場合はErrorなど最適な出力もあります。
「Sample」はログを捕
react nativeでTask :app:processDebugGoogleServices FAILEDでるやつ(Android)
react-nativeでよくエラーになってビルドに失敗することがあったので自分なりの解決方法を書いておきます。
環境はWindows10で、react-native cliを用いてAndroidアプリの開発を行っています
エミュレータはAndroidStudioを用いて実行しています。C:Users/user/Awesomeapp
というディレクトリの体です。
#対処法
##1. npx react-native run-androidを実行する
“`terminal:C/Users/user/
cd Awesomeapp
npx react-native run-android
“`
これを行って基本的にはタイトルのエラーが出ると思います。##2. react-native run-androidを実行する
“`terminal:C/Users/user/
cd Awesomeapp
react-native run-android
“`ローカルにreact-native をインストールしている場合はnpxを通してだとうまくいかないときもなぜかうまくいくときが
RecyclerViewとLiveDataを使ってリスト表示
# はじめに
今回は、[前回](https://qiita.com/karass/items/e71698af568f3386b2ab)の続きをやって聞きたいと思います。前回は`RecyclerView`を使ってダミーのデータをリスト表示することができました。今回は`EditText`で入力したデータをリスト表示できるようします。# 目標
# 環境
– Android Studio 3.6.3
– Kotlin 1.3.72# 作成手順
## Gradle
“`build.gradle
dependencies {
// 省略
implementation ‘androidx.cardview:cardview:1.0.0’
implementation ‘androidx.recycler
Android Studio activity_main.xmlでXMLではなくDesign Editorを使う方法
#はじめに
`activity_main.xml`を開くと、デフォルトでは視覚的に操作するDesign Editorが開くかと。ただし、たまに`XML`の表示になっていることがある。
**Android Studioを使い慣れていない方は、ここで戸惑うことがたまにある。。**そんな時のための記事
#Design Editorに変更する方法
`activity_main.xml`を開く
Androidのプッシュ通知アイコンの設定 -Cordova
Androidのプッシュ通知(Firebase Cloud Messaging)のアイコン設定でググってもうまくいかないところがあったのでまとめます。
本記事ではcordovaの設定ファイル`config.xml`にアイコン画像とカラーの指定を行うことで、Androidの設定ファイルである`AndroidManifest`を書き換えていきます。
結果としてAndroidビルドの実行で下のような`AndroidManifest.xml`が生成できていればOKです。
“`AndroidManifest.xml
FlutterでWebRTCをやってみる with AgoraSDK # はじめに
`WebRTC` を使ったアプリを開発する機会があり、何かお手軽な `package` ないかなーと探していたところ `Flutter` で `WebRTC` を手軽に利用できる `plugin` を見つけたので試しにアプリを作成してみました。# WebRTC とは
`WebRTC` (Web Real-Time Communication) とは、ビデオや音声、データをブラウザ間でやり取り可能にするための規格で、`Google` によってオープンソース化されました。 ユーザーはその `API` を経由することでリアルタイム通信を実現できます。[参考: WebRTCの基本とP2P通信が成立するまでを学ぶ](https://qiita.com/daitasu/items/ae21b16361eb9f65ed43)
最近ではコロナの影響もあり、ウェブ会議システムやチャットツールなどの利用者が急増しています。
– Zoom
– Hang out
– Discord
– Microsoft TeamsSpring Boot で簡単RESTful APIを作成する
# 目的
RESTってなんだかお堅いイメージ?があるかもしれませんが、実のところシンプルで使いやすいインタフェースだと思います。
実際、WebAPIではよく使われていますね。利用することは多いけど作るのはなんだか大変そう。。でも実は、アプリケーションフレームワークを使用するとこういうデザインパターン系はとても**楽に**造れたりします。そこで、ここではSpring Boot を使用して**簡単に**RESTful APIを作成してみたいと思います。インタフェースを作るだけだと使いどころが分かりにくいので、Androidアプリから利用する部分もちょっとだけ載せます。
## そもそもRESTって
RESTって技術書なんかでは難しく解説していたりするけど、私の理解ではHTTPサーバーによってリソースを出し入れするインタフェースを提供することだと思っています。
そうするとWebAPIはみんなREST?ってことになりますが、ステートレスでシンプルなリソースであることがRESTの特長。つまりSQLみたいにHTTPのリクエストを使用するってことですね。RESTに出し入れするデータのフ
通知内のボタンから再生状態を操作するとIllegalStateExceptionが発生する際の対処法
Androidのメディアプレイヤーで通知内のボタンから再生・停止操作をしたときにIllegalStateExceptionが発生する事象について、解決までに調べたことをまとめました。
※この記事の内容は、MediaSessionを使用した実装が前提となりますので、ご注意ください。
# 忙しい人向けの結論
MediaSessionを使用して音楽再生機能を実装する場合、以下のようにServiceをManifestに登録するかと思いますが、actionタグの中身が正しく指定されていないとIllegalStateExceptionが発生します。
“`xml:AndroidManifest.xml
“`
~~※actionタグの中身が間違っていることに2AndroidStudioでKotlinの変数を覚える
#ここまでは
空のアクティビティの生成イベントを利用して画面に値を表示する方法がわかったところで次に進みます。“`MainActivity.kt
class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)val tvMain = findViewById
(R.id.tvMain)
tvMain.setText(“Hello Kotlin World!”)
}
}
“`
MainActivity.kt を上のように2行追加すると Hello World!の代わりに Hello Kotlin World!が表示されます。この**tvMain.setText(“Hello Kotlin World!”
【Flutter】flutter_native_splashを使ったときに、Androidでスプラッシュ画面からアプリ画面に遷移する際、画面が真っ黒になる件の対応
# 経緯
[こちら](https://yaba-blog.com/flutter-splash-screen/)を参考にFlutterにスプラッシュ画面を導入してみたのですが、Androidでスプラッシュ画面からアプリ画面に遷移する際、一時的に画面が真っ黒になる事象が起きました。
本当はフェードインアニメーションでアプリ画面に遷移するはずなのですが…
(iOSは未検証)# バージョンなど
“`
Flutter:(Channel stable, v1.17.0, on Microsoft Windows [Version 10.0.18362.836], locale ja-JP)
Dart:2.7
flutter_native_splash:0.1.9
“`# 解決方法
`android/app/src/main/AndroidManifest.xml`の``タグの中に下記` `タグを追加すると直りました。 “`xml
[Flutter] Apple Watchの呼吸アプリのアニメーションを作ります。
こんにちは~Dreamwalkerです。
もう夏ですね。暑いです# 始める前に
呼吸アプリを利用している方いらっしゃいますか?
ストレス溜まっている時、とてもおすすめです。こんな形のアプリなんですが、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137182/49d898c2-8974-ecff-64c4-da1cb0d00f2a.png)
Use the Breathe app https://support.apple.com/en-us/HT206999この呼吸アプリのアニメーションをFlutterでやってみまいと思います。
# コード
## CustomPaint Widgetを使います。
CustomPaintの中にはPainterというのが必要です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137182/d978b2cf-1e5c-ee7a-3b
AndroidStudioでHello Worldを表示させる
##はじめに
新規アプリケーションで空のアクティビティを選択して準備が終わっていることが前提です。**Shift + F10**を押すとコンパイルが開始されて仮想Androidが起動してアプリの実行が行われます。
正常に起動するとHello Worldと表示されます。##Hello World!と表示されたのはなぜ?
空のアクティビティを実行すると画面中央に「Hello World!」と定番の表示が行われました。
これはエディタ画面の上側にあるactivity_main.xmlタブを開いて表示される中身に秘密があります。ホームページを作るときのHTMLのようにタグが並んでいて TextViewの表示の何行か下に「android:text=”Hello World!”」という行があります。
つまりこれが表示されているわけです。
この部分を変更して実行すると画面に反映されるのがわかります。
##基礎演算の理解と練習
エディタの上にあるタグ「activity_main.xml」をクリックします。
この部分はこれまで開発環境で開いたファイルが表示されていますが、間違って閉じた
マテリアルデザイン導入直後にやること
# 概要
Androidプロジェクトにマテリアルデザインを導入後にやることを書きます。
Androidプロジェクト作成した後のHello worldに対して行います。# ライブラリ導入
マテリアルデザインを導入するために、`build.gradle`を以下のように記載します。“` build.gradle
// material design
api ‘com.google.android.material:material:1.2.0-alpha06’
“`# styles.xmlの変更
`res/values/styles.xml`を以下のように記載します。“` xml