技術系のブログ

ぺんたんの更新情報を配信してます。本家サイトにない情報が配信されることがあるかも 本家はこちら http://pentan.info/

スポンサーリンク

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

ログの出力 アプリのステータスを確認する

Javaで出力されるログは5種類あります。

ERRORエラー
WARN警告
INFO情報
DEBUGデバック
VERBOSEビルド
続きを読む
関連記事
  1. 2012/03/04(日) 20:00:57|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

アプリケーションのログを見る方法

Android SDKにはログを見るツールが用意されています。

[参考記事] ログ出力する方法
[参考記事] ログをEclipseのビューに表示させる方法
[参考記事] コマンドプロンプトの文字コードを変える方法

DDMS
コマンドプロンプト adb logcat

続きを読む
関連記事
  1. 2012/03/04(日) 19:59:53|
  2. Androidアプリ製作
  3. | トラックバック:0
  4. | コメント:0

ターミナルで端末操作をする方法

AndroidはLinuxベースなのでLinuxと同様にターミナルでのコマンド操作ができます。

端末内から実行 Terminal Emulator

続きを読む
関連記事
  1. 2012/03/04(日) 19:58:14|
  2. Androidアプリ製作
  3. | トラックバック:0
  4. | コメント:0

処理を一定時間停止させる方法

処理を停止させるにはsleepを使用します。
sleepはThreadクラスの配下に次のように定義されています。

時間の単位はミリ秒です。

public static void sleep(long millis)
throws InterruptedException
続きを読む
関連記事
  1. 2012/03/04(日) 19:56:52|
  2. Androidアプリ製作
  3. | トラックバック:0
  4. | コメント:0

JD-Eclipse 自動で逆コンパイルをすることができるプラグイン

JD-Eclipseは、Java 5以降に対応したEclipseプラグインのJava逆コンパイラです。
フランスのEmmanuel Dupuyによって開発されています。

JD-Eclipse公式サイト

Eclipseのプラグインとしてインストールすると、ソースコードが存在しなくても[パッケージ・エクスプローラ]や[デバッガ]からクラスファイルへアクセスするだけで自動的にクラスファイルを逆コンパイルできます。
逆コンパイルしていることを意識せず使用することができます。

同様の逆コンパイルをするEclipseプラグインに「JadClipse」がありましたが、「JadClipse」ではJava 5以降のバイトコード(クラスファイル)に対応していませんでした。
JadClipse Eclipseで逆コンパイルを行う

続きを読む
関連記事
  1. 2012/03/04(日) 19:56:02|
  2. Eclipse
  3. | トラックバック:0
  4. | コメント:0

Androidのlayoutで使用できるパーツの一覧 ビュー(部品)

[参考記事] よく使うUIパーツのプロパティ

テキスト

TextView
続きを読む
関連記事
  1. 2012/03/04(日) 19:54:43|
  2. Androidアプリ製作
  3. | トラックバック:0
  4. | コメント:0

wrap_contentとfill_parentの違い

wrap_contentは内容の大きさ(文字列長)にあわせて大きさが変化します。

続きを読む
関連記事
  1. 2012/03/04(日) 19:53:44|
  2. Androidアプリ製作
  3. | トラックバック:0
  4. | コメント:0

よく使うUIパーツのプロパティ

[参考記事] Androidのlayoutで使用できるパーツの一覧 ビュー(部品)

続きを読む
関連記事
  1. 2012/03/04(日) 19:52:35|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

スタイルを使って属性を一括で管理する方法

layoutにはスタイルを使って、属性を別ファイルとして指定することができます。
スタイルを使用することで、一括で共通の属性の設定を行うことができます。
また属性値を一括で管理できるので、属性値を変更するときに1箇所で変更ができます。

[参考記事] テーマ機能を使ってアプリケーション全体にスタイルを適用させる方法

続きを読む
関連記事
  1. 2012/03/04(日) 19:51:19|
  2. Androidアプリ製作
  3. | トラックバック:0
  4. | コメント:0

