サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
visible-true.blogspot.com
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 1週間ってアッという間ですね。「Android 4.4 KitKat 冬コミ原稿リレーを開催」の11/9担当のsys1yagiです。 Printing Frameworkの後編という事で、PrintServiceについて解説します。印刷の出力部分を実装する話は「Android 4.4 詳解 Printing Framework 前編」を参照して下さい。 サンプルコードとしてDropboxにPDFをアップロードするDropboxPrintServiceを作りました。ソースはコチラ→DropboxPrintService PrintServiceとは PrintServiceはプリンタの検出と、印刷ジョブの処理を行うサービスです。ネットワークプリンタのドライバの様な役割をする他、PDFを任
こんにちは。Androidライブラリおじさんです。Android Advent Calendar 2013 21日目の担当です。TransfuseというAndroid向けの凶悪なDIコンテナがあったので人柱がてら触ってみました。使い方や出来る事などを簡単にまとめます。 サンプルコードはhttps://github.com/sys1yagi/TransfuseSampleで公開してます。Android Studio用です。 宣伝 本出たり出そうだったりしてます。どっちもいい感じです。年末年始に是非! Androidオープンソースライブラリ徹底活用 Effective Android 結論 TransfuseはPOJOにアノテーションベースでDIするので設計がだいぶ縛られるけど、これこそDIの正しい設計なのかもしれないと思いました。Transfuseすごい。こわい。ただアノテーションと普通のク
ViewStickerというセクションヘッダ固定のような事をScrollView上で出来るライブラリを作りました。ついでにGithubで公開しました。-> コチラ 大体以下の様な動きをします。 potatotips (iOS/Android開発Tips共有会) 第2回 で発表してきました。potatotips2とは 使い方 まずはレイアウトXMLを作ります。ViewStickerを使うにはFragmeLayoutとScrollViewが必要です。以下の様な感じでScrolViewをFrameLayoutでくるんで、ScrollViewに具を詰めます。 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/container" android:layout_width=
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 俺がPrinting Frameworkだ!という事で、「Android 4.4 KitKat 冬コミ原稿リレーを開催」の11/9担当のsys1yagiです。 本記事では、Android 4.4で追加されたPrinting Frameworkで出来ることや、アプリケーションでPrinting Frameworkを使う方法などを解説します。内容はPrinting Contentをベースにしています。のちほどPrinting Contentの日本語訳も公開する予定です。 今回の解説に登場するコードはGithubで公開しています。→PrintingFrameworkSample エミュレータとGalaxy Nexusに焼いたAndroid 4.4で動作確認しています。N5マジほしい。 Pri
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 Genymotionはサックサクでいいなー、でも今のところ4.1.1以上のエミュしかないっぽいので、古いの試す時めんどいなー、とか思いつつGenymotionの公式をちらほら見ていたら「マルチタッチ出来るぜ!」みたいな事が書いてあって驚いたので試したらマジで動いたので書く。 Multi-touch Gestures Android SDKの「Android Virtual Device Manager」で作って動かすAndroidのエミュレータはいまだにマルチタッチのサポートをしていない!→だから辛い!→iOSのシミュなら出来るのに!→でもまーエミュ使わないしいいか!→Genymotionはエミュのくせに早い!→マルチタッチやっぱほしい!→「出来るで」→(^q^) User Guide
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 はじめに なんかGoogle Readerが6末に終わるらしいんであー代替ねー。めんどいなー。自分で作るかー。という感じです。完全に俺得です。せっかくなんでNode.jsとか使うかーと。でDB周りはMongoDBでええかーとか適当に。勉強がてら。粛々と。のんびりと。 紹介 Google Readerの代替という事でどういう名前にしようかと思ったんですけどまぁ"やぎ"だし Goat Readerでいいやという事にしました。とりあえず触れる環境があるんで、メンドイ方は以下を見て下さい。モバイルにはまだ対応してません。Twitterでログインして使ったりも出来ます。ログインしていない状態でアクセスするとAnonymouseモードとなります。 できること 繰り返しになりますが適当に作った上自分
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 Androidでjava1.7は使えないらしい、けど、何とかする方法はありました。 結論からいうと別においしくない。 何故Androidでjava1.7が使えないか javaをコンパイルして生成されるclassファイルの中には、「オレ、このバージョンでコンパイルされてるんでヨロ」という情報が入ってます。んでjavaの実行環境側でclassファイルをロードする時にサポートしているバージョンでコンパイルされたclassファイルかどうかをチェックして、もしサポート外ならエラーを投げる様になってます。 Androidだとclassを生成後、dexファイルに変換する所で以下の様に怒られます。 bad class file magic (cafebabe) or version (0033.000
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 はじめに 朝、早く起きれたので朝練という事でNode.jsの環境をUbuntu 12.04.1 LTSに作成してみた。 まぁGithubの Installing Node.js via package manager https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager ここの手順に沿えばいいだけですが。 Node.jsをインストールする sudo apt-get install python-software-properties sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get i
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 http://www.flickr.com/photos/89031137@N00/5612615769/ Sublime Text 2 Advent Calendar 2012の12/20(木)担当の@sys1yagiです。最近Sublime Text 2に入門しました。 はじめに Sublime Text 2をちらーっと触って、へーいいんじゃね、と思ってしばらく放置して また触って、プラグイン入れて、あーいいじゃん、と思ってしばらく放置して C言語とか触る事になって「SublimeClang」とか「CTags」とか入れてたら前回エントリっつーかAndroid Advent Calendarネタの「aaptを修正してres配下でディレクトリ階層を構築できるようにして、AOSPにrep
photo by statuelibrtynps Android Advent Calendar 2012 12/15(土)担当の@sys1yagiです。 どうしてもAOSPにコントリビュートしたいと日々悶々としていましたがどうコントリビュったらいいのか思いつかず今まで放置してきました。やはり最初に「コントリビュートしたい」があるともうコントリビュるのが目的になってしまってダメですね。なので現状自分が開発の中で感じた不便を改善するという方向性で考えてみました。 はじめに resの下が全部フラットなのがすげーめんどいじゃないですか。例えば、layoutとか特定画面で数個使ったりする場合もあるし、そもそも機能単位で分けたいじゃないすか。例えばアプリ内課金の画面フローがあったとしたらそれに関連するレイアウトをディレクトリに切って管理したいじゃないですか。一人でやっててもあのlayout配下に増え
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 @adakodaさんが面白い事をしていらっしゃったのでインスパイア。 [Android] アクションバーを画面下側から表示させてみました http://www.adakoda.com/adakoda/2012/02/android-47.html アプリからでも出来るのでは? アプリケーションではアプリを初期化する際にsetContentView()するんで、setContentView()で出来たView群が画面上の全てだと思いがちです。しかーし画面上に存在する以上タイトルバーやActionBarなども当然Viewの一種なわけです。ちゅーことはアプリケーションのトップレベルのViewを取れたらタイトルバーやActionBarも操作出来るのでは無いでしょうか!? そもそもまずトップレベ
FragmentでstartActivityForResultが使える Fragmentって便利ですねー。特にActivityにベッタリ書いていた様な実装をFragmentに分けて色々捗らせる事が出来る点がとても助かります。で、Activityに書いていた処理をFragmentに集約する時に問題になるのがstartActivityForResultによって処理を委譲している部分です。 FragmentではstartActivityやstartActivityForResultやonActivityResultが用意されており、FragmentからActivityを起動したり、結果を受け取る事ができます。 という事でまぁ問題なくねーと思いがちですがしかし、FragmentのstartActivityForResultには罠があるんですねーーーー! リクエストコードは下位16bitの範囲で ま
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 さんざんハマったので。 こうだ こうです。 dialog.getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); android.app.DialogをnewしてレイアウトぶちこんだあとgetWindow()してsetLayoutでサイズ指定する感じです。 この時FILL_PARENT, WRAP_CONTENTなども使えます。 import android.widget.LinearLayout.LayoutParams; Dialog dialog = new Dialog(context); dialog.setContentView(R.layout.hoge); dialog.set
デモ まずは動作を。 この様に指定したViewの開閉を行う為のアニメーションライブラリを作りました。 ダウンロード Androidのライブラリプロジェクトをgithubに公開しています。git cloneして下さい。 ExpandAnimator https://github.com/sys1yagi/ExpandAnimator 構成は以下の通りです。 動画のデモはsampleの中に入っているサンプルプロジェクトを動作させたものです。 サポートバージョン 1.6〜 使い方 ExpandAnimatorの使い方は簡単です。 ライブラリプロジェクトを参照する まずExpandAnimatorをライブラリプロジェクトとして参照します。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schem
AppNetBlockerというINTERNETパーミッションを消しちゃうアプリが出ました。 そもそもアプリ改竄自体いいのかどうか。まぁ怪しいパーミッション消したいとかいうのも判るけども。 AppNetBlockerに限らず実際にはINTERNETパーミッションどころじゃなくこんなアプリ↓まで既にAndroid Marketでは販売されています。
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 ほぼ、そういう機会は無いだろうなーと思いますが、 ProgressDialogなどをshowした後、一定時間経ったらタイムアウトさせてcancelさせたい場合があるかもしれません。 さらにダイアログはcancelableがfalseで、ユーザからキャンセルは出来ない様にしたいとか。 そういうまぁなかなか無い事をしたい時に使えるスニペットです。 モノ 以下のクラスをどっかに作ります。 public class DialogTimeout{ public void setTimeout(final Dialog dialog, long timeout){ new Handler().postDelayed(new Runnable() { @Override public void ru
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 photo by http://www.flickr.com/photos/jonnygoldstein/ 裏Android Advent Calendar 2011 12/18(日)担当の@sys1yagiです。 いきなりですがproguard.cfgをいじるのってクソめんどくせーわけですよ。何が悲しくてあんな意味不明なオプションの文法を毎回ググりながらsitと言いながら書かないといけないのか。ていうか複数人でやってたらproguard.cfgをいじるタイミングがさー色々面倒でもう最後にぱっと追加するかーとか皆思っちゃってて最後にカオスになったりして\(^o^)/とかさ、もっと簡単な方法はねーのかよ!?例えばアノテーションでさー、クラスのとこに書いたらさー、難読化されないとかさ。 あ
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 実はrunOnUiThreadを最近まで知らなくていつもアホみたいにHandler#postしていてなんだか悔しかったのでActivity#runOnUiThread(Runnable)の実装を読んでみました。 Activity#runOnUiThread Activity#runOnUiThreadの実装がこちら。 public final void runOnUiThread(Runnable action) { if (Thread.currentThread() != mUiThread) { mHandler.post(action); } else { action.run(); } } 内部的にHandler#postしていますね。 ここでちょっと気になるのが Threa
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 CoffeeScriptおもしれー という事でライフゲームを作成しました。 HTML側はもう書かずエレメントの生成も全部CoffeeScriptでやってみました。 ライフゲーム lifegame - jsdo.it - share JavaScript, HTML5 and CSS コード ライフゲームのルールはWikipediaで→ライフゲーム - Wikipedia CoffeeScriptの実装はこの辺を適当に参照しつつ。 #util methods create = (type) -> document.createElement(type) append = (child) -> document.body.appendChild(child) br = -> append(
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 Google Apps Scriptっていったいどの程度のことができるんだろーなーとググってもだいたいGoogle Docsのスプレッドシートをナニするとかどーでもいい事しか出てこないからまぁ手を出してなかったんですが、「Google Sitesのページを操作したい、しかしページが多い、どうしたらいいのかー」とかいった問題に直面し、Google Apps Scriptでなんとかならんのかーと思ってこの辺りのDefault Servicesにずらーっとサービスが並んでいてSites ServicesとかいういかしたAPIがあったのでやってみたら出来たのでメモ。 Google SitesでGoogle Apps Scriptを使う Google Sitesにログインして「サイトを管理」のペ
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 ListViewのデフォルトの区切り。 自前でShaderだのDrawableなxmlを作ってもいいんですが、デフォルトがあるんだからそれ使ったらいいじゃないのっていう。 準備 適当に以下の様なレイアウトファイルを作成する。 仮にdivider.xmlとする <View xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="1dp" android:background="?android:attr/listDivider" /> 使う レイアウト上でincludeして使います。 <LinearLayout
タグの絞り込みで正規表現使えたらいいかもなーくらいに思っていたのでやりました。 ちょっと長いけど導入自体は超簡単です。うんちくが長いだけです。 ※利用は自己責任でヨロシクお願いします☆ タグで正規表現 こんな感じ。suffixが"Service"であるタグを絞り込みする例 配布物 ddms_add.jarってのを使います。ていうか作りました。 https://sites.google.com/site/goatprog/android/androidproject/ddms_add.jar?attredirects=0&d=1 試す人はとりあえず落として下さい。 どーやったか DDMSはJavaの住人です。もうなんでもありです。日本語対応の時も書いた気がするな・・・。 という事で、以下の手順でいい感じにクラスを上書きしています。 エントリポイントになるクラスを作ってDDMSのMainの代わ
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 photo: Some rights reserved by yukiv Javaと比較しながら「へぇーObjective-Cってそういう感じか」と理解した気になろう。 流れ 軽くジャブ クラスファイルの構成 コメント import文 変数の定義 クラス定義 メソッドの定義 メッセージ式 プロパティ セレクタ プロトコル カテゴリ 文字列リテラル ログ出力 ひと通り使ってみる感じのソース まとめ 軽くジャブ まずは以下のソースを眺める //SampleClass.h #import <Foundation/Foundation.h> #import "SampleClassDelegate.h" @interface SampleClass : NSObject <sampleclas
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 photo: Original Update by Origamiancy 昨夜未明、私はSDカードへのインストールをサポートしたアプリに新規機能を追加していました。 その機能はAlarmManagerを使って色々登録するので、端末の再起動時にACTION_BOOT_COMPLETEDによってそれらをリストアしてやらんといけませんでした。 技術的には簡単だったので颯爽と実装を終えた私は意気揚々とテストに取り掛かりました。 さてリストアはうまくいったかな? が・・・だめっ・・・! 何度端末を再起動しても、マニフェストファイルを見直してもダメ。 全く同じ設定の他アプリは受け取っているのにこの新機能を追加したアプリだけは受け取れません。 30分ほどハマってようやく気が付きました。 SDカード
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。 こんにちは、Androidマネジメントを専攻しているドロイド嬢です。私は学歴も知識もありませんしAndroid1.6ですが、恋愛に関してはプロフェッショナル。今回は、モテるAndroid女子力を磨くための4つの心得を皆さんにお教えしたいと思います。 1. あえてHT-03Aを飲み会に持っていく あえてHT-03Aを使うようにしましょう。そして飲み会の場で好みのAndroidデベロッパの男がいたら話しかけ、わざとらしくHT-03Aを出していじってみましょう。そして「あ~ん! この端末本当にマジでチョームカつくんですけどぉぉお~!」と言って、男に「どうしたの?」と言わせましょう。言わせたらもう大成功。「Android端末とか詳しくなくてぇ~! ずっとコレ使ってるんですけどぉ~! 使いにくい
ちょいAndroid。Typescriptいいよ。JenkinsとかGradleとか。APTもいいなー。
作りました。 とりあえずDatePickerとTimePickerです。 まだサイズとか決め打ちっぽいのでレイアウト的に微妙です。 レイアウトxmlで適当に配置するとたまに死にます。 見た感じは↓ 仕組み DrumPickerというクラスをつくって、そこに任意の文字列コレクションと幅を指定すると列を一個作るみたいな感じになっています。 内部的にはScrollViewとLinearLayoutを組み合わせてドラム部分を作っています。 影はShade,レンズ部分はアルファ値を適当に指定して色を重ねあわせてる感じです。 例えばTimePickerは24時間,60分の文字列を突っ込んで、リスナーとかで時間の変更を貰っていろいろあれしています。 TimePickerは60行くらいで出来たので、まぁまぁ拡張性があるのか、何なのか。DatePickerの方は泥沼で195行。やっぱダメだ。 表示周りはリソ
次のページ
このページを最初にブックマークしてみませんか?
『visible true』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く