マル開発日記

マルAndroidデベロッパ

FileProviderでファイルパス(data)を公開する

AndroidではURIスキームがcontentの場合、dataというカラムにファイルパスを置いておくのが通例のようです。しかしFileProviderはデフォルトでdataカラムを返してくれません。 FileProviderを継承してdataを返してくれるようなカスタムクラスを作成すれば、f…

来年は平和だといいなぁ

去年はマシュマロでランタイムパーミッションの対応が面倒だった。今年はヌガーでマルチウィンドウとファイル共有でハマった。 今年は特に新しいアプリのアイデアはなく、だらだらと更新作業ばかりしてました。個人がAndroidのアップデートにも対応していこ…

カメラアプリに写真の保存先を指定して起動する

NougatでNougat端末では Uri.fromFile が事実上使えなくなってしまいました(泣)。ターゲットを上げなきゃいいんですけど。。そこで新たに FileProvider.getUriForFile を使うことになります。これは自作アプリの場合、面倒くさいけどちょいちょいってコー…

FileProviderからファイルパスを得ることはできん

多分、だろ〜な。 FileProviderはファイルパスを隠蔽しないと、パーミッションなんていくらでも変えられちゃうし、FileProviderそのもの存在意義が無くなってしまう(笑) FileProvider自体はアプリが個別に共有ファイルのパーミッションを設定できるので便…

Nougatでカードメモ落ちますでした

カードメモというアプリを作っていますが、Nougat端末でファイルリンクを開こうとすると華麗に落ちますw これはNougatの仕様変更で、いままでの方法ではファイルオープンできなくなってしまったからです。ググって解決方法はわかったけどさー、面倒くさい!…

ノイズキャンセラ

最近のぐっと来る内容。Androidの内蔵センサー使うとノイズかなんか知らんけど急に値が振れたりして困ることある。どうやってこいつを取り除こうかって思っても、ノイズキャンセラとか難しそうだからおっくうになってました。でも簡単で有名?な方法あった。…

ABC秋

ABC秋が11月に開催されるようです。 http://abc.android-group.jp/2016a/ 春は仕事でいけなかったー、今回は行けるかな 学生気分で気軽にいきましよー!

今年は(も?)いろいろありました

こんにちわ、そろそろ今年も終わりに近づいて参りましたね。。 今年はいろいろありました。個人的にびっくりした事はSMAPの解散でしょうか。いままで20年近くジャニーズと言えばSMAPだったのに、終わるときはこうもあっさりと決まってしまうもんなんですね?…

疲れたニョン

疲れました。季節の変わり目は気温が安定しないからかなー、いつもしんどいです? プログラマ定年35歳説とか言われてますけど、それはまぁ業務プログラマの話かな。自分みたいにマイペースな趣味プログラマはだらだら楽しんでやってるので、そんなに体を酷使…

4連休

金曜日がお休みな人は4連休でした。有意義な休みを過ごせましたでしょうか。天気は相変わらず悪く、行楽日和とは言えませんでしたね? 自分は折角なのでC++の勉強でもしようかと以下を始めました。ポインタ周りはアスタリスクの使用の統一性がイマイチですぐ…

やばいアプリ

こんにちは、今日はAndroid開発で役立つ?アプリの紹介です。https://play.google.com/store/apps/details?id=com.njlabs.showjava これを使うといかにJavaが丸見えな言語か良く分かると思います。自分もそうだった?

情報収集

こんにちは、Android開発は日々アップグレードされていくので、乗り遅れないように情報収集するには以下のサイトを見るのが良いと思います。1. Android Developers Blog 最新の開発環境やSDK等のアップデート情報をいち早く知ることができます。英語ですが。…

iPhone7

iPhone7がディスられてるようです。イヤホンジャックがなくなった、ヒスノイズがでる、ホームボタンが物理ボタンじゃなくなった、熱くなる、電池持ちが悪くなった、EarPodsは片方なくす、等々。 自分としてはAndroidアプリのほうがうまく作れるので正直Andro…

困難にぶちあったたら

アプリ作ってる時、やりたいことが難しい。ムズカシイのでやる気が起きない。つい他のことをやってしまう。そして、全くやらなくなる。。 こうなりそうな時はまず、やろうとした機能の実装をすっぱりあきらめる。脳みそからその欲求を完全に排除する。そうし…

ソースコード

他人のソースコードを読むのは好きでしょうか?自分は好きです。なぜなら、他人のソースコードを読むと、良い悪いに関わらずいろいろな発見ができるからです。 同じ事をやろうとしているのにいろんな方法あるなぁって思ったり、重要視してるとこがビミョーに…

Nougat対応しました

自分が公開している4つのアプリのNougat対応が終わりました。マルチウィンドウ対応ということでちょっとした手直しが必要でした。でもまだ端末が出回ってないのでエミュレータでのテストになります。これからも気になる点はどんどん手直ししていく予定です。…

カードメモは自分が使うために作った