テーマ機能を使ってアプリケーション全体にスタイルを適用させる方法

アプリケーション全体のスタイルを指定する機能にテーマというものがあります。
スタイル同様にテーマも属性値を一括で指定する方法ですが、違うのがスタイルが要素それぞれで指定するのに対して、テーマは全体に指定します。

[参考記事] スタイルを使って属性を一括で管理する方法

テーマ用のファイルはスタイル用のファイルと違いはありません。
テーマ用とスタイル用で共通でも可能です。


[参考記事] Androidのlayoutで使用できるパーツの一覧 ビュー(部品)
[参考記事] よく使うUIパーツのプロパティ

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="CommonText">
    <item name="android:layout_width">300px</item>
    <item name="android:textColor">#00FF00</item>
    <item name="android:background">#ff0000</item>
  </style>
</resources>

テーマの適用方法

続きを読む
関連記事
  1. 2012/03/04(日) 19:49:54|
  2. Androidアプリ製作
  3. | トラックバック:0
  4. | コメント:0

Javaをコマンドラインから実行する

テキストエディタで次のコードをHelloWorld.javaファイルとして保存します。

// HelloWorld.java
public class HelloWorld
{
    public static void main( String[] args )
    {
        System.out.println( "Hello world!" );
    }
}

『ファイル名を指定して実行』や『プログラムとファイルの検索』より『 cmd 』を入力してEnterを押すと、黒いコマンドプロンプトの画面が開きます。

続きを読む
関連記事
  1. 2012/03/04(日) 19:48:10|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

javaコマンドは実行できるが、javacコマンドが実行できないとき

コマンドプロンプトから

C:\>java

を実行するとコマンドリストが出るけど

C:\>javac

を実行すると次のようなエラーが出る場合、環境変数PATHの設定が間違っています。

続きを読む
関連記事
  1. 2012/03/04(日) 03:21:36|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld

[参考記事] Javaをコマンドラインから実行する
[参考記事] javaコマンドは実行できるが、javacコマンドが実行できないとき

続きを読む
関連記事
  1. 2012/03/04(日) 03:20:02|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

== と === の違い(比較演算子)

PHPではif文などの真偽を判定するときに、== や === を使用しますが、この==と===の違いは、値のみを見るか型まで見るかの違いです。

[参照記事] Javaでの==の意味

続きを読む
関連記事
  1. 2012/03/04(日) 03:19:03|
  2. PHP
  3. | トラックバック:0
  4. | コメント:0

==とequalsメソッドの違い 値が同じかどうかを見るにはequalsメソッドを使う

参照型変数にはデータそのものではなく、データの格納先(参照先)を示す値が入っています。

[参照記事] PHPでの==の意味

文字列の比較には通常、equalsメソッドを使うが、==による比較をおこなうと参照先が同じかどうかを判定する事ができます。
equalsメソッドの場合は、別々のメモリに同じ文字列が格納されていてもtrueになりますが、==ではfalseになります。

続きを読む
関連記事
  1. 2012/03/04(日) 03:17:37|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

ページのタイトルを変更する titleタグ

titleタグの値はdocument.titleで管理されています。

document.title = "変更後のタイトル";

で変更できます。

サンプル

続きを読む
関連記事
  1. 2012/03/04(日) 03:16:16|
  2. JavaScriptサンプルコード
  3. | トラックバック:0
  4. | コメント:0

Gitをyumでインストールする方法

標準のyumリポジトリではGitのパッケージを含んでいません。
このためGitをyumでインストールするには、yumリポジトリを追加する必要があります。

[参考記事] Windows版TortoiseGit Gitクライアント
[参考記事] Windows から Git を使う方法

続きを読む
関連記事
  1. 2012/03/04(日) 03:14:52|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

Androidのソースファイルを入手する方法

Androidのソースファイルは公式にGitで公開されています。
ダウンロードからビルドまでの手順もサイトに掲載されています。

Downloading the Source Tree

Gitで公開されているため、入手にはGitクライアントが必要です。

