FC2ブログ

技術系のブログ

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

スポンサーリンク

動画を再生する方法 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

MediaPlayer のメソッド一覧

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

メソッド一覧

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

WebViewを使ってWebサイトを表示する方法 WebKitからアプリ、アプリからWebKitへの連携処理

Androidでは端末内のWebkitブラウザを使用して、簡単にアプリ内にブラウザ表示をさせることができます。

WebViewを使用する基本
ブラウザ(WebKit)からアプリへ処理を渡す方法
アプリからブラウザ(WebKit)へ処理を渡す方法
ローカルのHTMLファイルを表示させる方法
[参考記事] WebViewの設定一覧

WebViewを使用する基本

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

LinearLayout をスクロールさせる方法(ScrollViewの使用方法)

LinearLayoutはコンポーネント(内包要素)が増えても、スクロールバーが付きません。
このため表示領域からはみ出てしまう部分は見ることができません。
スクロールさせる機能はないので、縦スクロールにはScrollView、横スクロールにはHorizontalScrollViewを使います。
具体的にはLinearLayoutをScrollViewまたはHorizontalScrollViewで囲います。

ただScrollViewは子要素に1つしかViewを設定できません。

javaソースに記述する場合

続きを読む
  1. 2012/02/25(土) 13:21:17|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:0

ファイルをコピーする InputStream,OutputStreamの使用例

InputStreamとOutputStreamの基本的な使用方法です。

サンプルコード

続きを読む
  1. 2012/02/25(土) 02:15:08|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:0

Webからダウンロードして保存する DefaultHttpClientの使用例

サンプルコード

続きを読む
  1. 2012/02/25(土) 02:13:23|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:0

テキストデータをファイルに書き込む BufferedWriterの使用例

[参考記事] ファイルのテキストデータを読み込む

サンプルコード

続きを読む
  1. 2012/02/25(土) 02:11:57|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:0

Viewの表示・非表示を切り替える方法

Viewの表示・非表示を切り替えるには、view#setVisibility(int visibility)メソッドを使用します。

visibility引数には可視状態を表す定数を指定します。
非表示には2種類あり、CSSのvisibility:hidden、display:noneの違いに似ています。

引数説明
View.VISIBLE表示する。
これが初期値です。
View.INVISIBLE非表示にする。
非表示にした領域は詰めない。
viewが見えないだけで、領域は占める。
CSSのvisibility:hiddenに似ています。
View.GONE非表示にする。
非表示にした領域を詰める。
viewがそもそもなかったように振舞う。
CSSのdisplay:noneに似ています。

ボタンで表示、非表示を切り替える場合のサンプル

続きを読む
  1. 2012/02/12(日) 18:49:00|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:0

EditTextのソフトキーボードの『完了』を虫メガネアイコンなどに変更する方法

EditTextのソフトウェアキーボードの確定ボタンは、標準では『完了』となります。
これを虫眼鏡アイコンなどに変更することができます。

[参考記事] EditTextで改行させない方法

虫眼鏡アイコンに変更する場合は次のようになります。

editText = new EditText(this);
editText.setImeOptions(DEFAULT_KEYS_SEARCH_LOCAL);

xmlレイアウトで記述する場合は、EditTextの属性に

android:imeOptions="actionSearch"

setImeOptionsの値のそれぞれの表示

続きを読む
  1. 2012/02/12(日) 18:47:13|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:0

assetsフォルダには1MB以上の非圧縮ファイルを設置できない

Androidでファイルを設置する場合にassetsフォルダを使用することがありますが、このフォルダにはファイルの容量制限があります。

[参考記事] assetsフォルダのファイルを扱う方法 AssetManager

この容量を超えたものをインストールしようとすると、次のようなエラーが出ることがあります。

W/ResourceType(11947): Unable to get buffer of resource asset file

またインストールできたとしても、実行時に次のようなエラーが出て突如アプリが閉じます。

D/asset   (  300): Data exceeds UNCOMPRESS_DATA_MAX (1353552 vs 1048576)

この容量はOSの次のファイルの『UNCOMPRESS_DATA_MAX』の値で制限されています。

