Suche senden
Hochladen
ネットワークの切り替えを感知する方法
•
Als PPTX, PDF herunterladen
•
2 gefällt mir
•
5,183 views
K
Keisuke Yamaguchi
Folgen
potatotips #27 発表資料。
Weniger lesen
Mehr lesen
Mobil
Melden
Teilen
Melden
Teilen
1 von 13
Jetzt herunterladen
Empfohlen
ユースケースの善し悪し
ユースケースの善し悪し
akipii Oga
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
LINE Corporation
CloudFormation/SAMのススメ
CloudFormation/SAMのススメ
Eiji KOMINAMI
[AKIBA.AWS] NLBとPrivateLinkの仕様に立ち向かう
[AKIBA.AWS] NLBとPrivateLinkの仕様に立ち向かう
Shuji Kikuchi
とある診断員とSQLインジェクション
とある診断員とSQLインジェクション
zaki4649
ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기
Yungon Park
Implementing SSH in Java
Implementing SSH in Java
Atsuhiko Yamanaka
Logをs3とredshiftに格納する仕組み
Logをs3とredshiftに格納する仕組み
Ken Morishita
Empfohlen
ユースケースの善し悪し
ユースケースの善し悪し
akipii Oga
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
LINE Corporation
CloudFormation/SAMのススメ
CloudFormation/SAMのススメ
Eiji KOMINAMI
[AKIBA.AWS] NLBとPrivateLinkの仕様に立ち向かう
[AKIBA.AWS] NLBとPrivateLinkの仕様に立ち向かう
Shuji Kikuchi
とある診断員とSQLインジェクション
とある診断員とSQLインジェクション
zaki4649
ECS+Locust로 부하 테스트 진행하기
ECS+Locust로 부하 테스트 진행하기
Yungon Park
Implementing SSH in Java
Implementing SSH in Java
Atsuhiko Yamanaka
Logをs3とredshiftに格納する仕組み
Logをs3とredshiftに格納する仕組み
Ken Morishita
浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターン
Amazon Web Services Japan
Spring bootでweb 基本編
Spring bootでweb 基本編
なべ
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
Amazon Web Services Japan
XSS再入門
XSS再入門
Hiroshi Tokumaru
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
Junya Suzuki
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達
zaki4649
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
Hiroshi Tokumaru
JMeter によるパフォーマンステスト指南
JMeter によるパフォーマンステスト指南
じゅん なかざ
ウェブアプリケーションセキュリティ超入門
ウェブアプリケーションセキュリティ超入門
Hiroshi Tokumaru
最近のやられアプリを試してみた
最近のやられアプリを試してみた
zaki4649
VMware Cloud on AWSネットワーク詳細解説
VMware Cloud on AWSネットワーク詳細解説
Noritaka Kuroiwa
長期運用タイトルの GCP 移行実例とグレンジのこれから | Google Cloud INSIDE Games & Apps
長期運用タイトルの GCP 移行実例とグレンジのこれから | Google Cloud INSIDE Games & Apps
Google Cloud Platform - Japan
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
Rest API Security
Rest API Security
Stormpath
Developers.IO 2019 ハイブリッド/マルチVPC環境を構成するためのAWSネットワーク完全理解
Developers.IO 2019 ハイブリッド/マルチVPC環境を構成するためのAWSネットワーク完全理解
Shuji Kikuchi
Lambda layerをDeployする方法を調べる
Lambda layerをDeployする方法を調べる
shotaueda3
Amazon SNS+SQSによる Fanoutシナリオの話
Amazon SNS+SQSによる Fanoutシナリオの話
Yoichi Toyota
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
Amazon Web Services Japan
Android App Development with Gradle & Android Studio
Android App Development with Gradle & Android Studio
Soichiro Kashima
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Akira Nagata
Weitere ähnliche Inhalte
Was ist angesagt?
浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターン
Amazon Web Services Japan
Spring bootでweb 基本編
Spring bootでweb 基本編
なべ
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
Amazon Web Services Japan
XSS再入門
XSS再入門
Hiroshi Tokumaru
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
Junya Suzuki
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達
zaki4649
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
Hiroshi Tokumaru
JMeter によるパフォーマンステスト指南
JMeter によるパフォーマンステスト指南
じゅん なかざ
ウェブアプリケーションセキュリティ超入門
ウェブアプリケーションセキュリティ超入門
Hiroshi Tokumaru
最近のやられアプリを試してみた
最近のやられアプリを試してみた
zaki4649
VMware Cloud on AWSネットワーク詳細解説
VMware Cloud on AWSネットワーク詳細解説
Noritaka Kuroiwa
長期運用タイトルの GCP 移行実例とグレンジのこれから | Google Cloud INSIDE Games & Apps
長期運用タイトルの GCP 移行実例とグレンジのこれから | Google Cloud INSIDE Games & Apps
Google Cloud Platform - Japan
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
Rest API Security
Rest API Security
Stormpath
Developers.IO 2019 ハイブリッド/マルチVPC環境を構成するためのAWSネットワーク完全理解
Developers.IO 2019 ハイブリッド/マルチVPC環境を構成するためのAWSネットワーク完全理解
Shuji Kikuchi
Lambda layerをDeployする方法を調べる
Lambda layerをDeployする方法を調べる
shotaueda3
Amazon SNS+SQSによる Fanoutシナリオの話
Amazon SNS+SQSによる Fanoutシナリオの話
Yoichi Toyota
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
Amazon Web Services Japan
Was ist angesagt?
(20)
浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターン
Spring bootでweb 基本編
Spring bootでweb 基本編
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
XSS再入門
XSS再入門
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達
ウェブセキュリティのありがちな誤解を解説する
ウェブセキュリティのありがちな誤解を解説する
JMeter によるパフォーマンステスト指南
JMeter によるパフォーマンステスト指南
ウェブアプリケーションセキュリティ超入門
ウェブアプリケーションセキュリティ超入門
最近のやられアプリを試してみた
最近のやられアプリを試してみた
VMware Cloud on AWSネットワーク詳細解説
VMware Cloud on AWSネットワーク詳細解説
長期運用タイトルの GCP 移行実例とグレンジのこれから | Google Cloud INSIDE Games & Apps
長期運用タイトルの GCP 移行実例とグレンジのこれから | Google Cloud INSIDE Games & Apps
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Rest API Security
Rest API Security
Developers.IO 2019 ハイブリッド/マルチVPC環境を構成するためのAWSネットワーク完全理解
Developers.IO 2019 ハイブリッド/マルチVPC環境を構成するためのAWSネットワーク完全理解
Lambda layerをDeployする方法を調べる
Lambda layerをDeployする方法を調べる
Amazon SNS+SQSによる Fanoutシナリオの話
Amazon SNS+SQSによる Fanoutシナリオの話
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
Ähnlich wie ネットワークの切り替えを感知する方法
Android App Development with Gradle & Android Studio
Android App Development with Gradle & Android Studio
Soichiro Kashima
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Akira Nagata
Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2
Amazon Web Services Japan
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
Developers Summit
SORACOM Conference "Discovery" 2018 | F3. SORACOMで実現する “Intranet” Of Things バ...
SORACOM Conference "Discovery" 2018 | F3. SORACOMで実現する “Intranet” Of Things バ...
SORACOM,INC
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
Takashi Okawa
cndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmalt
capsmalt
マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介
Sunao Tomita
Bluemixの概要とアプリの作り方
Bluemixの概要とアプリの作り方
BMXUG
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Manabu Shimobe
devsami kansai 2012 #c2
devsami kansai 2012 #c2
Yushi_Takagi
Webエンジニアによるスマートフォンアプリ開発
Webエンジニアによるスマートフォンアプリ開発
takeuchi-tk
20140404 vyatta users Group / REST API解説
20140404 vyatta users Group / REST API解説
Yukihiro Kikuchi
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
Issei Hiraoka
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
Etsuji Nakai
20170705 apiをつくろう
20170705 apiをつくろう
CData Software Japan
React NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみよう
dcubeio
2022_1210_WordpressMeetup.pdf
2022_1210_WordpressMeetup.pdf
Naotaka Saito
Introduction to NetOpsCoding
Introduction to NetOpsCoding
Taiji Tsuchiya
Ähnlich wie ネットワークの切り替えを感知する方法
(20)
Android App Development with Gradle & Android Studio
Android App Development with Gradle & Android Studio
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
SORACOM Conference "Discovery" 2018 | F3. SORACOMで実現する “Intranet” Of Things バ...
SORACOM Conference "Discovery" 2018 | F3. SORACOMで実現する “Intranet” Of Things バ...
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
cndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmalt
マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介
Bluemixの概要とアプリの作り方
Bluemixの概要とアプリの作り方
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
devsami kansai 2012 #c2
devsami kansai 2012 #c2
Webエンジニアによるスマートフォンアプリ開発
Webエンジニアによるスマートフォンアプリ開発
20140404 vyatta users Group / REST API解説
20140404 vyatta users Group / REST API解説
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
20170705 apiをつくろう
20170705 apiをつくろう
React NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみよう
2022_1210_WordpressMeetup.pdf
2022_1210_WordpressMeetup.pdf
Introduction to NetOpsCoding
Introduction to NetOpsCoding
ネットワークの切り替えを感知する方法
1.
ネットワークの切り替えを 感知する方法 potatotips #27 (Android) ヤマグチケイスケ
2.
自己紹介 • 名前:ヤマグチケイスケ • Github:
ykeisuke • Qiita: YKEI_mrn • MAIL: yamagutikeisuke@gmail.com • 職業:フリーランス – 出向中:(株)アスクリード – 出来る事 • サーバー立てる。 • サーバー側でWebAPI書く。 • WebAPIを使ったAndroidアプリ書く • LPつくる • CakePHP/Android/iOS • Illustratorもできる。
3.
条件 • Android5.0以上
4.
目的 • Androidが使っているネットワークの切り替え を感知することが目的。 • 例えば、WiFi通信からCellular通信に変わった 時とか。
5.
実装(概要) • Android5.0(APIレベル21)から実装されている、 NetworkRequest.Builderクラスを利用する。 – reference: https://developer.android.com/intl/ja/reference/a ndroid/net/NetworkRequest.Builder.html
6.
実装(詳細):1 this.cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkRequest.Builder
reqBuilder = new NetworkRequest.Builder(); • ConnectivityManagerを作成し、 NetworkRequest.Builderを用意する。
7.
実装(詳細):2 this.cm.registerNetworkCallback(reqBuilder.build(), new ConnectivityManager.NetworkCallback() { private
String TAG = “CM”; @Override public void onCapabilitiesChanged(Network network, NetworkCapabilities networkCapabilities) { Log.d(TAG, “onCapabilities networkCapabilities : ” + networkCapabilities.toString() + “, network : ” + network.toString()); } // (略) • イベント通知を受け取る
8.
簡単
9.
TIPS1 『関係のあるイベントのみ感知したい。』 例えば、WANに繋がるCellular通信の場合のみとか NetworkRequest.Builder reqBuilder =
new NetworkRequest.Builder(); reqBuilder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED); reqBuilder.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); • 「new NetworkRequest.Builder」に、「addCapability」と、 「addTransportType」で追加すればよい。
10.
TIPS2 『「addCapability」と「addTransportType」で何が 追加できるのか?』 • 「NetworkCapabilities」で追加できるものは全 部追加できる。 – https://developer.android.com/intl/ja/reference/andr oid/net/NetworkCapabilities.html •
例えば、「Cellular通信のみ」や「WiFi通信のみ」 「VPNではない時」など
11.
TIPS3(1) 『どのようなイベントで処理を発火できるか』 • 「ConnectivityManager.NetworkCallback」クラ ス(API21〜)で定義されている メソッドを使え る •
この点がAPI21から新たに増えてる(?) – 調べ切れていない。
12.
TIPS3(2) • onAvailable – 準備が出来たとき •
onCapabilitiesChanged – 接続完了し、ネットワークが変わったあと • onLinkPropertiesChanged – LinkPropertiesが変わったあと • onLosing – 接続を失ったとき(失ってる時!) • onLost – 接続を失ったとき(完全に、接続が切れたとき!) • (onLosingとonLostの違いは瞬断対策のようです)
Hinweis der Redaktion
自己紹介、 ・アスクリードではWEBを中心に、色々やらせてもらってます。 ・地方創生を掲げている会社です。 ・水谷さんが作ったGoライブラリをサンプルでiOS側で使ったりしました。 →HTTPリクエストをしないやつですが。
クライアントからの良い、要望をいただき、Android5(APIレベル21以上!)にしてもらいました!!!
Jetzt herunterladen