SlideShare ist ein Scribd-Unternehmen logo
1 von 32
/ 31
Android バインド ライブラリ
~Xamarin でもっと ARCore を試したい~
1
城東.NET #35
2019年08月21日
石崎 充良
/ 31
自己紹介
石崎 充良 ( @mishi_cs )
Microsoft MVP for Developer Technologies
言語: C# XAML
活動:
・C# もくもく会 (connpass)
・C# Tokyo (connpass)
2
/ 31
前回の ARCore
3
/ 31
Pixel 3a
4
/ 31
Pixel 3a
Qualcomm® Snapdragon™ 670
¥48,600~
言わずと知れた Google Pixel シリーズ。
ミッドレンジでお買い求め易い価格帯に。
5https://store.google.com/jp/config/pixel_3a
/ 31
Supported Devices
6https://developers.google.com/ar/discover/supported-devices
/ 31
Sample
7
/ 31
Google – ビルドして実行するだけ
8https://github.com/google-ar/sceneform-android-sdk/tree/master/samples
/ 31
Demo
9
/ 31
dependencies
10https://developers.google.com/ar/develop/java/quickstart
/ 31
Xamarin.Android
11
/ 31
公式
12https://devblogs.microsoft.com/xamarin/augmented-reality-xamarin-android-arcore/
/ 31
Sample – 動かない
13https://github.com/xamarin/XamarinComponents/tree/master/Android/ARCore/samples
/ 31
追加
-- NuGet パッケージ
Xamarin.Google.ARCore
-- aar
https://dl.google.com/dl/android/maven2/com/google/ar/core/1.0.0/core-
1.0.0.aar
-- jar
https://oss.sonatype.org/content/repositories/releases/de/javagl/obj/0.3.0/obj
-0.3.0.jar
14https://github.com/xamarin/XamarinComponents/blob/master/Android/ARCore/build.cake
/ 31
今回の ARCore
15
/ 31
dependencies
16https://developers.google.com/ar/develop/java/quickstart
これらのライブラリを
Xamarin.Android で使えるようにする
/ 31
Android バインド
ライブラリ
17
/ 31
新しいプロジェクトの作成
18
/ 31
Android のライブラリの追加
19
.jar の場合は EmbeddedJar
.aar の場合は LibraryProjectZip
/ 31
自作ライブラリで
お試し
20
/ 31
Java クラス例
21
実行例
/ 31
Tips
• Visual Studio 上で (オブジェクト ブラウザーや他プロジェ
クトから) 居るはずの API が見えない場合
22
ライブラリ プロジェクトを
アンロード > 再読み込み
/ 31
実際に
23
/ 31
Xamarin.Android プロジェクト
24
Java のコードを C# に書き換え
ライブラリを参照して
いないので
クラスが無いエラー
/ 31
ライブラリ プロジェクトを作成
25
エラーでビルド失敗
.aar ライブラリを追加してビルド。。。
/ 31
エラー内容の確認
objDebuggeneratedsrc に .cs ファイルがいるので
直接開くという方法も
※本来どうあるべきかは、Java コードも参考に
26
エラーをダブルクリックで開く、はず
※大抵開かない (体感)
/ 31
生成される C# を調整
• docs.Microsoft.com の 「Java バインド メタデータ - Xamarin」
• objDebugapi.xml
を参考に TransformsMetadata.xml で設定。使わない API なら
remove-node で消すのが早い。使いたい API がエラーだとツライ
27https://docs.microsoft.com/ja-jp/xamarin/android/platform/binding-java-library/customizing-bindings/java-bindings-metadata
/ 31
欲しかったクラスが生まれない
依存するクラスが認識できていないと API が生まれない。
• 別のライブラリも バインド ライブラリを作成する
• NuGet 参照等
ライブラリの追加、 TransformsMetadata.xml の設定を繰
り返し、繰り返し、繰り返し。
28
エラーはいくつもパターンがある
/ 31
繰り返し頑張ると
29
/ 31
まとめ
30
/ 31
まとめ
• ARCore のサンプルも Android バイン
ドライブラリで OK
31
/ 31
ありがとうございました。
32

Weitere ähnliche Inhalte

Ähnlich wie Android バインド ライブラリ

