サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
paraches.hatenadiary.org
QRCode を読む機能を持ったアプリを、とにかく楽して作ってみようと思った。 で、見つけたのがコレ。 embarkmobile/zxing-android-minimal QRCode 読むライブラリでメジャーな ZXing をすっごく簡単に使えるようにしてくれるライブラリ。 README を見ると IntentIntegrator.initiateScan(this); // `this` is the current Activity or Contextこれだけで QRCode を読み込む Intent が起動するらしい。 楽チン!!! というわけで、Android Studio でこのライブラリを使おうとしたんだけど、相変わらず gradle な部分であれこれしたので忘れないうちにメモ。 READMEにはライブラリ読み込みの為に以下のように build.gradle に加えろって
前にも同じ様な内容のことをメモっているけど、今回は Twitter 絡みで困ったのでメモ。 因に前に書いたメモはこれ。 iOSとAndroidでブラウザからリンクをクリックしてアプリを起動する方 最初、"twitter://" を使えば Android機にインストールされている "twitter://" に対応するアプリ一覧が表示されて、そこから好きなアプリを選んで起動できるんじゃないか?なんて夢を見てしまった。 でもそんな結果にはならずに、"twitter://" に反応するアプリは結局 Twitter だけで、他の Janetter や HootSuite はうんともすんとも言わないのだった。 (Twitter もちゃんと twitter://〜 とその後の部分を設定しないとやはり反応しない…) そんなわけで、結局 Twitter 関連アプリの一覧が出てくる!って夢は捨てて、簡単に T
OS X Mavericks がリリースされたわけだけど、仕事で使うマシンの OS やアプリの環境はなるべく変えたくない。けど、今のマシンの OS は 10.7.5 Lionだし、Xcode 5 は Lion で動かないし、しかたがないのでメインマシンの OS を Mavericks にすることにした。 ただ、今使っている Lion はあれやこれやシステムをいぢりまくっているし、最近 Spotlight がしょっちゅう索引を再作成始めちゃうしでそのままアップデートするのはなんとも心許ない。 というわけで、今回は OS X Mavericks をクリーンインストールすることにした。これなら万が一の場合に古い環境で仕事できるし! で、まずはクリーンインストールした OS X Mavericks で Eclipse を使えるようにしたのでメモ。 当たり前のことではあるけど、Mavericks を
さっき(たぶん)Twitterで見かけて触ってみた Nitrous.IOというサイト。 PaaSって言うの? Herokuみたいなサービスで Ruby/Rails, Python/Django, Go, Node.JS が使える。 で、面白いのは WebIDE が付いていて、Web上でコマンド入力からファイルの編集、登録した友人とのチャットまで可能。 とりあえず Djangoのチュートリアルをデータベース作成する所までやってみたのでメモ。 まずは Nitrous.IOで Sing Up。 Nitrous.IO これはユーザ名、メールアドレス、パスワードを入力して「Sign UP for Free」をクリックすれば OK。 後はメールアドレスに確認メールが届くので、リンクをクリックすればユーザ登録完了。 表示される「Getting Started on Nitrous.IO」を一通り読めば大
Android で ActionBar に Tab を使って 2番目の Tab に WebView を貼り付けると、WebView の中のリンクをタップしてもタップされたアイテムが反転表示されない。 で、その際にログには「Should not happen: no rect-based-test nodes found」ってエラーが出てる。 前から気になっていたのだけど、やっと解決する方法が見つかったのでメモ。 (ただし、かな〜りレアケースっぽいので他の人の参考にはならないと思う。) Eclipse で新しい Android Application Project を作って、その際に Minimum Required SDK を API 11 にして Navigation Type を Fixed Tabs + Swipe にする。 すると、タプが 3つあってスワイプでそれぞれを変更できる
そんなわけで、なんとか上記のコードで動いているのだけど、今このブログを書きながら再度「android textview 収まる size」でググってみたら…すっごいの見つけた! 【Android】横幅に合わせてテキストサイズを調整するTextView 一番最初にこれを見つけられていたら…。 なるほど、セットしたTextSizeとゲットしたTextSizeが違う件は「TypedValue.COMPLEX_UNIT_PX」を指定して setTextSizeすれば良かったのね。 後で上のコード書き直しておこう!
前回は「自分で作ったクラスのListをListViewで使いたい 」ということで、自分の作ったクラスのオブジェクトを List に入れて、それを ListView に文字列で表示した。 今回は自分の作ったクラスの持っている画像と文字列を ListView のセルに表示してみる。 参考にしたのはこの辺り。 リストビュー(ListView)を使用するには Android(開発)/ListViewの使い方 やり方としては、ArrayAdapter を継承して自分の作ったクラスを扱えるようすれば良いみたい。 肝は TextView を返す getText をオーバーライドする部分で、そこで ListView のセル用に作った layout(listviewcell.xml )に画像と文字列をセットしてあげる。 こんな感じ。 public class AppInfoArrayAdapter exte
Xcode で .storyboard(.xib)ファイルをローカライズすると各言語用の .storyboard(.xib)ファイルができる。 そして、そこに何かしら UIオブジェクトを追加しようとすると、全てのローカライズした .storyboard(.xib)ファイルに同じ UIオブジェクトを追加しなければいけない。 これはかな〜り面倒。 と、思っていたのだけど、各言語で共通の .storyboard(.xib)を作って、そこに各言語用の .strings ファイルを作成してローカライズができるって知ってビックリした。 今までずぅ〜っと知らなかったよ…。 更に、.strings ファイルは 1度作成してしまうと、その後で .storyboard にUIオブジェクトを追加しても .strings ファイルの内容はアップデートされない…。 しかし、これを自動的にアップデートするスクリプトも
Twitter のタイムラインの更新操作みたいな、ListView を下に引っ張って離すと内容が更新される動作。 Android のライブラリにないかな〜と思っていたらこんなのを発見。 Android-PullToRefresh README を読んでみると、なんと ListView だけでなく GridView や WebView にも対応しているらしい。 というわけで、早速このライブラリを試してみたのでメモ。 PullToRefresh が動作するのは以下のビュー(フラグメント) ListView Expandable ListView Grid View WebView ScrollView HorizontalScrollView ViewPager ListFragment Android v2.3 以降ならオーバースクロールをサポートしてるらしい。 (ところで、オーバースクロー
昨日の「Core-Plotをじっくり使ってみる(その1)」の続き。 昨日はグラフのプロットエリアを設定してデフォルトの X,Y軸を表示する所までできたので、今日はテーマの一覧から。 CorePlot ではグラフを作る時にテーマを使って見た目を設定できる。昨日のグラフでは Dark Gradients を使ったけども、それ以外のテーマではどんな感じになるのか? 以下、5種類のテーマを並べてみる。 テーマ無し Plain White (kCPTPlainBlackTheme) Plain Black Slate (kCPTPlainWhiteTheme) (kCPTSlateTheme) Stocks Dark Gradients (kCPTStocksTheme) (kCPTDarkGradientTheme) 昨日までのグラフには Dark Gradients テーマのデフォルトの X,Y
サーバの Django を 1.3.1 から 1.5.1 にアップデートしたら、幾つか修正しないとアプリケーションが動かなくなったのでメモ。 やっぱり一度動き始めた環境はなるべく変えたくないな〜 ドキュメント通りに。 旧バージョンの Django の除去 自分のシステムは pip でインストールしてあるのでお任せ。 [paraches@localhost ~]$ sudo pip uninstall django Uninstalling Django: /usr/local/bin/django-admin.py /usr/local/lib/python2.7/site-packages/Django-1.3.1-py2.7.egg-info /usr/local/lib/python2.7/site-packages/django Proceed (y/n)? y Successfu
なんかしょうもないことでハマってたのでメモ。 IB で UIButton にイメージを設定して、ボタンがタップされたら別の画像にしようと思った。 で、IBAction はこんな感じに。 - (IBAction)touch:(id)sender { NSLog(@"Button touched"); myButton.imageView.image = [UIImage imageNamed:@"newButton.png"]; }単純に、UIButton のイメージを newButton.png にしてるだけ(のつもり)。 なんだけど…ボタンをタップしても画像が変わらない! コンソールにはちゃんと「Button touched」って出てるから、IBOutlet の接続し忘れでもない。 なんでだろう?と思って UIButton のリファレンスを見てたら… setImage:forState:
例えば iPhone で何かをプリントする際に、プリントアイコンをタップするとネットワークに接続された AirPrint 対応プリンタのリストが表示される。 これは、iPhone が Bonjour を使ってネットワーク上に AirPrint 対応プリンタがあるかどうかを確認してリストを作成している。 他にも、MacOS X の Finder のサイドバーにファイルサーバがリストされたり。 こうしてみるとネットワーク上にあるサービスを探すのに Bonjour はそこそこ使われているみたい。 というわけで、Android で Bonjour を使ってサービス(今回は daap)を確認できないかちょっと調べてみたのでメモ。 Bonjour は netatalk をビルドする時に avahi-daemon 云々でちょっとお目にかかったことがあるけど、そこでは mDNSって呼ばれてたような…。 と
iOS アプリのアップデートがあった場合、iPhone の App Store アイコンにバッジが付いたり、iTunes のサイドバーの App に数字が表示されたりして知らせてくれる。 なので特にアプリ側では何もしなくて良いかな〜?と考えていたのだけど、アプリ起動時に最新バージョンの確認を行って新しいバージョンがリリースされていたらアップデートを促すダイアログを表示するライブラリ(というかスニペット?)を発見した。 Harpy せっかくだから試しにちょっと使ってみたのでメモ。 GitHub に上がっているのでダウンロードするだけ。 Harpy 中身は README とキャプチャが2枚に、コード本体が入っている Harpy フォルダ。 コード自体は以下の3つのファイルだけ。 Harpy.h Harpy.m HarpyConstants.h 使い方は簡単。 3つのファイルをアプリのプロジェク
Xcode で新しくアプリケーションを作成する際に、適当にプロジェクト名を決めてしまうとその後で Bundle Identifier やアプリケーション名を変更したくなることがある。 また、既存のアプリのコードをごっそり新しくするのに新しいプロジェクトを作成して Bundle Identifier を以前のアプリと同じに変更したりする場合。 ほかにも、アプリケーションをローカライズした場合に、各国語でアプリケーション名を違ったものにしたい場合とか。 という感じに、iPhone アプリ作成時に「名前(ID)」にまつわるあれこれがこんがらがることが多い。 そんな場合にいつも「あれ?どうやるんだっけ?」とグーグル先生に聞いているので、そろそろメモしておかないといけない気がしたのでメモ。 プロジェクト名は「myApp」で、Bundle Identifier は「newApp」、アプリ名はローカライ
iOSと Android、どちらも schemeを使って簡単にアプリケーションを起動することができる。 iOSは前に拙作 PhotoPrintで scheme対応したりしていたけど、今回 Androidでもやってみたので両者の手順をメモ。 まずはアプリを起動する為のブラウザのリンク。 <a href="paraches://paraches.com/openwith?name=テスト&url=http://www.paraches.com/">Link</a>例えばこんな感じ。 リンクは scheme, host, path, query でできてる。 この場合 scheme : paraches host : paraches.com path : /openwith query : name=テスト&url=http://www.paraches.com/ となってる。 で、このリンク
前にプロジェクトの設定方法を書いたな〜と思って探したら、アプリケーションから写真を指定して拙作「写真印刷」を起動する方法の説明だった…。 デベロッパの方々へ | paraches lifestyle lab. というわけで、Xcode 4.3.3でプロジェクトの設定は以下の通り。 1. プロジェクトの「TARGETS」の「Info」タブを表示、右下の「Add」ボタンをクリック 2. 表示されるメニューで「URL Types」を選択 3. 「Untitled」の URL Typeが加わるので、開いて各種情報を入力 URL Schemes : 起動する為の scheme。今回の例では paraches。 今回はこれだけ設定してあれば OK。 リンクをクリックするとアプリケーションが起動する。 で、アプリが起動すると - (BOOL)application:(UIApplication *)ap
GitHub からダウンロードした「objc-TimesSquare-master」フォルダには、ライブラリ本体の「TimesSquare」フォルダと、サンプル(テスト)アプリの入っている「TimesSquareTestApp」フォルダがある。 この「TimesSquareTestApp」フォルダの中の「TimesSquareTestApp.xcodeproj」をダブルクリックして、Xcode でプロジェクトを開く。 後はそのままシミュレータなり実機で実行すればカレンダーを表示することができる。 ちなみに、自分は最初に古いバージョンの Xcode 4.5(4G182) で起動しちゃったのだけど、その際にはサンプルはこんなエラーを吐いて止まってしまった…。 headerLabels[ordinality - 1] = label;headerLabels は NSArray で、ordina
iOSでアプリを作るとき、標準で用意されているパーツが良くできているので、それだけを使ってもそれなりに綺麗なアプリケーションができあがる。 でも、カレンダーを表示するとなると Xcode の InterfaceBuilder でパーツを探しても見つからない…。 というわけで、自前で作るのは大変そうだったので今までは Si-Calendar というライブラリを使っていたのだけど、新しく見つけた TimesSquare というライブラリも良い感じなので使い方を簡単にメモ。 Si-Calendar TimesSquare は以下から入手可能。 TimesSquare: a calendar view for iOS and Android apps square/objc-TimesSquare - GitHub 簡単な紹介は上のリンク先を参照。 コードのダウンロードは GitHub から。 G
前回はセルを消したので、今回はセルを増やしてみた。 AndroidのListViewでアニメーションしながらセルを消す けど、セルを縮まった状態から大きくしてっていうのはどうにもうまくいかなかった。 結局ちょっと違う気がするけど、Stack Overflow で見つけた Bitmap を作ってそれをずらす方法にした。 [2013/03/15 updated] 引っ張って更新もやってみたよ! AndroidでListViewを引っ張って更新するライブラリを試してみる 昨日のセルを縮めるのと同じ様にアニメーションさせようとしたのだけど、どうしてもチラっと挿入後の画面が表示されてからアニメーションになってしまう…。 notifyDataSetChanged() して getView で返す View はちゃんと縮んだものを渡してるんだけどな〜。 というわけで、他の方法を探したら Stack Ov
Android 2.1 では問題なく動作していた WebView なのだけど、Android 4.0 の端末で試してみたら見事に文字化け! エミュレータでも実機でも起きる現象。 なぜかネット上では殆ど話題になっていないので、かなりレアケースというか自分だけなのかもしれないけどメモ。 オリジナルのコードは WebView に html のデータを loadData で読み込んでいるこんなコード。 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView)findViewById(R.id.myWebView); String html = "<html><head
iOS 6 になって新しく加わった Collection View は、アイテムをグリッドに沿って並べるのが物凄く簡単になるとっても便利なクラス。 iOS 6 リリース後に各所でその機能や使い方が記事になっていて、今なら結構簡単に遊んでみることができると思う。 というわけで、今回は「アイテムの並び方を UICollectionViewLayout を使って自由に設定できる」という機能を、Pinterestっぽくアイテムを並べられる UICollectionViewWaterfallLayout クラスを GitHub から持って来て試してみたのでメモ。 UICollectionViewWaterfallLayout CollectionViewSample UICollectionViewWaterfallLayout は Pinterestっぽくアイテムを並べてくれる UICollect
Google Maps Android API v2 が12月3日にリリースされたらしい。 Google Maps Android APIがアップデート グーグル、「Google Maps Android API」をアップデート--アプリ内の地図表示を改善 主な機能として、2Dと3Dに対応したベクターベースのマップを利用したり、簡単な動作で地図を傾けたり回転させたりできるほか、主要空港やショッピングセンターといった建物のインドアマップを自分のアプリに取り入れることも可能。デベロッパから要望が多かったMap Fragmentsもサポートし、広い画面を備えたタブレット端末では、複数のパーツを組み合わせて複雑なユーザーインターフェイスを構成できる。ということらしい。 というわけで、Google Maps Android API v2 を早速トライしてみたのでメモ。 Google Maps And
既に Google Maps Android v1 を使っている場合、API Key は入手しているけれどもそれは v2 では使えないので、再度取得しなければならない。 手順は下記のページの通り。 Google Maps Android API v2 -- Google Developers 1.Google APIs Console にアクセス Google APIs Console 2.[Create project...] をクリック 既に Google APIs Console にアクセスしたことのある人はこの手順は必要なし。 3.左のナビゲーションから [Services] を選択 多分最初は [Services] が表示されてる。 4.[Google Maps Android API v2] を見つけてスイッチをクリックして [ON] にする [OFF] のスイッチをクリックす
お盆の時期に到着してそのまま部屋の片隅に放置してあった Raspberry Pi。 ちょっと時間ができたので Mac を使ってセットアップしてみたのでメモ。 まずは購入した Raspberry Pi とその周辺機器 Raspberry Pi Type B ケース Micro USB AC アダプタ なぜか AC Adapter は不思議なプラグのものが届いた…。 ってか、なんでオーダーしたんだろう? 変換して使えてるから良いけど。 その他 Transcend SDHCカード 16GB Class10 (無期限保証) TS16GSDHC10E (FFP)【Amazon.co.jp限定】 HDMIケーブル 1.5m HDMI-1415 まずは Raspberry Pi 用に用意された Linux のイメージを入手する。 用意されている Linux は下記のページからダウンロードが可能。 Dow
Xcode 4.5 でアプリのローカライズをしようとしたら、今まで使っていた方法(下記)でできなかった…。 Xcode 4 で NSLocalizedString を使ってローカライズ これ、いつから変わっていたの??? というわけで、Xcode 4.5 でアプリをローカライズする方法のメモ [2013/02/26 update] Storyboard を .strings 使ってローカライズする方法はこっち XcodeでStoryboardをローカライズして自動でstringsをアップデート Xcode 4 では Utilities エリア?の File Inspector に Localization があって、そこで「+」クリックして各国語バージョンを加えられたよね…? 今 Xcode 4.5 を見たら、Utilities エリア?の File Inspector->Localiza
Androidの場合は以下のページが解り易いと思う。 WebブラウザでURLリンクをクリックした際にアプリケーションを起動する (暗黙的インテントの受信) Android の場合は Intentでアプリケーションを起動するので、AndroidManifest.xmlに の設定をする必要がある。 <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.inte
次に 16G の SD Card の使っていない部分を使えるようにしてみた。 参考にしたのは以下のページ。 Full guide to Arch Linux on the Raspberry Pi まずは fdisk コマンドで確認。 [root@alarmpi ~]# fdisk /dev/mmcblk0 Welcome to fdisk (util-linux 2.21.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/mmcblk0: 16.1 GB, 16130244608 bytes 4 heads, 16 sectors/track,
解決方法は表題の通り。 「Use Autolayout」チェックボックスは、Xcode 4.5 で問題の xib を選択して、Utilities ビューで File Inspector を開く。 そこの「Interface Builder Document」に「Use Autolayout」チェックボックスがある! これでエラーは起きずに iOS 5.1 でも iOS 6 でもちゃんと動作するようになる。 このエラー、原因は xib 編集すると自動的に生成される NSLayoutConstraint。 これが iOS 6以降でしか使えないのに、Deployment Target が 5.1 になっていても InterfaceBuilder で View に何かを乗せると xib に NSLayoutConstraint が生成されちゃう。 (View に何も乗せないと問題ない!けど、xib
次のページ
このページを最初にブックマークしてみませんか?
『Debian GNU/Linux 3.1 on PowerMac G4』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く