frameworks/base/include/utils/asset.h

#ifdef HAVE_ANDROID_OS
        UNCOMPRESS_DATA_MAX = 1 * 1024 * 1024
#else
        UNCOMPRESS_DATA_MAX = 2 * 1024 * 1024
#endif

実機では端末によって設定が異なるため、値が違うことがあります。

assetsフォルダ内の全容量ではなく、ファイルごとの容量です。
res/xml以下のxmlファイルも該当します。
res/xmlフォルダの1MB以上のxmlファイルは読み込めない

制限されている値は、
UNCOMPRESS_DATA_MAX = 『非圧縮データの最大容量』
ということなので、圧縮されている場合にはこの制限はありません。

assetsフォルダに大きなファイルを設置するには、圧縮して設置する方法や、分割して設置する方法があります。
またそもそもassetsフォルダに設置せず、サーバからダウンロードするという方法もあります。

assetsフォルダに圧縮ファイルを設置して、解凍するサンプルコード

続きを読む
  1. 2012/02/12(日) 18:40:30|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:0

TextViewに独自フォントを使用する方法

TextViewで独自フォントを使用するには、フォントファイルをassetsフォルダに設置して指定するか、フォントファイルのパスを指定する方法があります。

AndroidアプリでTextViewに使用できるフォントの一覧
assetsフォルダには1MB以上の非圧縮ファイルを設置できない

assetsフォルダに設置
/assets/fonts/sample.ttfとすると

Typeface typefaceOriginal = Typeface.createFromAsset(getAssets(), "fonts/sample.ttf");

パスを指定

Typeface typefaceOriginal = Typeface.createFromFile(path);

またassetsフォルダには非圧縮ファイルに容量制限があり、フォントファイルがこの容量制限を超える場合は圧縮ファイルにするなどの対応をします。

フォントを圧縮して次の場所に設置
/assets/font/sample.zip

サンプルコード

続きを読む
  1. 2012/02/12(日) 18:38:17|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:0

SDカードに保存したファイルをギャラリーなどに反映させる方法

アプリからSDカードに画像などのファイルを保存しても、すぐにはギャラリーなどに反映されません。

これを即時反映させるには、コンテンツリゾルバに保存したファイルの情報を登録する必要があります。
またギャラリーに表示されるファイルのタイトルは、標準ではファイル名ですが、これをファイル名以外の名前で表示させることもできます。

サンプルコード

続きを読む
  1. 2012/02/03(金) 09:24:13|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:0

SDカードの空き容量を調べる方法

StatFsにSDカードのパスを渡すことでさまざまな情報を得ることができます。
SDカードの空き容量を調べるには、この情報から 総ブロック数×空きブロック数 で計算できます。

[参考記事] SDカードが接続されているかどうか知る方法

続きを読む
  1. 2012/02/01(水) 15:53:02|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:1

SDカードが接続されているかどうか知る方法 書き込み可能かどうか 読み込み可能かどうか

SDカードの接続状態は
Environment.getExternalStorageState()
で知ることができます。

[参考記事] SDカードの空き容量を調べる方法

String status = Environment.getExternalStorageState();
if (status.equals(Environment.MEDIA_MOUNTED)) {
  // SDカードが接続されている
}
続きを読む
  1. 2012/02/01(水) 15:51:34|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:0

ListViewにArrayAdapterを渡すサンプルコード(一覧項目から選択する場合のUI)

ListViewにArrayAdapterを渡す場合のサンプルです。
ListViewは一覧項目から選択する場合のUIに適しています。

ArrayAdapterにaddメソッドでアイテムを追加します。
setOnItemClickListenerでListViewに追加したOnItemClickListenerクラスのonItemClickメソッドで、クリックされたときの動作を指定します。
onItemClickメソッドの第3引数positionがクリックされたリスト番号です。
getItemAtPositionメソッドにリスト番号を渡すと、addメソッドでセットされたリストの表示内容が得られます。

サンプルコード

続きを読む
  1. 2012/02/01(水) 12:29:23|
  2. Androidサンプルコード
  3. | トラックバック:0
  4. | コメント:1

上に戻る