質問するログイン新規登録

質問編集履歴

1

呼び出しているところのソースを追加

2017/07/19 05:00

投稿

otaota
otaota

スコア30

title CHANGED
File without changes
body CHANGED
@@ -84,4 +84,84 @@
84
84
  ###補足情報(言語/FW/ツール等のバージョンなど)
85
85
  Xamarin 6.3(build 864)
86
86
  Mac Note Pro
87
- OS X Yosemite(10.10.5)
87
+ OS X Yosemite(10.10.5)
88
+
89
+ ###追記
90
+
91
+ 実際に呼び出しているところのコードも貼り付けておきます。
92
+
93
+ XXXPage.cs
94
+ ```
95
+ namespace XaXXXXX
96
+ {
97
+ public class XXXPage : ContentPage
98
+ {
99
+ public XXXPage()
100
+ {
101
+ Content = new StackLayout
102
+ {
103
+
104
+ Children = {
105
+ // 省略
106
+ }
107
+ };
108
+
109
+ Appearing += (sender, e) =>
110
+ {
111
+ XXXInit();//呼び出し元
112
+ };
113
+
114
+ this.Disappearing += (sender, e) =>
115
+ {
116
+ XXXTerm();
117
+ };
118
+ }
119
+
120
+ void XXXInit()
121
+ {
122
+ DependencyService.Get<IMisc>().XXXInit();
123
+ }
124
+
125
+ void XXXTerm()
126
+ {
127
+ DependencyService.Get<IMisc>().XXXTerm();
128
+ }
129
+ }
130
+ }
131
+ ```
132
+ iMisc.cs
133
+ ```
134
+ using System;
135
+ namespace XaXXXXX
136
+ {
137
+ public interface IMisc
138
+ {
139
+ void XXXInit();
140
+ void XXXTerm();
141
+ }
142
+ }
143
+ ```
144
+ Droid/Misc.cs
145
+ ```
146
+ [assembly: Xamarin.Forms.Dependency(typeof(Misc))]
147
+ namespace XaXXXXX.Droid
148
+ {
149
+ public class Misc : IMisc
150
+ {
151
+ [DllImport("XXX")]
152
+ public static extern void XXXinitialize();
153
+ [DllImport("XXX")]
154
+ public static extern int XXXterminate();
155
+
156
+ public void XXXInit()
157
+ {
158
+ XXXinitialize(device, ver, false); // libsd_xxx.so内の関数
159
+ }
160
+
161
+ public void XXXTerm()
162
+ {
163
+ XXXterminate();
164
+ }
165
+ }
166
+ }
167
+ ```