- 0.0.1. Android HCE 調査メモ(その2)
- 0.0.2. AndroidStudio Error3 Activity existsが出た
- 0.0.3. Android HCE 調査メモ(その1)
- 0.0.4. LiveDataを使わずにRxでPagingする
- 0.0.5. AndroidStudioのDesignタブにAttributeが表示されない
- 0.0.6. F-Droidを使ってオープンソースのAndroidアプリをインストールしよう。
- 0.0.7. オススメAdBlockツールまとめ(Chrome, Android, iOS対応)
- 0.0.8. [Android] IntentServiceによる非同期処理
- 0.0.9. build.gradleの中身を学べた話
- 1. 自分のスキルについて
- 2. 参考教材
- 3. build.gradleで指定できること
- 3.0.1. Coil+Twitter4JでTwitterのDM添付画像をロードする
- 3.0.2. アクティビティにあらかじめ書かれたソースコード
- 3.0.3. Flutterウィークリー #87
- 3.0.4. Flutterウィークリー #86
- 3.0.5. OpenCV をソースコードからビルドしてXamarin で利用する
- 3.0.6. ExpoのPermissions周りを実機検証してみる
- 3.0.7. CoordinatorLayoutをやってみた
- 3.0.8. 【初心者向け】FireBaseとUnityの連携方法①【画像付き】
- 3.0.9. 画面部品の配置
- 3.0.10. Project作成ウィザード
- 3.0.11. Androidビュー
Android HCE 調査メモ(その2)
# 目的
Android HSEに対し、PC(PC/SC)からの接続を確認します。# 環境
今回は以下の機種で動作確認しました。
#### Android側
– ビルド環境
– Android Studio 3.5.3
– 端末
– Sony SO-3L
– Android 9.0 (API level 28)#### PC側
– NFCリーダ
– ACR1251CL-NTTCom
(PC/SCモードで使用)
– OS
– Windows 10 64bit
– 言語
– Python 3.8.0# Android側
前回の記事を参照ください。
[Android HCE 調査メモ(その1)](https://qiita.com/tkhr68000/items/66de411d5eb007fea3ca)AIDは「F222222222」となっています。
# HSE通信確認アプリ
簡単に確認するため、pythonを使って試してみます。
## モジュール追加
pythonからPC/SCを操作するため、モジュール追加します。
pysca
AndroidStudio Error3 Activity existsが出た
#まずここではまった
私の開発環境は基本Macです。
私はいつもアプリを作って正常なビルドをしているか確かめるときは必ず、エミュレータを使用します。
しかし、スマホで一度使用してみたいと思い、実機ビルドするとタイトルのような文字が出てビルドできませんでした。開発環境
・デバイス HUAWEI P30 lite
・パソコン MacBook Pro
・AndroidStudio 2020/01/08現在最新のもの今回はこのエラーが出たときの私の対処法を教えよう!
#対処法
ぜひ一度やってみてください!
##その1 作り直す
私が試したことはもう一度アプリを再度**一から作り直す**ことです。
といってもコードをコピペするだけなので楽でした。しかし、残念ながらやはり同じエラーが起こってしまいました。
##その2 パッケージ名を変更する。
パッケージ名の変更方法はこちらのQiitaの投稿をご覧ください。(私の投稿ではありません)
[リンク]https://qiita.com/m_saeki/items/a66a21a51504446c09fdこの方法では一度実機にインスト
Android HCE 調査メモ(その1)
# 目的
AndroidのHSEのサンプルを実行して、動作確認してみます。# 環境
今回は以下の機種で動作確認しました。
#### Android開発環境
– ビルド環境
– Android Studio 3.5.3#### 端末
– 1台目
– Sony SO-3L
– Android 9.0 (API level 28)
– 2台目
– Sharp SH-03J
– Android 7.1.1 (API level 25)# HSEについて
まずは、前提としてHCEについて説明します。正式なドキュメントは以下を参照してください。
[ホストベースのカード エミュレーションの概要](https://developer.android.com/guide/topics/connectivity/nfc/hce)簡単な説明をすると、Android上でユーザーの任意のアプリとNFCリーダとの通信を実現するための仕組みです。
通常、NFC通信はAndroidアプリまで通信が届きません。
NFCリーダからの通信は、通常はセキュアエレメントとの通信で完結しま
LiveDataを使わずにRxでPagingする
みなさんPaging使ってますか?
公式ドキュメントを見ると、LiveDataを使わずにRxJava2を使用しても良いということだったのですが、いまいちどのように実装するのかがよくわからず試行錯誤した結果を書き残したいと思います。
##前提
– 以下の条件の方々を読者と仮定します
– AAC Pagingがどのようなものか大体わかる
– これからPagingを導入しようと思っている
– LiveDataは導入していない##やること
####AndroidXの場合
>***DataSourceFactory#toObservable*でPagedListのObservableを作成する**
>or
>***LivePagedListBuilder*を使うかわりに*RxPagedListBuilder*を使う**####AndroidXじゃない場合
>***LivePagedListBuilder*を使うかわりに*RxPagedListBuilder*を使う**まず、PagingのRxサポートはオプショナルなのでbuild.gradleに追加
AndroidStudioのDesignタブにAttributeが表示されない
記事にするのも馬鹿らしい話なんですが、同じ所で躓いて時間の無駄遣いをする人が生まれないように戒めを込めて書いておきます。
#戒め
AndroidStudioで追加ダウンロードが必要なコンポーネントを使う時は、一度AndroidStudioを再起動する。そうしないと、DesignタブにAttributeが表示されなかったり、Textタブで予測変換が効かなくなります。##問題発生時の状況
[TextInputLayout](https://qiita.com/hkurokawa/items/baf0dca930a32a5a7f92)なんて便利な物を知って、意気揚々とダウンロードし配置しました。
※画像はGridLayoutのものですが、やっていることは一緒です。さて、
F-Droidを使ってオープンソースのAndroidアプリをインストールしよう。
## F-Droidとは?
> F-DroidはAndroidに対応したソフトウェアリポジトリおよびアプリケーションストアである。Google Playと機能は類似するが、扱っているのはフリーかつオープンソースのソフトウェアのみである。
[Wikipediaより](https://ja.wikipedia.org/wiki/F-Droid)
## インストール方法
https://f-droid.org/
からインストール!!
## おすすめアプリ
オープンソースの広告ブロッカー
[DNS66](https://f-droid.org/en/packages/org.jak_linux.dns66/)
をインストールしてAndroid端末から広告を一掃しよう!!!
#まとめ
オープンソースのアプリで快適なインターネットライフを。
オススメAdBlockツールまとめ(Chrome, Android, iOS対応)
広告がうざいならAdBlockツールを入れましょう。
紹介するのは全て私が1年以上使用しているAdBlockツールです。### Chrome
[uBlock Origin](https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm)
– GPLv3
– 無料で使えます。
– [参考記事](https://qiita.com/AKKYM/items/e09e80bc8c30e189524d)### Android
[DNS66](https://f-droid.org/en/packages/org.jak_linux.dns66/)
– GPLv3
– 無料で使えます。
– アプリ内の広告を消すことができます。
– [参考記事](https://qiita.com/AKKYM/items/b27046395ef722cdb2d5)### iPhone
[AdBlock](https://apps.apple.com/jp/app/adblock
[Android] IntentServiceによる非同期処理
前回BindServiceについて紹介した。https://qiita.com/QiitaD/items/5c313076b7b99823ce1a
次にBindServiceを使ってHTTP通信を行いたかったが、非同期処理できなかったので、今回はIntentServiceで実装してみたいと思う。##作るもの
TomCatを使ってサーバから、ボタン押下により0~7の数をランダムに取得し、表示するプログラム。
以前AsyncTaskを用いて似たようなことをしたので参考にして頂きたい。・AsyncTaskを継承したクラス内に書いたHTTP通信プログラム
https://qiita.com/QiitaD/items/79228417a68c51090a4e・サーバ側のプログラム
https://qiita.com/QiitaD/items/b60a0baecbd1fa1d3ce8##使い方
IntentServiceを呼び出すにはstartService()を使う。~~~java
final Intent intent = new Intent(MainActivity.t
build.gradleの中身を学べた話
自分のスキルについて
学生。インターン中。
普段はWebアプリ開発でPHP(Laravel)とかJSとか触ってます。
あと研究用にPythonやってます。
Kotlinの実務経験は0。でもゆくゆくはAndroidエンジニアになりたかったり?参考教材
https://codelabs.developers.google.com/codelabs/kotlin-android-training-images-compat/index.html?index=..%2F..android-kotlin-fundamentals#5
https://developer.android.com/studio/build/shrink-code?hl=ja
build.gradleで指定できること
モジュールレベルのbuild.gradle
“`build.gradle
android {
compileSdkVersion 29
buildToolsVersion “29.0.2”
defaultConfi
Coil+Twitter4JでTwitterのDM添付画像をロードする
# やりたいこと
Android用の画像読み込みライブラリ [Coil](https://coil-kt.github.io/coil/) を使うと、下記の1行だけで任意のURLの画像をダウンロードして `ImageView` に表示することができます。
“`Kotlin
imageView.load(imageUrl)
“`Twitterクライアントのようなアプリでツイートの添付画像を表示する場合は上記のコードで十分ですが、DM(メッセージ)の添付画像の場合は[認証が必要](https://developer.twitter.com/en/docs/direct-messages/message-attachments/guides/retrieving-media)となるので 401 が返ってきてしまいます。
“`
coil.network.HttpException: HTTP 401:
at coil.fetch.HttpUrlFetcher.fetch(HttpUrlFetcher.kt:57)
at coil.fet
アクティビティにあらかじめ書かれたソースコード
初学者です。個人的な勉強のために書きました。
##アプリ起動時に実行されるメソッド
“`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=1c0291fc55a3Flutterと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の基本的な使用法をカバーする便利なチートシート。
### 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] 各種ユーザーデータへアクセスする目的を記述することが必須になるようです**
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は、An
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