タグ

ブックマーク / qiita.com/amay077 (23)

  • UIAlertController を async/await 対応させて便利に使う - Qiita

    なんか空いてたのでエントリーしましたが、急だったので軽い話です。 iOS アプリでアラート出してボタンが押されるまで待つ?方法を Objective-C と Xamarin.iOS で比べてみた - Qiita の焼き直しみたいなものです。 iOS8 では、UIAlertDialog が非推奨になり、代わりに UIAlertController を使えとのこと。 普通に使うとこうなります。 button1.TouchUpInside += (sender, e) => { var alert = UIAlertController.Create("", "こんぼう をすてますか?", UIAlertControllerStyle.Alert); alert.AddAction(UIAlertAction.Create("はい", UIAlertActionStyle.Default, x=

    UIAlertController を async/await 対応させて便利に使う - Qiita
    kasumani
    kasumani 2014/12/23
    UIAlertController を async/await 対応させて便利に使う  なんか空いてたのでエントリーしましたが、急だったので軽い話です。 Tags: feedly, ifttt, recently read, saved for later from Pocket December 23, 2014 at 08:34AM via IFTTT
  • RxAndroid でスクリーンセーバー的な機能を作る - Qiita

    例えば◯秒間操作がなかったらパスキーロック画面を表示する、とかそういうの。普通に作るとタイマーを使って面倒な感じになっちゃいますが、RxJava と RxAndroid を使うととても簡単にできます。 RxJava + RxAnroid の場合 例えば、画面に EditBox と Button があって、「文字列の入力」と「ボタンが押されたか」を監視、◯秒間操作がなかったら××する、という処理をしたい時、RxJava+RxAndroid では以下のように書けます。 public class MyActivity extends Activity { private static final String TAG = "MyActivity"; private Subscription _subscription; @Override protected void onCreate(Bund

    RxAndroid でスクリーンセーバー的な機能を作る - Qiita
    kasumani
    kasumani 2014/12/09
    RxAndroid でスクリーンセーバー的な機能を作る  例えば◯秒間操作がなかったらパスキーロック画面を表示する、とかそういうの。普通に作るとタイマーを使って面倒な感じになっちゃいますが、RxJava と RxAndroid を使うとと
  • マカーの人が Xamarin について勘違いしていそうな5つのこと - Qiita

    今年も始まりました Xamarin Advent Calendar 2014 。 思えば昨年の Advent Calendar は、5名の方に参加していただいたものの「ほとんど俺」みたいな感じでしたが、今年はたくさん方に登録してもらえてとても嬉しいです。この1年の Xamarin の躍進ぶりを象徴していると思います。 そんな Xamarin ですが、Microsoft とのパートナーシップが強力なおかげで、Windows系の開発者には広く知られて(そういう戦略なのは分かります)いますが、普段 Mac で iOS/Android アプリを開発してますみたいな人にはあまりリーチできていないかなあと思います。 そこで初日の今日は、マカーの人が、勘違い・思い込んでいそうなことをいくつか払拭してみたいと思います。 Q1. Xamarin を使うには、Visual Studio が必要なんでしょ? A

    マカーの人が Xamarin について勘違いしていそうな5つのこと - Qiita
    kasumani
    kasumani 2014/12/01
    マカーの人が Xamarin について勘違いしていそうな5つのこと  今年も始まりました Xamarin Advent Calendar 2014 。  思えば昨年の Advent Calendar は、5名の方に参加していただいたものの「ほとんど俺」みたいな感じでしたが、今年
  • Xamarin.Forms と ReactiveProperty で快適MVVM生活 - Qiita

    Xamarin.Forms は、Xamarin に新たに搭載されたクロスプラットフォームUIフレームワーク&MVVMフレームワークです。 ReactiveProperty は、MVVMの(特に ViewModelの)実装を強力にサポートしてくれる、Reactive Extensions を基盤としたライブラリです。 両者を組み合わせると、Android/iOSアプリが COOL な感じで書けるんじゃないか、という事で試してみました。 0. 環境など Mac + Xamarin Studio を使いますが、Windows + Visual Studio + Xamarin-Addin でもイケると思います。 1. 導入 プロジェクトの作成 新規ソリューションを、[C#]−[Mobile Apps]−[Blank App(Xamarin.Forms Portable)]で作成します。 PCL

    Xamarin.Forms と ReactiveProperty で快適MVVM生活 - Qiita
    kasumani
    kasumani 2014/09/11
    Xamarin.Forms と ReactiveProperty で快適MVVM生活  Xamarin. Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket September 11, 2014 at 12:00PM via IFTTT
  • Xamarin.Android が使用する debug.keystore の在処 - Qiita

    Google Maps などを使用する時、開発中ならば debug.keystore のフィンガープリント(SHA1)を取得する必要がありますが、 debug.keystore がどこにあるのか分からなくてハマった。 結論 から書いておくと Obtaining a Google Maps API Key | Xamarin に書いてある通りで、 Windows - C:¥Users¥[USERNAME]¥AppData¥Local¥Xamarin¥Mono for Android¥debug.keystore OSX - /Users/[USERNAME]/.local/share/Xamarin/Mono for Android/debug.keystore がそれぞれ使われる。 なぜハマったか? Eclipse と同じだと思ってた Java での Android 開発時に設定したディレ

    Xamarin.Android が使用する debug.keystore の在処 - Qiita
    kasumani
    kasumani 2014/08/30
    Xamarin.Android が使用する debug.keystore の在処 Google Maps などを使用する時、開発中ならば debug.keystore のフィンガープリント(SHA1)を取得する必要がありますが、 debug.keystore がどこにあるのか分からなくてハマった。 Tags: ifttt, kasum
  • Longitude の略し方。lng 派と lon 派の終わらない争い - Qiita

    地図上での位置は「緯度経度」で表します。英語だと「latitude, longitude」ですね。 これらの単語、コーディングする際は短縮したいわけです。latitude は lat で全会一致です。問題は longitude 。 業界?の中では、longitude の略し方についての議論が度々沸き起こります。 例えば、、、 初めは、タイトルの議論で推移していましたが、次第に略し方の議論に。。。 latitudeとlongitude,どっちが緯度でどっちが経度? - Togetter lon 派の方の意見。 そういえば緯度経度のうち経度(longitude)をlong, lon, lngなどと書く場合があるんだけど、longは長整数型のために予約語になってる場合があるのと、lngだと「イング」と読めてしまうからという理由でlonにしてる。 — Masaki Ohashi (@ohashim

    Longitude の略し方。lng 派と lon 派の終わらない争い - Qiita
    kasumani
    kasumani 2014/08/30
    Longitude の略し方。lng 派と lon 派の終わらない争い 地図上での位置は「緯度経度」で表します。英語だと「latitude, longitude」ですね。 これらの単語、コーディングする際は短縮したいわけです。latitude は lat で全会一致です。
  • ランダムで且つ重複しない数値リストを作る - Qiita

    F# 入門中です。 フラッシュ暗算ぽいアプリを作っていて、次々と表示する数値は、 ランダムで 一度使った数値は二度と使わなくて 0も使わない というルールにしています(公式ルールは知らない) makeRandomList の引数 rand は System.Random のインスタンス、count は生成するリストの要素数、arr は生成した数値群(=再帰処理で値の既出判定に使う)としています。 rand.Next(10) で得た値が、0 もしくは arr に存在する場合は、もう一度同じパラメータで再帰呼び出し、そうでない場合は count を減算しつつ、arr に値を連結して再帰呼び出しします。count が 0 になったら arr を返して終わります。 let rec makeRandomList = fun (rand:Random, count:int, arr:List<int>

    ランダムで且つ重複しない数値リストを作る - Qiita
    kasumani
    kasumani 2014/07/09
    ランダムで且つ重複しない数値リストを作る フラッシュ暗算ぽいアプリを作っていて、次々と表示する数値は、 というルールにしています(公式ルールは知らない) Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket July 0
  • Xamarin.Forms、Android での BACK キーの制御 - Qiita

    Xamarin.Forms でどうにかしたい iOS と Android の違い の「BACKキーの制御」の 現時点(1.1.0.6201) での回答。 Android の BACKキーの制御を、Xamarin.Forms ではどう扱えるかを調べた。 シナリオ Xamarin.Forms による画面1(MainPage)、2(SecondPage)があり、MainPage では BACKキーで戻る(=アプリ終了)事ができるが、SecondPage ではBACKキーが効かない、ようにしたい。 対策 まず画面1と2はこんな感じ。ボタンを押したら画面2へ遷移するだけ。 // 画面1 public class MainPage : ContentPage { public MainPage() { var button = new Button { Text = "To Second", Vert

    Xamarin.Forms、Android での BACK キーの制御 - Qiita
    kasumani
    kasumani 2014/06/17
    Xamarin.Forms、Android での BACK キーの制御 ここからが本題。 まず Android側のエントリポイントである MainActivity.cs は以下のように、ContentPage プロパティを設ける。そして OnBackPressed メソッドを override して、MainPage だったら OnBackP
  • Swift で @autoreleasepool どうやるの? - Qiita

    for i in 1...10000 { autoreleasepool { // do heavy work } } iOS - ARC のメモリ解放タイミングを調べた は Swift でも有効なようで。 http://swift-lang.org/tryswift/ で試してみたら "unexpected token: autoreleasepool" で怒られた。。。Xcode6 を入れないと動かせないんですかね。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with sig

    Swift で @autoreleasepool どうやるの? - Qiita
    kasumani
    kasumani 2014/06/17
    Swift で @autoreleasepool どうやるの? iOS - ARC のメモリ解放タイミングを調べた は Swift でも有効なようで。 Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket June 17, 2014 at 07:34PM via IFTTT
  • Xamarin に Reactive Extensions を導入する - Qiita

    昨日の ポスト を使ったのに、肝心の導入部分を説明するのを忘れていました。まあ Components から追加するだけなのですが。他のアドベントカレンダーとの掛け持ちで疲れたので、今日は軽く書いて済ませます。 Components で右クリック → Get more components → Reactive とかで検索 → 見つけたら Add to App で OK です。あ、この手順は .iOS でも .Android でも同じです。 使ってみましょうか イベントを Stream に変換する例を示してお茶を濁します。 まずこんな感じのどうでもいい画面を用意しまして、 UIButton.TouchUpInside を IObservable に変換する拡張メソッドを用意します。 public static class UIButtonExtensions { public static

    Xamarin に Reactive Extensions を導入する - Qiita
    kasumani
    kasumani 2014/05/14
    Xamarin に Reactive Extensions を導入する 昨日の ポスト を使ったのに、肝心の導入部分を説明するのを忘れていました。まあ Components から追加するだけなのですが。他のアドベントカレンダーとの掛け持ちで疲れたので、今日は
  • Intent に Enum を詰めて、取り出す - Qiita

    MyTypes t = (MyTypes)intent.getSerializableExtra("hoge"); 取り出すのは getSerializableExtra であることに注意。 なんか int に変換されそうじゃん、と思って getIntExtra を使うと取り出せない。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    Intent に Enum を詰めて、取り出す - Qiita
    kasumani
    kasumani 2014/04/24
    Intent に Enum を詰めて、取り出す なんか int に変換されそうじゃん、と思って getIntExtra を使うと取り出せない。 Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket April 23, 2014 at 08:20PM via IFTTT
  • ARC のメモリ解放タイミングを調べた - Qiita

    一つの関数内で容量の大きなファイルを読み込み加工する処理を連続して行っていたらメモリが足りなくなった。 ARC ではスコープを外れ(て参照カウンタがゼロになっ)たオブジェクトは、すぐに破棄されると思っていたのでしばらくハマった。 問題のソース(ARC使用) ローカルでもWebでも何でもいいけど、ファイルから無視できない程度の容量のデータの読み込みを繰り返す処理。 - (IBAction)buttonDownWithArc:(id)sender { NSString* path = @".../bigdata.img"; for (int i = 0; i < 10000; i++) { NSData* data = [NSData dataWithContentsOfFile:path]; [NSThread sleepForTimeInterval:0.5]; data = nil; }

    ARC のメモリ解放タイミングを調べた - Qiita
    kasumani
    kasumani 2014/04/15
    ARC のメモリ解放タイミングを調べた ARC ではスコープを外れ(て参照カウンタがゼロになっ)たオブジェクトは、すぐに破棄されると思っていたのでしばらくハマった。 Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket April
  • Xamarin.iOS の AOT に気をつけろ!Rx の FromEventPattern を使うときの注意点 - Qiita

    Xamarin.iOS の AOT に気をつけろ!Rx の FromEventPattern を使うときの注意点C#iOSReactiveExtensionsXamarin Reactive Extensions の FromEventPattern を使うと、イベントを IObservable に変換できて、複数のイベントに時系列な関係を与えたり、他のストリーム処理とシームレスに扱えたりします。 イベント・プログラミングとRx - @IT Xamarin .iOS でも .Android でもこの機能を使うことができて大変便利ですが、Xamarin.iOS の場合 AOT による制限に気をつける必要があります。 以下は、なんの変哲もない、「ボタンを押したらタイトルを ”Clicked!” に変える」コードです。

    Xamarin.iOS の AOT に気をつけろ!Rx の FromEventPattern を使うときの注意点 - Qiita
    kasumani
    kasumani 2014/04/04
    Xamarin.iOS で FromEventPattern を使うときの注意点 Reactive Extensions の FromEventPattern を使うと、イベントを IObservable に変換できて、複数のイベントに時系列な関係を与えたり、他のストリーム処理とシームレスに扱えたりします。 X
  • LINQ to Objects と Java8-Stream API の対応表

    Java8 で filter や map が使えるようになったー! というわけで .NET の LINQ to Objects との対応表を作ってみました。 2018.2.7 - Kotlin も追記しました! LINQ - Enumerable クラス (System.Linq) Java8 - Stream (Java Platform SE 8 ) Kotlin - kotlin.collections, kotlin.sequences らへん の比較です。 kotlin.collections は遅延ではないので注意です。 Java の方は Collectors (Java Platform SE 8 ) も使います。 まだ試したものは少ないので間違ってるかもしれない & カテゴライズが適当 なので、編集リクエストしてもらえるとありがたいです。 機能 LINQ Java8 Kot

    LINQ to Objects と Java8-Stream API の対応表
    kasumani
    kasumani 2014/03/20
    LINQ と Java8-Stream API の対応表 Java8 で filter や map が使えるようになったー! というわけで LINQ との対応表を作ってみました。 Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket March 20, 2014 at 11:35AM via IFTTT
  • Activity がメモリリークしにくくなってる件 - Qiita

    2009年の情報なんですけどね。 Avoiding memory leaks | Android Developers Blog Avoiding memory leaks (超訳) - Android Zaurusの日記 暇なメモ帳: Androidのソースコードレビュー(メモリリーク) Android でメモリリークする典型的なパターンとして上で紹介されているものがあって、日頃はこうならないように気をつけて実装をしているわけです。 また、メモリリークの調査方法もたくさん情報があります。 Androidでメモリリークの調査と、そのヒープダンプから画像を抽出する » RainbowDevilsLand 富豪的 Android プログラマの為の Eclipse Memory Analyzer Tool 入門 - sandbox 日頃、Xamarin.Android を触っているので、「Xam

    Activity がメモリリークしにくくなってる件 - Qiita
    kasumani
    kasumani 2014/03/20
    Activity がメモリリークしにくくなってる件 Android でメモリリークする典型的なパターンとして上で紹介されているものがあって、日頃はこうならないように気をつけて実装をしているわけです。 日頃、Xamarin. Tags: ifttt, kasuman
  • Xamarin によるクロスプラットフォームモバイルアプリ開発、資料と補足 - Qiita

    45分という長い時間話すのは勉強会では初めてだったのですが、なんとか説明し切ることができました。(ちょっとデモが中途半端になってしまいましたが) 資料は Qiita に書いてきた 内容のまとめみたいなものですが、少し補足します。 Xamarin で作った経験あるの? 仕事では、まだ無いです(^_^;) 個人アプリでは「富士フォト」というのを iOS 用は Xamarin.iOS で作りました。AndroidJava ですが Xamarin 化したいな。 Win+Visual Studio ではダメなの? 個人の見解ですから(^_^;) 私も元々は Windowsの開発がメインで Visual Studio の強力さは知っていますが、iOS やるならどういう形にせよ Mac+Xcode を扱わないといけないので、慣れておいた方がよいかなと。 また、Microsoft との提携以降、Mi

    Xamarin によるクロスプラットフォームモバイルアプリ開発、資料と補足 - Qiita
    kasumani
    kasumani 2014/03/01
    Xamarin によるクロスプラットフォームモバイルアプリ開発、資料と補足 45分という長い時間話すのは勉強会では初めてだったのですが、なんとか説明し切ることができました。(ちょっとデモが中途半端になってしまいまし
  • MVVMフレームワーク「ReactiveUI」を Xamarin.iOS で使ってみる - Qiita

    ReactiveUI は、Reactive Extensions を全面的に取り入れた クロスプラットフォームな MVVMフレームワークです。 ReactiveUI 作者は GitHub の中の人 Paul Betts 氏、Xamarin の MVP でもあります。 元々は WPF, Silverlight, WinRT, Windows Phone に対応していましたが、Xamarin.iOS や Xamarin.Android, Xamarin.Mac にも 対応が進んで来た ので、使ってみる事にしました。 Visual Studio + WPF 等なら、nuget から取得できて楽なんでしょうけども、なにせ Mac なので、Xamarin Studio のみでいきます。 とりあえず使ってみる Github が公開した GitHub's Xamarin starter apps, これ

    MVVMフレームワーク「ReactiveUI」を Xamarin.iOS で使ってみる - Qiita
    kasumani
    kasumani 2014/02/20
    MVVMフレームワーク「ReactiveUI」を Xamarin.iOS で使ってみる ReactiveUI は、Reactive Extensions を全面的に取り入れた クロスプラットフォームな MVVMフレームワークです。 元々は WPF, Silverlight, WinRT, Windows Phone に対応していましたが、Xa
  • MvvmCross だけじゃない!クロスプラットフォームMVVMフレームワーク「QuickCross」を試す - Qiita

    MvvmCross だけじゃない!クロスプラットフォームMVVMフレームワーク「QuickCross」を試すAndroidC#iOSXamarin 以前、MvvmCross を紹介しました が、Xamarin で使える同種のフレームワークはまだいくつかあります。 今回は、その中の一つ、「QuickCross」を見てみます MacawNL/QuickCross なぜ他のMVVMフレームワークが必要なのか? Why another cross-platform Mvvm framework? にて、MvvmCross があるのになぜ?という事を説明しています。 要約すると、MvvmCross は、高機能だが Fat で複雑で、拡張が大変であるのに対し、QuickCross は、軽量で生産性が高く、拡張が簡単である、との事です。 主な機能 Features より。 Xamarin.iOS, Xa

    MvvmCross だけじゃない!クロスプラットフォームMVVMフレームワーク「QuickCross」を試す - Qiita
    kasumani
    kasumani 2014/02/12
    MvvmCross だけじゃない!クロスプラットフォームMVVMフレームワーク「QuickCross」を試す Why another cross-platform Mvvm framework? にて、MvvmCross があるのになぜ?という事を説明しています。 Tags: feedly, ifttt, recently read, saved for later from Po
  • iOS と Android で画面表示時のコールバックを比較する - Qiita

    onCreate は生成前?後? iOS というか CocoaTouch の命名文化って、will とか did とか、時系列が明確に分かるものが多いので良いですね。 それに比べて Android は…。 onCreate は前?後? onPostCreate があるので「前」ですね。 UIパーツのサイズはいつ決まるのか? iOS の方は 9. viewDidLayoutSubviews の時です。 冒頭で紹介したエントリにも以下のように書かれています。 self.view の subviews.frame の調整、すなわちレイアウト処理は全てここで記述するべきです。 Android の方は問題です。 Button などの生成は onCreate で行うのが一般的ですが、この時点では、まだレイアウトされていません。なので大抵の場合 button1.Height = 0 です。 では、いつの

    iOS と Android で画面表示時のコールバックを比較する - Qiita
    kasumani
    kasumani 2014/02/01
    iOS と Android で画面表示時のコールバックを比較する モバイル開発における画面のライフサイクル、重要ですね。 iOS と Android で「ざっくりとは同じでしょ?」などと思っていましたが、調べてみたら結構違ってました。 Tags
  • Objective-C と Java と C# でクロージャ的な書き方の比較 - Qiita

    int x = 1; __block int y = 2; dispatch_queue_t q_global = dispatch_get_global_queue(0, 0); dispatch_async(q_global, ^{ x = 10; // できない(コンパイルエラー y = 20; // できる int z = x + y; [self dispValue:z]; // self の参照カウンタが+1される }); 普通に宣言した変数を Block の中で使うと、自動的に「キャプチャ」され、変数が複製される。この変数には、 Block 内では代入できずコンパイルエラーとなる。 __block を付けた変数は、Block 内外で同じ実体を参照でき、代入もできる。 self やプロパティを Block 内で使用すると参照カウンタがインクリメントされ、明示的に release

    Objective-C と Java と C# でクロージャ的な書き方の比較 - Qiita
    kasumani
    kasumani 2014/01/30
    Objective-C と Java と C# でクロージャ的な書き方の比較 クロージャとかラムダとか匿名** とか名前はいろいろですけど、各言語の書き方と動き(特に変数の扱い)について比べてみました。 Tags: feedly, ifttt, recently read, saved for la