自作アプリであるカードメモですが、これはもともと公開するつもりで作り始めた訳ではなかったんです。 当時、アプリ開発における日々の思いつきを適当なメモアプリで管理してたんですが、項目が増えていくとだんだん整理がつかなくなり、少なくともカテゴリ…

カードメモを更新しました

自作アプリのカードメモを更新しました。Android 7 Nougatの新機能であるマルチウィンドウに対応しました。自分、Nougat端末もってないけど、エミュレータで動作確認しました。大丈夫、大丈夫。。 ヌガーって食べたことないけど、どこでたべられるんだろー

夜食

たまに、なんでこんな見込みのないことやってんだろと思うことがあります。そんなときは某コンビニで冷凍たこ焼き買ってきてビールと一緒に食して寝ます。 まさにこのために生きているのだ。

Gitは便利

Gitは便利です。このツールのおかげでパッチが本当にしやすくなったと思います。もちろん優秀なDiffツールとコラボして。 AndroidStudioではバージョン間であろうがファイル間であろうが二つの文書を比較し差分を見せてくれる機能が元からついてます。これが…

アプリ開発に必要なもの

こんにちは、今回はアプリ開発で必要なもの(持論)を書きたいと思います。 1)インターネットに繋がるパソコン(最低でも4GBのメモリが欲しい) 2)インターネット接続環境(光、WiFi等、ケーブル含む) 3)安定した電力(バッテリーなど) 4)端末(ス…

マルチウィンドウは地味だけど便利

8月にもGoogleよりAndroid7(Nougat)がリリースされる予定です。目玉はマルチウィンドウ! とても地味に感じるこの機能ですが、なかなか便利そうです。例えばブラウザ見ながらメモ取ったり、youtubeで音楽流しながら2chとか見れるかも。 基本的には画面を2…

View.getGlobalVisibleRectのRectはスクリーン座標じゃない

AndroidのViewクラスにgetGlobalVisibleRectというメソッドあります。これで得られるRectはスクリーン座標系、いわゆるMotionEvent.getRawX(またはgetRawY)に対応するような座標系なのかと今まで思っていましたがどうやら違ってました。 Android7(Nougat…

感情

唐突ですが人間はなぜ感情というパラメータを持っているのでしょうか。考えたことありますかね。 持論ですがとりあえず以下の理由と捕らえています。 1)自分を物理的に維持するための欲求のため 2)種を存続させるための欲求のため 1)については、例えば危な…

だんだん

ハードウェアで目新しいものはだんだんなくなってきました、AndroidもiPhoneも新製品はなんかイマイチ。欲しいものは5kMacくらいかな、高ぇけどw そこで今はソフトウェアのイノベーションとか期待したいですね。ポケモンGoとか。技術は大したこと無さそうだ…

java.io.PrintWriter には罠がある