Gitをyumでインストールする方法
Windows版TortoiseGit Gitクライアント
Windows から Git を使う方法

続きを読む
関連記事
  1. 2012/03/04(日) 03:13:06|
  2. Androidアプリ製作
  3. | トラックバック:0
  4. | コメント:0

Androidでマルチスレッド処理をする方法

Androidでマルチスレッド(マルチタスク・バックグラウンド処理)をするには次の方法があります。

[参考記事] UIを操作するのにhandlerを使う理由 thread WebViewCoreThread exiting due to uncaught exception

続きを読む
関連記事
  1. 2012/03/04(日) 03:11:22|
  2. Androidアプリ製作
  3. | トラックバック:0
  4. | コメント:0

動画を再生する方法 VideoView

VideoViewはSurfaceViewを継承したwidgetクラスで、実体はopenVideo()メソッドでMediaPlayerを呼び出しています。
MediaPlayerの呼び出しの際に、Uri型でURIを渡しています。String型のファイルバスの場合はUri型に変換して送っています。
つまりこの2つの形式の指定しかできません。
サンプルコード
VideoViewの実体コード

続きを読む
関連記事
  1. 2012/03/04(日) 03:04:29|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:0

動画を再生する方法 MediaPlayer

動画を再生するにはMediaPlayerとVideoViewを使用する方法があります。
MediaPlayerのほうが詳細な指定ができ、VideoViewのほうが容易に使用できます。

[参考記事] MediaPlayer のメソッド一覧
[参考記事] 動画を再生する方法 VideoView
[参考記事] 2.0/2.1以前で再生できる動画が2.2以降で再生できない
[参考記事] アプリからネットワーク通信を行う場合

続きを読む
関連記事
  1. 2012/03/04(日) 03:02:18|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:0

xmlファイルの開始タグと閉じタグは大文字小文字も同じにする

layoutやvaluesに使用されるxmlファイルは、XML形式で書きますが、このXMLの開始タグと閉じタグは大文字小文字も同じにする必要があります。
開始タグと閉じタグの対が同じでないと警告が発生します。

続きを読む
関連記事
  1. 2012/03/04(日) 02:57:17|
  2. Androidアプリ製作
  3. | トラックバック:0
  4. | コメント:0

EclipseのビューをカスタマイズしてファイルエクスプローラやLogCatを表示する

Android開発プラグインをEclipseに組み込んでいる場合、ddms(Dalvik Debug Monitor)を立ち上げなくてもビュー領域にファイルエクスプローラやLogCatを表示させることができます。

[参考記事] EclipseでAndroidプロジェクトを作る方法
[参考記事] ログ出力する方法 アプリのステータスを確認する
[参考記事] アプリケーションのログを見る方法
[参考記事] コマンドプロンプトの文字コードを変える方法

続きを読む
関連記事
  1. 2012/03/04(日) 02:56:11|
  2. Androidアプリ製作
  3. | トラックバック:0
  4. | コメント:0

Eclipseのソースファイルを入手する方法

Eclipseのソースファイルは公式にCVSで公開されています。
またEclipseにはCVSクライアントが標準で組み込まれているので、Eclipseからダウンロードすることができます。

続きを読む
関連記事
  1. 2012/03/04(日) 02:54:35|
  2. Eclipse
  3. | トラックバック:0
  4. | コメント:0

型変換の一覧(キャスト)

文字列型(String)からの変換

続きを読む
関連記事
  1. 2012/03/04(日) 02:52:44|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

base64変換の一覧とその詳細サンプルコード

Javaには、標準でBase64のエンコード・デコード処理を行うメソッドはありません。

sun.misc.BASE64Encoderは、Javaのバージョンや Sun 以外の VM には存在しない可能性があるので、互換性を考慮すると使用しない方がよいとされています。
ビルド時にも警告が出ます。

警告:sun.misc.BASE64Decoder は Sun が所有する API であり、今後のリリースで削除される可能性があります。
警告:sun.misc.BASE64Encoder は Sun が所有する API であり、今後のリリースで削除される可能性があります。