C# Tokyo コミュニティ説明 20200925
C# Tokyo コミュニティ説明 20200925C# Tokyo コミュニティ説明 20200925
C# Tokyo コミュニティ説明 20200925m ishizaki
 
C# Tokyo について 20200729
C# Tokyo について 20200729C# Tokyo について 20200729
C# Tokyo について 20200729m ishizaki
 
Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Shinya Nakajima
 
C# Tokyo 案内 2020/08/26
C# Tokyo 案内 2020/08/26C# Tokyo 案内 2020/08/26
C# Tokyo 案内 2020/08/26m ishizaki
 
Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発m ishizaki
 
MacintoshでSilverlight開発
MacintoshでSilverlight開発MacintoshでSilverlight開発
MacintoshでSilverlight開発Kentaro Inomata
 
C# Tokyo はじめました
C# Tokyo はじめましたC# Tokyo はじめました
C# Tokyo はじめましたm ishizaki
 
Pixel Visual Core device driver source code analysis
Pixel Visual Core device driver source code analysisPixel Visual Core device driver source code analysis
Pixel Visual Core device driver source code analysisMr. Vengineer
 
WPF .NET Core でも XAML デザイナをあきらめない
WPF .NET Core でも XAML デザイナをあきらめないWPF .NET Core でも XAML デザイナをあきらめない
WPF .NET Core でも XAML デザイナをあきらめないm ishizaki
 
Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力Keiji Ariyama
 
C# Tokyo guide 20191024
C# Tokyo guide 20191024C# Tokyo guide 20191024
C# Tokyo guide 20191024m ishizaki
 
C# Tokyo コミュニティ説明 2020/11/27 版
C# Tokyo コミュニティ説明 2020/11/27 版C# Tokyo コミュニティ説明 2020/11/27 版
C# Tokyo コミュニティ説明 2020/11/27 版m ishizaki
 
.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素Akira Inoue
 
Uno Platform 入門
Uno Platform 入門Uno Platform 入門
Uno Platform 入門m ishizaki
 
C# Tokyo コミュニティについて
C# Tokyo コミュニティについてC# Tokyo コミュニティについて
C# Tokyo コミュニティについてm ishizaki
 
20190727_DevelopUseiPaas
20190727_DevelopUseiPaas20190727_DevelopUseiPaas
20190727_DevelopUseiPaasTomoyuki Obi
 
Microsoft Copilot Studio.pdf
Microsoft Copilot Studio.pdfMicrosoft Copilot Studio.pdf
Microsoft Copilot Studio.pdfTomokazu Kizawa
 
Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Atsushi Takayasu
 
C# Tokyo guide 2020/12/25
C# Tokyo guide 2020/12/25C# Tokyo guide 2020/12/25
C# Tokyo guide 2020/12/25m ishizaki
 
Azure のポータル画面で、AI フレーバな BOT の作成ハンズオン
Azure のポータル画面で、AI フレーバな BOT の作成ハンズオンAzure のポータル画面で、AI フレーバな BOT の作成ハンズオン
Azure のポータル画面で、AI フレーバな BOT の作成ハンズオンYasuaki Matsuda
 

Ähnlich wie Android バインド ライブラリ (20)

C# Tokyo コミュニティ説明 20200925
C# Tokyo コミュニティ説明 20200925C# Tokyo コミュニティ説明 20200925
C# Tokyo コミュニティ説明 20200925
 
C# Tokyo について 20200729
C# Tokyo について 20200729C# Tokyo について 20200729
C# Tokyo について 20200729
 
Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)
 
C# Tokyo 案内 2020/08/26
C# Tokyo 案内 2020/08/26C# Tokyo 案内 2020/08/26
C# Tokyo 案内 2020/08/26
 
Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発
 
MacintoshでSilverlight開発
MacintoshでSilverlight開発MacintoshでSilverlight開発
MacintoshでSilverlight開発
 
C# Tokyo はじめました
C# Tokyo はじめましたC# Tokyo はじめました
C# Tokyo はじめました
 
Pixel Visual Core device driver source code analysis
Pixel Visual Core device driver source code analysisPixel Visual Core device driver source code analysis
Pixel Visual Core device driver source code analysis
 
