サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
www.devlog.alt-area.org
はじめに 先日、Ubuntu ファミリーの最新版 14.10 がリリースされました。これを期に、これまで使っていた Xubuntu 14.04 から Ubuntu Mate 14.10 に乗り換えてみました。インストールは順調に進んだのですが、Genymotion を起動したところで問題が発生しました。仮想デバイスを作成して起動しようとしますが、いつまで経っても初期化が終了しないのです。しかも、OS 自体が入力を受け付けない状況に・・・。色々と調査&試行錯誤を繰り返して、ようやく問題が解決しましたので、ここに記録しておきます。 原因は NVIDIA のドライバ なかなか原因が特定できなかったのですが、Genymotion の FAQ で判明しました。Genymotion – Frequently Asked Questions に以下が記されています。 When I start a vir
はじめに MinGW (64bit) + MSYS 環境の構築 (1) | DeVlog – 銀の翼で翔べ – で、Git の入った MinGW 環境を作る方法について記述しました。その後色々と作業しているうちに、ソースに日本語が使われていると git log や git diff が文字化けしてしまう事がわかりました。本記事では、この問題の原因と解決方法について紹介します。 文字化けの原因 Windows のコマンドプロンプトは、SJIS で表示するようになっています。一方、MSYS の各種ツールは UTF-8 で表示するようになっています。この違いにより文字化けが発生するようです。ちなみに、コミット後に表示されるログは文字化けしませんでした。どうやら、Git の各種コマンドのうちページャを使って表示するものが文字化けするようです。 解決方法 文字化けを解決するには、Git がページャ表
はじめに 前回の記事に続いて、64ビットバイナリを生成できる MinGW (SEH, posix-threads) 環境の構築について紹介します。前回は、Mingw-64 とMSYS をインストールするところまで記述しました。今回は、主に Qt5 のビルドを想定して、追加のツールをインストールしていきます。ディレクトリは、前回の記事で採用したものを使う前提で説明します。 Strawberry Perl のインストール 前回インストールした MSYS には、perl がインストールされています。
はじめに 64ビットバイナリを生成できる MinGW (SEH, posix-threads) 環境を構築しましたので、2回にわたって紹介してみます。この環境で Qt5 をビルドできる事を確認しました。また、以前、MinGW 環境から msysgit を利用する方法についてまとめましたが、今回は Git の入った MSYS を導入しましたので、msysgit は不要になります。 ※ 2014/02/02 追加: 本記事の設定だけでは、Git コマンドの一部が文字化けします。合わせて MinGW64 環境の Git で文字化けを解消する | DeVlog – 銀の翼で翔べ – の設定もすることをおすすめします。 MinGW バイナリの選定 64ビットの MinGW は、本家とは独立した MinGW-w64 で提供されています。また、独自にアレンジした TDM-GCC も良く利用されているよう
はじめに MinGW+MSYS 環境から Git を使えるよう試行錯誤し、満足のいく結果が得られたのでご紹介します。 最初、msysgit の開発者用環境をインストールしてその MSYS 環境を使うことも考えました。しかし、この MSYS 環境はあくまで Git を運用するためにパッチをあてたものです。実際、一部のツールはバージョンが古かったりします。 一方、純粋な MinGW+MSYS に Git をインストールしようとしても mingw-get では Git をインストールできません。msysgit があえて独自の MSYS 環境と共に配布されている事実を考えれば、通常の MSYS 環境で Git をビルドするのも容易でないことが想像できます。そのため、Git を使うには msysgit の Git Bash を別途起動する必要があります。しかし、MinGW+MSYS を開発環境として
UTF-8N のソースを VC++ でコンパイルするとエラー 最近、Qt を使って Linux/Windows の両方で動作するアプリケーションを作成しています。Linux では gcc、Windows では Visual C++ 2010 Express を使ってコンパイルしています。今回、Linux 上でアプリケーションを開発し、動作テストも終えたところで Windows でコンパイルしたところ、以下の様なエラーが発生しました。 warning C4819: The file contains a character that cannot be represented in the current code page (932). Save the file in Unicode format to prevent data loss . . error C2614: ‘***’ :
はじめに 今回の記事は、Python でのプログラミング記事 PySide で画像をフルスクリーン表示する | DeVlog – 銀の翼で翔べ – を、C++ で改めて記事にしたものです。筆者自身の Qt に対する理解も以前よりは進んでいますので、内容には若干の違いがあります。(本記事を読むための Python の知識は不要です。) 本記事を書こうと思った経緯は、だいたい以下のようなものです。 最近、マルチプラットフォームのアプリケーションを作るために Python + PySide でプログラミングしていました。PySide は、マルチプラットフォームの GUI ライブラリ Qt を Python にバインディングしたパッケージです。 実際にプログラミングを始めてみると、PySide のリファレンスだけでは完結せず Qt のリファレンスやサンプルを参照することも多くなります。そんなことを
VirtualBox で仮想マシンを作成してしばらく使用した後に、ストレージを追加したくなることがあると思います。このような時は、仮想ハードドライブを新たに作成して追加することができます。ここでは、ホスト Windows7、ゲスト Ubuntu/Xubuntu12.10 の環境で、新たに仮想ハードドライブを作成してゲスト OS にマウントする方法について述べます。 大まかな手順は以下の通りです。 仮想ドライブの作成 パーティションの設定 マウントの設定 仮想ハードドライブを作成する まず、ホスト OS (Windows) 上で VirtualBox を起動し、仮想マシンの設定 > ストレージ にて、コントローラー:SATA に新しい仮想ドライブを作成します。 この後、追加するドライブのタイプや、容量等、仮想マシンを作成する時の要領で指定してください。 仮想ハードドライブのパーティション設定
はじめに 最近、夏も近いのでマルチプラットフォームのアプリケーションを作るために冷やし中華 Python を始めました。GUI のライブラリとして PySide を選択し、色々と試行錯誤しています。その中から、特に興味をひいた事などを記事にして行きたいと思います。今回は、画像をフルスクリーンで表示する方法について記述します。また、本記事の内容を C++ と Qt で書きなおした記事をこちらに用意しました。合わせて参考にして下さい。 なお、Python はまだ 2.x が主流ですが、今後は 3.x へ移行する動きが活発化しそうな事と日本語対応するには 3.x の方が適しているため、Python3.3 でプログラミングしています。そのため、以下のコードは 2.x での動作を一切考慮していませんのでご注意願います。 画像を表示する まず、PySide で画像を表示するコードを作ってみます。hog
基本的にはコマンドラインで操作することの多い Git ですが、履歴のツリーを確認したり、複数ファイルの変更状況を確認する時等は、GUI の方が便利です。この記事では、標準の GUI ツールである git-gui と gitk について、コマンドラインからの呼び出し方法について紹介します。また、GUI とコマンドラインを併用する呼び出し方法についても触れます。 Git 標準の GUI ツール Git には、標準で GUI ツールが用意されています。(別途インストールが必要な場合もあります。Ubuntu では、sudo apt-get install git-gui を実行します。) gitk で履歴のツリーを確認できます。各コミットを選択するとその内容や差分が表示されます。 git-gui は、少し癖がありますが、git の操作を GUI で行うことができます。また、git-gui から g
今まで Windows 環境で Android 開発をしてきたのですが、最近ふと思い立って Linux(Ubuntu/Xubuntu) で環境を構築してみました。この記事では、IDE をインストールする前に必要となる JDK と Android SDK のインストールについて記述します。 (ADT Bundle を使わず、 JDK/SDK と IDE を個別にインストールすることを想定しています。) JDK のインストール JDK は頻繁にアップデートされるので、パッケージ管理を使いたいと思って調べたところ、 Oracle Java (JDK) 6 / 7 / 8 Installer PPA : “WebUpd8” team で PPA が提供されていました。この PPA は、 Oracle のインストーラをダウンロードして実行するようになっています。 以下のように導入します。途中、Ora
IntelliJ IDEA は軽快 Android 開発の IDE と言えば Eclipse が定番で、他の環境を構築するのはマイナーだしリスクが大きいと思っている方が多いと思います。しかし、海外では IntelliJ IDEA という IDE を使っている人も多く、Google 社員の間でもファンが多いとか。実際使ってみると、Eclipse よりサクサクと小気味よく動くし、メニューの構造も分かりやすくて快適です。Andorid 開発は、フリーの Community Edition (オープンソース) でできます。 本記事では、これまで Eclipse を使用して Android 開発をしてきた人が IntelliJ へ移行するのに必要な作業について記述します。 IntelliJ のインストール インストールの概要は、以下のようになります。 JDK のインストール Android SDK
最近、アプリケーション内でダイアログを扱う必要が出てきて試行錯誤したので、その記録をまとめます。 まず、ダイアログの基本から。 ダイアログは小さなウインドウです。ユーザに注意を促したり、簡単な入力等に使用します。小さな Activity と考えることもできますが、クラス Dialog と Activity との間に継承関係はありません。 では、実際のコードを見ていきます。 例えば、既成のダイアログである AlertDialog のインスタンスを生成するコードは、以下のようなものです。 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle("タイトル") .setMessage("メッセージ"); AlertDialog dialog = builder.create();
サポートライブラリを導入すると、古いプラットフォーム上で新しい API を使用できるようになります。特に Android3(API-11) で導入された Fragment を利用すると、マルチスクリーン対応のアプリケーションを作成しやすくなるようです。 私はまだ新しい API を試してはいませんが、必要となった時にすぐ使えるよう、各プロジェクトに導入しています。 サポートライブラリには現在のところ 2種類があり、最低必要 API レベルが異なります。1つは v4(Android1.6)、もう一つは v13(Android3.2)です。現状ではまだ、Gingerbread(Android2.3)端末が多いので v4 を導入するのが良いと思います。 ※この他に v7(Android2.1)ライブラリがありますが、先ほどの2つのライブラリとは独立した別のものなので、ここでの説明には含めません。
Sublime Text2 で同一ファイルを 2 分割する方法 同一ファイルの 2 箇所を比較しながらコーディングすることが良くあります。 Sublime Text2 でももちろん 1 つのファイルを縦あるいは横に分割して表示することができます。 ただし、その方法が少し分かり難いので説明します。(以下の説明では、キーアサインは Windows を前提としています。) View > Layout (alt + shift + 数字)で、画面を分割する ここで分割された画面のそれぞれは、異なる「グループ」として認識されます。 File > “New View into File” を選択し、ファイルのクローンを作成する 同じグループに、もう一つ同じファイルのタブが作成されます。 2 でできたタブをドラッグ&ドロップするか、 View > “Move File To Group” (Ctrl +
Sublime Text2 をコミットエディタにするとコミット失敗 Windows 上で Git のコミットエディタとして Sublime Text2 を使うようになってから、コミットの際に Ctrl+s, Ctrl+w としてエディタを閉じても、 Aborting commit… となってコミットに失敗する事がありました。最初は自分のミスだろうと思って気にしていませんでしたが、やはりそれなりの頻度で発生するため解決策を調べてみました。 -w オプションで起動する はっきりと書かれている情報は見つけられませんでしたが、 Sublime Forum • View topic – How to use Sublime Text as Git commit message editor? を見て、 -w オプションを試してみたところ、今のところ不具合は解消されています。 -w オプションは以前は
SQLiteOpenHelper は、同じ SQLiteDatabase オブジェクトを返します。それを踏まえた close() 処理について述べます。 SQLiteOpenHelper は、同じ SQLiteDatabase オブジェクトを返す 以前に、Android での SQLiteDatabase のクローズについて | DeVlog という記事の中で、SQLiteDatabase オブジェクトは適切にクローズすべきであると述べました。 その後、 Android Tips(20):知っておきたいSQLiteデータベースの注意点 (1/2) – MONOist(モノイスト) という記事を見つけました。 (記事の日付は、 2012年 9月なので、私の記事よりずっと前に書かれたものです。) その記事の 「データベースのクローズについての注意点」という項目の中で、「SQLiteOpenHe
前回までは、AlertDialog という既成のダイアログを表示させる例をとりあげてきました。今回は、カスタムダイアログの作成と表示について取り上げます。 時刻設定用には TimePickerDialog という既成のダイアログがあります。ここでは簡単な例として、時刻設定にチェックボックスを追加して、チェックできるカスタムダイアログを作成してみます。 まず最初にダイアログのレイアウトを定義し、res/layout に xml ファイルとして保存します。ここでは、res/layout/test_dialog.xml を以下のように定義しました。 <xml version="1.0" encoding="utf-8">; <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout
先日、あるブランチ上で新しいファイルを追加するコミットをした後、別のブランチでも同じファイルを追加したいという状況がありました。 もちろん、改めて別のブランチを checkout してファイルを追加すれば良いわけです。しかし、2つのブランチに対して同じ修正を施したいケースは、ファイルの追加に限らず今後も発生し得ると思ったので調べてみました。 すると、cherry-pick というコマンドがまさしくそのコマンドであることがわかりました。 使い方も簡単です。例えば
SQLite を使ったアプリを作成しているのですが、アプリを実行してしばらく放置した後ログを確認すると、以下の様な警告が出ていました。 W/SQLiteConnectionPool(1261): A SQLiteConnection object for database ‘/data/data/…..’ was leaked! Please fix your application to end transactions in progress properly and to close the database when it is no longer needed. データベース ‘/data/data/…..’ に対する SQLiteConnection オブジェクトがリークしました。データベースが必要なくなったら、進行中のトランザクションを適切に終了し、データベースをクローズして
とし、さらに .gitignore を定義すると良い。 ここまでは、いろいろな所で紹介されています。 ただしこの場合、以前のコミットを checkout すると管理外になったはずの a が以前の状態に上書きされてしまいます。 例えば、以下のように再現できます。 $git init $echo initial > a <--- 最初は、a の内容は "initial" $git add . $git commit -m "first commit" $git branch init $git rm --cached a $echo a > .gitignore $git add . $git commit -m "second commit" $echo new > a <--- ここで、a を "new" に書き換える $git checkout init Switched to bran
LogCat の表示で以下のような大量の警告が出てしまいました。 Unexpected value from nativeGetEnabledTags: 0 自分のコードに問題があるのかとも思いましたが、他のプロセスからも出力されているようでした。nativeGetEnabledTags もよくわかりません。 こちらのサイトを見つけて、先の SDK アップデート (SDK Tools, Revision 21) のバグであることがわかりました。とりあえずの解決策としては、そこにあるようにフィルタを設定してログをカットするのが良いようです。 Saved Fileters の一覧から、Session Filter や、自分で定義したフィルタをダブルクリックする (“+” をクリックして新規のフィルタを定義しても良い) by Log Message 欄に、”^(?!.*(nativeGetEna
先日、Eclipse を再インストールしてセットアップしたところ、Window メニュー内に Android SDK Manager, Android Virtual Device Manager が無いことに気づきました。 本来は、このように、Navigation の下に表示されるはずです。 しかし、今回インストールした Eclipse だとこのようなメニューです。もちろん、ADT はインストール済です。 SDK/AVD マネージャ自体は SDK をインストールしたフォルダから直接起動することができるので、致命的なことにはなっていないのですがやはり不便です。(デフォルトでは、Android SDK は、%USERPROFILE%android-sdks にあります。) 前から使っている PC は問題なく表示されているのですが、新しくインストールした PC では上記の問題が発生します。 丁
このページを最初にブックマークしてみませんか?
『DeVlog - 銀の翼で翔べ -』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く