こんばんは、自分のアプリではバックアップ機能としてテキストのバックアップファイルを作る仕組みになっています。そこで使っているのがPrintWriterだったりしますが、こやつはなかなかの曲者であることを最近知りました。 PrintWriterはファイル操作(書き…

なぜMacを使うのか

自分はApple信者でもなんでもありません。どちらかと言えばアンチの方かも。それでもプログラミング含むモバイル開発ではMacを中心に使いたいです。何故か? 自分の場合の理由を箇条書きしてみました。上から順に強く思う理由です。因みに自分は13インチReti…

犬も歩けば棒に当たる

3連休ですが完全にインドアです。腕を痛めながらMacBookを弄ってます。肩と腰が痛いので仰向けで腹にマシーンをのせタイピングできるようになりたい。ダメ人間まっしぐらです。 天気もいいので外出しました。リラクゼーションサロンです。マッサージのお姉さ…

Unity

自分はゲームつくらないけど、ゲームエンジンとしてはUnityが有名なのかな? Unityはマルチに展開できるようで、ひとつ作ればそれを流用して他のプラットフォームに移行できるようです。AndroidとiOSにです。 自分はツール作っていますが、ツールではUnityの…

ひとりごと

このブログ、ただの日々の掃き溜めになってしまった。落ち着いたら、もうちょっと目的をもったものにしていきたいw iOSアプリもやってみたいんでSwiftも勉強中です。Swiftはうまく書けば本当にスッキリとしたコードが書けそうです。一方、いろいろな書き方が…

どこへ

今日は七夕です。今の自分のこと考えると、とても3年前に今ある自分を想像できていなかったと思います。 そう思うと、次の3年後はどうなっているか想像つかないですが、ちょっと怖かったりもするし、良い未来を期待したりもします。なんだろ、どうせなら明る…

明日は七夕

明日は七夕です。織姫と彦星ですね。個人的にはまったく思い入れありません。でも、こういうイベントとか常にキャッチアップしていきたいですね。いつもがまったくのノーイベントなんで。。 また、あるアニメの10周年でもあります。わからない方は七夕、10周…

きっかけ

マルチーズがAndroidデベロッパを始めたきっかけについて書こうと思います。 マルチーズはもともとプログラミングが好きでした。特にJavaです。プログラミング言語で有名なのはC言語だと思いますが、自分にとっては文法の統一がとれてない難解な言語でした。…

ジャーキ

Androidデベロッパプログラムに登録してから本日でちょうど三年になりました。登録料は大体3000円くらいでしたが、さすがにこの額くらいは取り戻せましたよw 公開できるアプリがあればだれでもデベロッパになれます!リスクもそんなにないのです。ただ、ロー…

ファイア

いま自分が一番興味あるのはFirebaseです。オーセンティケーションやらストレージとかノティフィケーションやリアルタイムデータベースです。 これらを自前のサーバでこなすにはお勉強をさらにしないといけないので、マルチーズデベロッパには無理ゲーです。…

ハードル高すぎ

Androidやり始めて約3年たちました。いろいろ知識もついてレベルアップもできたんだけど、つくづく思うことはハードル高すぎ! アプリつくるのはそれなりに大変です。本で勉強したりインターネットで調べたり。SDKはどんどんバージョンアップしてくので、そ…

ブルーカラーよりホワイトカラーのほうが

人工知能に職を奪われるとか、良くそんな記事を目にしたりします。簡単な作業はロボットに置き換わるとかいってますがー、。。自分はそう思いません。 簡単な作業はロボットで。。っていうのは相当先の時代の話になるんでないでしょうか。人間が行うような力…

ウェブサイト更新チェックをアップデートしました

ウェブサイト更新チェックをアップデートしました。 内部ロジックをどうしても変えたかった(HTML5とかに対応するためなど)ので、そんなに機能アップはしてないですが更新とさせていただきます。 アプリ名がかっこ悪いのはSEO対策です。ここまでしてもなか…

Swiftの配列は値型

Swift勉強中です。まだまだ卵にすらなってません。 驚いたのはSwiftの配列は値型だということです。とにかくなんだそれはって感じ。。 import UIKit var ary = [1, 2, 3, 4, 5] var cpy = ary cpy[0] = 6 print(ary[0], cpy[0]) // 1, 6 Swiftの配列のコピー…

ヘビ

SwiftってPythonっぽいよなぁ、Python使ってないから忘れたけどw import UIKit class Human { let name :String let age :UInt8 init(name :String, age :UInt8){ self.name = name self.age = age } func introduce() { print("My name is \(name).") print…

継承

田中はエスパーになりました。イトウの方がいいかな?? import UIKit class Human { let name :String let age :UInt8 init(name :String, age :UInt8){ self.name = name self.age = age } func introduce() { print("My name is \(name).") print("I am \…

Swiftのクラス

Swiftのクラスはなかなか綺麗に書けますね。とりあえず第一印象はグッド。。 import UIKit class Human { let name :String let age :UInt8 init(name :String, age :UInt8){ self.name = name self.age = age } func introduce() { print("My name is \(nam…

Swift2はじめました

Androidが飽きてきたからiOSへw そこで今、Swift学んでます。。Dictionaryの要素はなぜOptional型なのか。。いろいろ調べてなるほど、普通のHashMapのようにキーが存在しない場合でもアクセス(nilを返す)できるようになってるのですね。配列の場合はそういう…

いままでの人生、無駄だったことはひとつもない

どっかの歌の歌詞みたいですが。。こう感じるときは本当に心も体も満足しています。 自分はどちらかといえばあまり格好いい人生を歩んできたとは思えないけど、いままで経験したあらゆることは今の自分に役に立っている。またはその全てがなければ今の自分は…

予言は当たらないから面白い

自分はアカシックレコードとかスフィンクスの書物とかそういうオカルトに憧れてました。未来が予知できるなんて、なんてすばらしいことなんだろう。いろんな超常現象が科学的に証明されたりしないのかなって。 でも、良く考えると不確定で存在があやふやだか…

地図DB を更新しました

地図DB を更新しました。 がんばってアイコンをかっこよく?しました。 たまにはダウンロードしてください! play.google.com

とある予言者の話

とある予言者のお話ですが、5/22-27 と 6/6 に東海沖で地震があるそうです。当たったら困りますね。ノストラダムスの時もそうですが、こうやって構えていれば予言は外れるのでは。。http://hanabi.2ch.net/test/read.cgi/esp/1458279149/

カードメモを更新しました

久々にアプリのアップデートをしました。カードメモです。メモとファイルをリンクする機能を追加しました。体調不良でコードを書くのがだるかったのですが頑張りました。体調不良の原因はパソコンの使い過ぎのようです。。 新機能でファイルを選択するダイア…

量子エンタングルメント

最近の興味として量子テレポーテーションって光速を越えるような情報通信の方法が研究されてるみたいです。その方法は量子の特徴である量子エンタングルメントって性質を利用するそうです。自分はまったくのシロートですので詳しくはググって見てください。 …

ダメだと思うとダメ

私は血圧が高いです。低くても130-90、高いとき160-110くらいを見たことあります。高い血圧値を見るとさすがに落ち込みます。耳なりもして頭もぼーっとしてくるので、流石に今日は体休めたほうがいいかなって思い始めます。 でも、ダメだ~って思ってる内は…