sun.misc.BASE64Encoder sun.misc.BASE64Decoderの例
org.apache.commons.codec.binary.Base64の例
Base64.javaの例
その他

続きを読む
関連記事
  1. 2012/02/27(月) 16:10:38|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

MediaPlayer のメソッド一覧

[参考記事] 動画を再生する方法 MediaPlayer

メソッド一覧

続きを読む
関連記事
  1. 2012/02/27(月) 16:09:04|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:0

[暗号化]ブロック暗号とは(AES/DES/Blowfish PKCS5Padding ECB/CBC IV)

ブロック暗号とは共通鍵暗号の一種で、ブロックと呼ばれる固定長のデータ単位で暗号化を行います。
(ビット単位やバイト単位で暗号化をするものはストリーム暗号です。)

[参考記事] PHPで暗号化・複合化を行う ブロック暗号
[参考記事] Javaで暗号化・複合化を行う ブロック暗号
[参考記事] Perlで暗号化・複合化を行う ブロック暗号
[参考記事] Rubyで暗号化・複合化を行う ブロック暗号

平文データ(生データ)から暗号化されたデータを作成することを暗号化(encryption、encrypt)、暗号化されたデータから元の平文データに戻すことを復号(decryption、decrypt)といいます。
プログラム言語の暗号化ではencryptやdecryptなどの関数名・メソッド名になっていることが多いです。

もちろん元に戻せる(可逆変換)ことが前提で、md5やshaなどはハッシュ化といって不可逆変換です。
またデータから誰でも元に戻せてしまうと暗号化にはならないので、暗号化鍵がないと元に戻せないことも重要です。
base64などは鍵がなくても元に戻せるので、符号化と呼ばれます。
符号化の場合は平文データから符号化されたデータを作成することをエンコード(encode)、符号化されたデータから元の平文データに戻すことをデコード(decode)といいます。
ハッシュ化も符号化も広義には暗号化です。

暗号化方式(暗号化アルゴリズム)
パディング方式
暗号利用モード(ブロック処理の種類)
初期化ベクトル
暗号化前後の長さ(サイズ)
安全性

続きを読む
関連記事
  1. 2012/02/27(月) 16:05:33|
  2. 技術資料
  3. | トラックバック:0
  4. | コメント:0

暗号化・複合化を行う ブロック暗号

PHPでブロック暗号を行うにはMcrypt関数で可能です。
AESやDES、Blowfishなどが使用可能です。

[参考記事] ブロック暗号とは
[参考記事] Javaで暗号化・複合化を行う ブロック暗号
[参考記事] Perlで暗号化・複合化を行う ブロック暗号
[参考記事] Rubyで暗号化・複合化を行う ブロック暗号

PHPではCrypt_BlowfishというPEARもあります。
[参考記事] テキストを可逆的な暗号化する Crypt_Blowfish

サンプルコード
使用できる暗号利用モードの一覧
使用できる暗号アルゴリズムの一覧

続きを読む
関連記事
  1. 2012/02/27(月) 16:03:28|
  2. PHPサンプルコード
  3. | トラックバック:0
  4. | コメント:2

暗号化・複合化を行う ブロック暗号

Javaでブロック暗号を行うにはCipherクラスを使用します。
AESやDES、Blowfishなどが使用可能です。

AndroidではBlowfishが正しく使用できません。(2.2で確認)

[参考記事] ブロック暗号とは
[参考記事] PHPで暗号化・複合化を行う ブロック暗号
[参考記事] Perlで暗号化・複合化を行う ブロック暗号
[参考記事] Rubyで暗号化・複合化を行う ブロック暗号

サンプルコード
使用できる暗号アルゴリズムの一覧
使用できる暗号利用モードの一覧
指定できるパディング方式の一覧
鍵生成(KeyGenerator)で指定できる暗号化アルゴリズムの一覧

続きを読む
関連記事
  1. 2012/02/27(月) 16:01:05|
  2. Java
  3. | トラックバック:0
  4. | コメント:0
次のページ

上に戻る