Android関連のことを調べてみた2020年01月08日

Android関連のことを調べてみた2020年01月08日

アクティビティにあらかじめ書かれたソースコード

初学者です。個人的な勉強のために書きました。

##アプリ起動時に実行されるメソッド

“`HelloSampleActivity.java
package com.websarva.wings.android.hellosample;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class HelloSampleActivity extends AppCompatActivity {

@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);//————–1
setcontentView(R.layout.activity_hello_sample);//–2
}
}
“`

・上記のコードは、あらかじめ記述されているもの

・onCreateメソッドは、Androidアプリが実行さ

元記事を表示

Flutterウィークリー #87

# Flutterウィークリーとは?
FlutterファンによるFlutterファンのためのニュースレター
https://flutterweekly.net/

この記事は#87の日本語訳です
https://mailchi.mp/flutterweekly/flutter-weekly-87

※Google翻訳を使って自動翻訳を行っています。翻訳に問題がある箇所を発見しましたら編集リクエストを送っていただければ幸いです。

# 読み物&チュートリアル

### 競合するフレームワーク:AlibabaがSDK Flutterをテストします
https://hackernoon.com/competing-frameworks-alibaba-puts-sdk-flutter-to-the-test-88eb8cf1f35a?gi=1c0291fc55a3

FlutterとReact Nativeを比較するためにAlibabaチームが実行したパフォーマンステストに関する興味深い記事。

### Flutterアプリを設計するための初心者向けガイド
https://medium.

元記事を表示

Flutterウィークリー #86

# Flutterウィークリーとは?
FlutterファンによるFlutterファンのためのニュースレター
https://flutterweekly.net/

この記事は#86の日本語訳です
https://mailchi.mp/flutterweekly/flutter-weekly-86

※Google翻訳を使って自動翻訳を行っています。翻訳に問題がある箇所を発見しましたら編集リクエストを送っていただければ幸いです。

# 読み物&チュートリアル

### Flutter Firebaseチートシート!

Flutter Firebase Cheat Sheet! ?

FlutterのFirebaseの基本的な使用法をカバーする便利なチートシート。

### Dart宣言サイトの差異
https://medium.com/dartlang/dart-declaration-site-variance-5c0e9c5f18a5

進行中のDart機能であるDart分散に関するKallen Tuの興味深い記事。

### F

元記事を表示

OpenCV をソースコードからビルドしてXamarin で利用する

## はじめに

本記事は下記の続き(リベンジ)です。

