addJavascriptInterface(Object obj, String interfaceName)
addJavascriptInterface(Object obj, String interfaceName)
最近は InputStream/OutputStream をよく使うので、 InputStream で読み込んで OutputStream で書き込むなんて回りくどい方法を思いつたけど それだと毎回ファイルをオープンしているようなので ファイルをオープンせずにコピーする FileChannel を使う方法のほうが良いみたいです。 File iFile = new File(INPUT_FILE_PATH); File oFile = new File(OUTPUT_FILE_PATH); try { FileChannel iChannel = new FileInputStream(iFile).getChannel(); FileChannel oChannel = new FileOutputStream(oFile).getChannel(); iChannel.transferT
APKファイルの書き出しと配布Androidのアプリは「.apk」の拡張子を持つAPK形式のファイルで配布します。ここでは作成したアプリを他人に配布する方法について紹介します。配布前にバージョンを指定したり、署名の作業が必要です。 APKファイルに関して Androidのアプリは、APK形式で配布します。厳密に言えば、Aptanaでデバッグ実行した時にも、APKファイルが作成され端末やエミュレータに転送されますが、不特定多数にアプリを配布する際には、いくつか気をつける点があります。必要なのは、以下の作業です。 バージョン番号を設定する セキュリティ権限を正しく設定する 配布用APKファイルを作成する(署名する) AndroidManifest.xml について Androidアプリの各種設定を行うには、プロジェクトのルートに配置されている「AndroidManifest.xml」(以下マニ
invisibleとgoneはどちらも非表示であるが、goneの場合はウィジェットの表示領域が確保されない点が異なる。 コードを使ってvisibilityの値を指定する場合には、上記、表の定数列のViewクラスで定義されている定数を使う事になる。 以下は、3つのvisibility属性をTextViewに指定し、 その後にButtonを配置したxmlレイアウトファイルの例である。 リスト1-レイアウトファイル(main.xml) このプログラムを実行すると、以下のような画面が表示される。 この画面をみると、visibleと表示されているTextViewの他にもう一個分のTextViewの領域が確保されているのがわかる。 Activityに以下のプログラムを記述して、リスト1のそれぞれのTextViewの幅と高さがどのように確保されているかを確認してみる。 リスト2(VisibleSampl
端末画面がタッチされた場所に画像を表示し、スライドさせるようなものを描いてみた。 タッチ(クリック)された場所の情報を拾うのはonTouchEventメソッドで使用するらしい。移動の部分は、タイマーイベントで、0.1秒毎に画像に対して、動作を加える。 src以下のソースは以下。 MovieBitmap.java package movie.test; import movie.test.R; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.SystemClock; import android.content.Context; import android.content.res.Re
Androidのホーム画面でアイコンを長押しすると動かせる状態になり、 アイコンを自由に配置可能な状態になります。 今回はSurfaceViewを使わず、Layoutに設定されたViewをホーム画面のアイコンのように 指で自由に動かせるようにします。 FrameMoveActivity.java public class FrameMoveActivity extends Activity implements OnTouchListener, OnLongClickListener { private boolean longClickFlg = false; //長押しチェック用フラグ private View move_view; int currentX; //Viewの左辺座標:X軸 int currentY; //Viewの上辺座標:Y軸 int offsetX; /
課題 Androidで進捗状態(プログレスバー)や処理待ちのダイアログを表示させるためのProgressDialogを使う。 方法 1.ダイアログを表示(今回はくるくるまわるやつ) 2.実際に行いたい処理を別スレッドで実行 3.UIのテキストを変更(行わなくてもいい) 4.実際に行いたい処理が終わったらダイアログを消去 文章で書くと長くなるのでサンプルコード参照。 サンプルコード HogeProgressDialog.java public class HogeProgressDialog extends Activity { private ProgressDialog progressDialog; //onCreateDialog()を使う場合 //private final int ID_PROGRESS_DIALOG = 0; /** * 画面が生成されると同時に処理
setContentViewとaddContentView ActivityのContentViewを設定するには、おなじみのsetContentViewメソッドを使うが、 addContentViewというあまり見かけないメソッドもある。 addContentViewメソッドを使うと、Activity画面に複数のContentViewを重ね合わせて表示させる事ができる。 以下に、その例を示す。 リスト1_1(ViewTree1Activity.java) リスト1_2(main.xml) リスト1_3(main2.xml) 実行画面 main.xmlとmain2.xmlの2つのレイアウトファイルにButtonを1つずづ配置し、 このレイアウトファイルを使う2つのContentViewを重ね合わせて表示させている。 それぞれのButtonをクリックすると、それに対応したonClickイベン
いろいろ備忘録 東京で働くプログラマー Androidアプリの開発にここ半年ほどは集中、今年後半はスマフォ向けサイトの仕事が増える予感。実装に躓いたことなどを書き溜めています。 ※このエントリーは続報があります Androidで大きいサイズのビットマップを扱うその2 Androidで大きいサイズのビットマップを扱うその3 上記の2エントリーも読んでください。 2011/03/10追記 先日から作成しているもとい作成させられている画像を扱うアプリで、元の画像の2.5倍くらいのBitmapを作り画像処理を行う処理を書いてテストしていたところ2.1搭載の実機でout of memory例外が発生して落ちるようになってしまっていた。 環境としては Android SDK 2.1 update 1で 実機はxperia x10を使用 でっかいBitmapで遊んだあと壁紙を設定したりして、 もういちど
Androidはタッチパネルで各種操作を行うので、タッチイベントの処理が重要になります。 特にゲームを作る場合など、自前でタッチイベント動作を実装する場合は、onTouchEventやSimpleOnGestureListenerなどを使うことになると思います。 onTouchEventは、「画面タッチ」「移動」「タッチ解除(離す)」などのイベントごとに呼ばれるため、基本的な動作はここで処理することができます。 また、SimpleOnGestureListenerは「ダブルタップ」や「ロングプレス(長押し)」、「フリック」などを自動的に判断してくれるので、もう少し複雑なタッチイベント処理を行うことができます。 onTouchEventを使ったイベント処理(簡単なタッチイベント処理) public class TouchTestActivity extends Activity { @Ove
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
http://www.hakkaku.net/articles/20090831-579 XML の manifest/application/activity の属性、android:screenOrientation を、"portrait" に設定すると、縦画面のまま回転しなくなります。 設定値 "portrait" … 縦画面で固定 "landscape" … 横画面で固定 "unspecified" … デバイス任せ 画面モード(縦、横)が変わる、変わらないを動的に変更 http://319ring.net/blog/archives/1502 if (条件) { // 画面の回転を抑制(現在の向きに固定) Configuration config = getResources().getConfiguration(); if (config.orientation == Con
一般的と思われる方法でコピーを実装します。 つまり、InputStreamでファイルを読込み、書き込み用のOutputStreamに流し込みます。 #読みやすくするため例外処理を入れていません。 public static void copyFile(String srcFilePath, String dstFilePath) { File srcFile = new File(srcFilePath); File dstFile = new File(dstFilePath); // ディレクトリを作る. dstFile.mkdirs(); // ファイルコピーのフェーズ InputStream input = null; OutputStream output = null; input = new FileInputStream(srcFile); output = new F
SDカードのデータ領域 File Environment.getExternalStorageDirectory() 例: /sdcard 端末内のアプリキャッシュ領域 File getCacheDir() 例: /data/data/com.example.test/cache 端末内のデータ領域 File Environment.getDataDirectory() 例: /data/ Download Cache File Environment.getDownloadCacheDirectory() 例: /cache rootディレクトリ File Environment.getRootDirectory () 一時ファイル 一時ファイルではファイルの削除がOS任せになるため、ファイルがどこに生成されるか、いつ削除されるかを知る必要がはありません。 File File.creat
今回は、SDカードにファイルを保存する方法を説明したいと思います。 Android端末の多くは(micro)SDカードスロットを備えており、アプリケーションから利用することができます。内蔵ストレージが少ない端末もあるため、大きいファイルはSDカードに保存したいものです。 また、SDカードに保存することで、ユーザーがパソコンを繋いでデータをコピーすることも可能になります。 SD カードを利用することは難しくないのですが注意する点が二つあります。 それを続きで説明します。 SDカードのパス SD カードのパスは端末によってことなる場合があります。私の手元の端末では /sdcard /mnt/sdcard/ の2つのパターンがありました。 もしかすると端末によってはこれ以外のパスがSDカードに割り当てられているかもしれません。また、同じ端末でもOSのアップデートによってパスが変わらないとも限りま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く