WPF .NET Core でも XAML デザイナをあきらめない
WPF .NET Core でも XAML デザイナをあきらめないWPF .NET Core でも XAML デザイナをあきらめない
WPF .NET Core でも XAML デザイナをあきらめない
 
Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力
 
C# Tokyo guide 20191024
C# Tokyo guide 20191024C# Tokyo guide 20191024
C# Tokyo guide 20191024
 
C# Tokyo コミュニティ説明 2020/11/27 版
C# Tokyo コミュニティ説明 2020/11/27 版C# Tokyo コミュニティ説明 2020/11/27 版
C# Tokyo コミュニティ説明 2020/11/27 版
 
.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素
 
Uno Platform 入門
Uno Platform 入門Uno Platform 入門
Uno Platform 入門
 
C# Tokyo コミュニティについて
C# Tokyo コミュニティについてC# Tokyo コミュニティについて
C# Tokyo コミュニティについて
 
20190727_DevelopUseiPaas
20190727_DevelopUseiPaas20190727_DevelopUseiPaas
20190727_DevelopUseiPaas
 
Microsoft Copilot Studio.pdf
Microsoft Copilot Studio.pdfMicrosoft Copilot Studio.pdf
Microsoft Copilot Studio.pdf
 
Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料
 
C# Tokyo guide 2020/12/25
C# Tokyo guide 2020/12/25C# Tokyo guide 2020/12/25
C# Tokyo guide 2020/12/25
 
Azure のポータル画面で、AI フレーバな BOT の作成ハンズオン
Azure のポータル画面で、AI フレーバな BOT の作成ハンズオンAzure のポータル画面で、AI フレーバな BOT の作成ハンズオン
Azure のポータル画面で、AI フレーバな BOT の作成ハンズオン
 

Mehr von m ishizaki

継承辺りのもしかしたらマイナーかもしれない C#
継承辺りのもしかしたらマイナーかもしれない C#継承辺りのもしかしたらマイナーかもしれない C#
継承辺りのもしかしたらマイナーかもしれない C#m ishizaki
 
継承辺りのもしかしたらマイナーかもしれない C#
継承辺りのもしかしたらマイナーかもしれない C#継承辺りのもしかしたらマイナーかもしれない C#
継承辺りのもしかしたらマイナーかもしれない C#m ishizaki
 
Visual Studio を使わず .NET する
Visual Studio を使わず .NET するVisual Studio を使わず .NET する
Visual Studio を使わず .NET するm ishizaki
 
Xamarin で良くやっていたあれを MAUI でする話
Xamarin で良くやっていたあれを MAUI でする話Xamarin で良くやっていたあれを MAUI でする話
Xamarin で良くやっていたあれを MAUI でする話m ishizaki
 
「スタバ」する話
「スタバ」する話「スタバ」する話
「スタバ」する話m ishizaki
 
エンジニアと「スタバ」ツイートについて
エンジニアと「スタバ」ツイートについてエンジニアと「スタバ」ツイートについて
エンジニアと「スタバ」ツイートについてm ishizaki
 
Build 2022 / Uno Platform
Build 2022 / Uno PlatformBuild 2022 / Uno Platform
Build 2022 / Uno Platformm ishizaki
 
7 つの Blazor
7 つの Blazor7 つの Blazor
7 つの Blazorm ishizaki
 
C# Tokyo コミュニティ説明 202205 版
C# Tokyo コミュニティ説明 202205 版C# Tokyo コミュニティ説明 202205 版
C# Tokyo コミュニティ説明 202205 版m ishizaki
 
仮想環境に MAUI 環境を構築する話
仮想環境に MAUI 環境を構築する話仮想環境に MAUI 環境を構築する話
仮想環境に MAUI 環境を構築する話m ishizaki
 
モバイルディスプレイ
モバイルディスプレイモバイルディスプレイ
モバイルディスプレイm ishizaki
 
Windows フォームアプリ 2022
Windows フォームアプリ 2022Windows フォームアプリ 2022
Windows フォームアプリ 2022m ishizaki
 
C# Tokyo コミュニティについて Short 版
C# Tokyo コミュニティについて Short 版C# Tokyo コミュニティについて Short 版
C# Tokyo コミュニティについて Short 版m ishizaki
 