[Xamarin.Forms(Android) から OpenCV(C/C++) を利用する](https://qiita.com/hsytkm/items/73a8057e001dda72b6d2)

前回はOpenCV公式の Android 用ライブラリを Xamarin から使用しました。
今回はソースコードをセルフビルドして Android 用の共有ライブラリ(*.so) を作成します。

類型的ですが、ライブラリのセルフビルドには以下のメリットがあります。

– モジュール(機能)を絞ることでライブラリのファイルサイズを減らせる

– 拡張モジュール群(opencv_contrib)をライブラリに含められる

## 確認環境

– OpenCV 4.2.0
– Windows 10
– CMake 3.16.2
– MinGW 8.2.0-5
– Android SDK 28.0.3
– Android NDK 20.0.5594570

## 環境構築

まずはビルドに必要なツールを導入していきます。

元記事を表示

ExpoのPermissions周りを実機検証してみる

## はじめに
Expoでの開発に限らず、iOSアプリでは一部のプライバシーに関わる機能を利用する際、その目的を説明する文言を設定する必要があります。設定した説明文は、ユーザーに権限を確認するためのダイアログに表示されます。

設定が必要な機能については下記のような記事が参考になりました。

**iOS のユーザデータにアクセスするための Info.plist への許可設定まとめ**

**[iOS 10] 各種ユーザーデータへアクセスする目的を記述することが必須になるようです**

[iOS 10] 各種ユーザーデータへアクセスする目的を記述することが必須になるようです

Expoにおいてこの説明文(UsageDescription)は`app.json`の`expo.ios.infoPlist`オブジェクトに追加することでカスタマイズできます。
デフォルトだと説明文が存在しない訳ではなく、英語、かつ目

元記事を表示

CoordinatorLayoutをやってみた

#はじめに
今回はCoordinatorLayoutを使用し、下記のようなスクロールでツールバー等を見え隠れさせるアプリを作成してみました。

##実際に実装してみた
上記のアプリの実際のコードはこちらになります。

“`MainActivity.kt
class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// Adapterの設定
val sampleList = mut

元記事を表示

【初心者向け】FireBaseとUnityの連携方法①【画像付き】

##はじめに
僕「バックグラウンドをFireBaseで簡単に任せることが出来ることを知ったからゲームでも使いたい!」
公式HPを見ながら作業環境を構築してると知識不足なのか慣れてないのかよく分からなくて初心者泣かせだった。

**そんな、同じような方に向けて分かりやすい連携方法を紹介できればなと思います。**

公式の連携方法ページ→https://firebase.google.com/docs/unity/setup?hl=ja
FireBaseの機能一覧でとても分かりやすかった→ https://qiita.com/hippoHippo/items/21cf7fb76bcf8591129f

##作業環境
・Windows
・Unity 2019.2.9f1
を使用して作業を行った結果です。

事前準備として、Unityプロジェクトは個々で作っといてください。省略します。

##作業一覧

###①FireBaseの作業ドキュメントを作成する。

※ドキュメント名に数字を入れた所DataBaseを使用する際に、このドキュメント名が使われるが数字が文字化け?なのか省略されてるのかし

元記事を表示

画面部品の配置

初学者ですが、個人的な勉強の為まとめました

##画面部品の配置

Androidアプリの画面は、Android SDKで用意された画面部品を配置することで作成する。これが、.xmlファイルに画面部品タグを記述することである
画面部品については、大きく**ビューグループ**と**ビュー**の2つがある

###ビューグループ

・**ビューグループ**は、各画面の配置を決めるもので、レイアウト部品とも呼ばれる。以下は、主なレイアウト部品である
 ①**<LinearLayout>**・・・一番扱いやすいレイアウトで、画面部品を縦/横方向に並べて配置
 ②**<TableLayout>**・・・表形式で画面部品配置
 ③**<GridLayout>**・・・グリッド形式で画面部品を配置
 ④**<FrameLayout>**・・・画面部品を重ねて配置
 ⑤**<RelativeLayout>**・・・画面部品を相対的に配置
 ⑥**<ConstraintLauout>**・・・RelativeLayout同様に、画面部品を相対的に配置

 ※RelativeLayoutは、Androi

元記事を表示

Project作成ウィザード

初学者ですが、個人的な勉強の為まとめました
##Project作成ウィザード

AndoridStudioプロジェクトの作成には、プロジェクト作成ウィザードを使う
以下が、このウィザードを構成する4つの画面

###①Create Android Project画面

・以下の、3つの入力欄がある

#### 1.Application name

 ・アプリ名の入力欄だが、アプリ名というより、**プロジェクト名**と理解したほうが良い

#### 2.Project location

 ・プロジェクトファイルを格納するフォルダ
 ・デフォルトでは、<ユーザーのホームフォルダ>¥AndroidStudioProjects配下にプロジェクト名と同名のフォルダが作られる

#### 3.Company domain

 ・入力内容に応じて自動で**Packag name**が記述される
 ・ドメインを逆順にしたものを起点とし、そこにプロジェクト名を加えたものがルートパッケージになる
  例えば、ドメインが「hogehoge.com」,プロジェクト名が「HelloAndroid」の場合は、

元記事を表示

Androidビュー

初学者ですが、個人的な勉強の為まとめました

##Androidビュー

**Projectツールウィンドウ**の見え方は変更でき、デフォルトでは**Androidビュー**である
Androidビューでは、開発に必要なファイルのみ表示するようになっており、必要に応じては**Projectビュー**など他のビューに切り替える
※Projectビューは、より実際のファイルなどに近い構成になっている

###Androidビューのファイル構成

・大きく、**manifests**、**java**、**res**の3フォルダに分かれる

####①manifests

・**AndroidManifest.xml**ファイルが格納されている
・AndroidManifest.xmlファイルは、**アプリの実行に必要な設定**が記述されている

####②java

・名前の通り、javaファイルが格納されている
・パッケージ右側に(androidTest),(test)と記述されているのは、Androidアプリをテストするための.Javaファイルの格納先

####③res

・.xm

元記事を表示

[Android] Serviceクラス(bindService)

##Serviceとは
ダウンロードなどの処理時に、UI操作を阻害しないようにするため、Activityとは別に動作させることができる。
startService()とbindService()の2種類がある。今回はbindServiceについて記す。

・**startService**
 Activityが破棄されても、stopSerivceかstopSelfによって明示的に終了するまで続く。

・**bindService**
 バインドしているActivityがなくなると破棄される。

##使い方
Serviceを継承したクラスを作り、クライアント側から呼び出すことで使用できる。
まずクライアント側クラスは以下の通りである。
Mainctivity.java

~~~java
public class MainActivity extends AppCompatActivity {
// 起動するServiceのBinder
BindService.MyBinder binder;

// ServiceConnectionオブジェクト
priv

元記事を表示

androidのアプリをビルドすると、apkサイズが肥大化する

# androidのアプリをビルドすると、apkサイズが肥大化する

gitlab ciで、androidアプリをビルドしていたのですが、いつからか「apkサイズが大きくなった気がする」と報告を受けたので、確認すると以前は出ていなかったワーニングが出ていることに気が付いた

android gradle プラグインバージョン:3.5.3
gradle バージョン:5.4.1

## コマンドラインでのビルドで出る様になったワーニング

“`
> Task :app:stripProdReleaseDebugSymbols
Compatible side by side NDK version was not found.
Unable to strip library ‘/builds/jad/jadcenterapp/app/build/intermediates/merged_native_libs/prodRelease/out/lib/armeabi-v7a/libconscrypt_jni.so’ due to missing strip tool for ABI ‘ARM

元記事を表示

UnityでBuilding Gradle projectが一生終わらない場合の対応

## はじめに
いつものようにUnityでAPK書き出しを行なおうとしたらビルドが下記画面から何時間経っても変わらない事象が発生したので対応方法をメモ

スクリーンショット 2020-01-05 23.39.56.png

## 解決策
結論から話すと、ウイルス対策ソフトが原因でした
`ESET Cyber Security Pro` のリアルタイムファイルシステム保護とファイアウォールをOFFにするとビルドが完了しました

## ネットで調査した際に見つけた対策案
### gradleのアップデート
`brew upgrade gradle` でgradle自体をアップデートします

### AndroidSDK&NDK をUnityHub経由でインストール
2020年1月7日現在ではAndroidSDKと

元記事を表示

「Gson is deprecated.」らしいのでMoshiを試してみる

# はじめに
今までJSONパーサに[Gson](https://github.com/google/gson)を使っていたのですが、あの[JakeWharton](https://github.com/JakeWharton)氏曰く[「Gson is deprecated.」](https://www.reddit.com/r/androiddev/comments/ejjroe/kotlinx_json_vs_gson_a_short_article_about_kotlin/fcz3v0d/?utm_source=share&utm_medium=web2x)との事だったので、[Moshi](https://github.com/square/moshi)を試してみました。

[Moshi](https://github.com/square/moshi)はSquare社が開発した軽量なJSONパーサで、[Gson](https://github.com/google/gson)の不満点を解消するために作られたそうです。

軽くGsonとの比較も行います。
# 導入
“`gro

元記事を表示

KotlinでAutoFitTextureViewを使ってCamera2する

#KotlinでCamera2を使いたい
Android開発に乗り出してからCamera初挑戦であります。
「Kotlinで」なんて言ってはいますが、Javaでだってやったことありません。

ただ、最近のマイブームがKotlinなのでKotlinを使用してCameraを使ってみたいなと思った(ドライブレコーダーアプリを作りたかった)ところ、想像を絶するほどにサンプルが少なくて苦戦したので、メモ程度に書いておきます。

誰かのお役に立てれば光栄です。

#環境
AndroidStudio 3.5.3

#とりあえずGoogle様
まぁね。とりあえずAndroidで何か新しいことやるよって言ったらGoogle様のサンプルを見ますよ。少なくとも僕は。

[Google様のCamera2サンプル](https://github.com/googlearchive/android-Camera2Basic/tree/master/kotlinApp)

はいドン。
さすがGoogle様。スパゲティーすぎて何もわかりません。さすがです。

なんでもかんでも詰め込むから分からなくなるんです。

とい

元記事を表示

[Android] ListViewの使い方

##使い方

まずレイアウトファイルにListViewを追加しておく。

そしてロジックファイルで以下のように書く。

~~~java
public class MainActivity extends AppCompatActivity {

ListView listViewFruits_;

//ListViewに表示したい配列
private static final String[] FRUITS = {
“りんご”,”みかん”,”ぶどう”
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

listViewFruits_ = findViewById(R.id.listViewFruits);

//Adap

元記事を表示

【Android】Retrofit2.6で追加されたCoroutine対応について

# はじめに
Retrofitがバージョン2.6で`Kotlin Coroutines`の`suspend`関数に対応しました。

公式にCoroutineに対応した事によって、より簡単に非同期処理を実装できるようになりました。
ここでは`suspend`関数を使わない場合と使った場合の実装の違いを比較していきます。

# リポジトリ
[こちら](https://github.com/nanaten/RetrofitCoroutine)に全体のコードを置いておきます。

準備(折りたたんでいます)
今回は https://api.github.com/repos/octocat/Hello-World からidとnameを取得します。

## data class
まずGitHubのリポジトリを取得するためのクラスReposを作ります。
簡略化のためプロパティの数を絞っています。

“`kotlin:Repos
data class Repos(
val id: Int,
val name: Stri

元記事を表示

Androidの通知チャネルにオリジナル通知音を設定する

# 概要
– Android Oreoから、プッシュ通知を行うためには**通知チャネル(Notification Channnel)**の利用が必須になっています。
– 通知チャネルにアプリオリジナルの通知音を設定するための手順と、その際にハマった点について書きます。

## 通知チャネルとは
通知チャネルは、Android 8.0(Oreo)から追加された新機能です。

[通知チャネルを作成して管理する – Android Developers](https://developer.android.com/training/notify-user/channels?hl=ja)

プッシュ通知を種別ごとに複数のチャネルに割り振り、チャネルごとに、プッシュ通知におけるバイブレーションのオン・オフ、通知音の変更といった細かい設定を**OSレベル**で行える仕組みになっています。

例えば、LINEには以下のような通知チャネルが設けられています。
Unity スマホアプリ TPS視点について

###作っているゲームについて
現在Unityをもちいてスマホで動くゲームを作っています。
内容としては、スマホの画面でカメラ及びプレイヤーの向きを変えて、その方向に加速度センサにより進ませるというものです。

###発生している問題について
PCで動作を確認する場合は、横軸縦軸の長さ、(ゲーム内で向かせたい角度)が足りなくなった場合はマウスを持ち上げて何度かスライドさせることでたくさん動かすことができるのですが、これをスマホ画面でやろうとすると、スマホ上の座標を絶対座標でとられてしまっているようで、動かしても指のふれた位置までカメラの視点が戻ってしまう。

###やりたいこと
 PCのTPSゲームで感度をものすごく低くしたときなどは、マウスが机からはみ出してしまうため、マウスを持ち上げて机の真ん中に持ってくるという動作を繰り返す必要がある。
 この動作をスマホのタッチパネルで行いたい。
プログラム的に言うならば、指が触れている点とゲーム内の座標を絶対的に結びつけるのではなく、指を動かした方向にだけ加算して動かしたいということです。

###プログラムの構成
 プログラムの構成を以下の

元記事を表示

AndroidカスタムROMで4G通信

今回は以下の環境で確認しました。OSや端末によっては出来たり出来なかったりするかもしれません。
また、通話に関しては契約してないので検証できてません。
SMSは受信確認しました。

|項目||
|:–|:–|
|端末|UMIDIGI F1|
|OS|Ressurection Remix v7.0.1(Android Pie)|
|通信会社|KDDI|
|SIM|mineo Aプラン VoLTE非対応 データ通信+SMS|

# 1.アクセスポイント名の設定
これをしないことには電話もできません。
設定アプリのネットワークとインターネット>モバイルネットワーク>詳細設定>アクセスポイント名をタップしてください

+をタップして各社の指示通り入力してください。mineoだとmineo APNとかで検索してAndroid用のページ

元記事を表示

OTHERカテゴリの最新記事