C# 9 のおすすめ新機能
C# 9 のおすすめ新機能C# 9 のおすすめ新機能
C# 9 のおすすめ新機能m ishizaki
 
秋葉原 C# もくもく会
秋葉原 C# もくもく会秋葉原 C# もくもく会
秋葉原 C# もくもく会m ishizaki
 
C# Tokyo コミュニティ案内 20201217
C# Tokyo コミュニティ案内 20201217C# Tokyo コミュニティ案内 20201217
C# Tokyo コミュニティ案内 20201217m ishizaki
 
「推しが100万部売れて欲しい!」 推し技術書LT大会 発表スライド
「推しが100万部売れて欲しい!」 推し技術書LT大会 発表スライド「推しが100万部売れて欲しい!」 推し技術書LT大会 発表スライド
「推しが100万部売れて欲しい!」 推し技術書LT大会 発表スライドm ishizaki
 

Mehr von m ishizaki (20)

継承辺りのもしかしたらマイナーかもしれない C#
継承辺りのもしかしたらマイナーかもしれない C#継承辺りのもしかしたらマイナーかもしれない C#
継承辺りのもしかしたらマイナーかもしれない C#
 
継承辺りのもしかしたらマイナーかもしれない C#
継承辺りのもしかしたらマイナーかもしれない C#継承辺りのもしかしたらマイナーかもしれない C#
継承辺りのもしかしたらマイナーかもしれない C#
 
Visual Studio を使わず .NET する
Visual Studio を使わず .NET するVisual Studio を使わず .NET する
Visual Studio を使わず .NET する
 
Xamarin で良くやっていたあれを MAUI でする話
Xamarin で良くやっていたあれを MAUI でする話Xamarin で良くやっていたあれを MAUI でする話
Xamarin で良くやっていたあれを MAUI でする話
 
「スタバ」する話
「スタバ」する話「スタバ」する話
「スタバ」する話
 
エンジニアと「スタバ」ツイートについて
エンジニアと「スタバ」ツイートについてエンジニアと「スタバ」ツイートについて
エンジニアと「スタバ」ツイートについて
 
Build 2022 / Uno Platform
Build 2022 / Uno PlatformBuild 2022 / Uno Platform
Build 2022 / Uno Platform
 
7 つの Blazor
7 つの Blazor7 つの Blazor
7 つの Blazor
 
C# Tokyo コミュニティ説明 202205 版
C# Tokyo コミュニティ説明 202205 版C# Tokyo コミュニティ説明 202205 版
C# Tokyo コミュニティ説明 202205 版
 
仮想環境に MAUI 環境を構築する話
仮想環境に MAUI 環境を構築する話仮想環境に MAUI 環境を構築する話
仮想環境に MAUI 環境を構築する話
 
2022 抱負
2022 抱負2022 抱負
2022 抱負
 
モバイルディスプレイ
モバイルディスプレイモバイルディスプレイ
モバイルディスプレイ
 
Windows フォームアプリ 2022
Windows フォームアプリ 2022Windows フォームアプリ 2022
Windows フォームアプリ 2022
 
dotnet tool
dotnet tooldotnet tool
dotnet tool
 
C#10
C#10C#10
C#10
 
C# Tokyo コミュニティについて Short 版
C# Tokyo コミュニティについて Short 版C# Tokyo コミュニティについて Short 版
C# Tokyo コミュニティについて Short 版
 
C# 9 のおすすめ新機能
C# 9 のおすすめ新機能C# 9 のおすすめ新機能
C# 9 のおすすめ新機能
 
秋葉原 C# もくもく会
秋葉原 C# もくもく会秋葉原 C# もくもく会
秋葉原 C# もくもく会
 
C# Tokyo コミュニティ案内 20201217
C# Tokyo コミュニティ案内 20201217C# Tokyo コミュニティ案内 20201217
C# Tokyo コミュニティ案内 20201217
 
「推しが100万部売れて欲しい!」 推し技術書LT大会 発表スライド
「推しが100万部売れて欲しい!」 推し技術書LT大会 発表スライド「推しが100万部売れて欲しい!」 推し技術書LT大会 発表スライド
「推しが100万部売れて欲しい!」 推し技術書LT大会 発表スライド
 

Android バインド ライブラリ