たぼさんの部屋

いちょぼとのんびり

2012-11-01から1ヶ月間の記事一覧

P003) 算数アプリ 現状は

Main.java package com.efolab.p003; import java.lang.ref.WeakReference; import android.app.Activity; import android.app.PendingIntent; import android.app.PendingIntent.CanceledException; import android.content.Context; import android.conten…

T029) Handlerはstaticなinnerクラスで、かつouterクラスを弱参照で持つように

lintでstatic にしろというので改善策 内部sataticクラスとして記述 UIスレッドにこれを記述 UIスレッドで実体化 Handler handler = new MainHandler(this); サブクラスの別スレッドには引数としてこのhandler実態を渡す sendMessage Message msg = Message.…

eclipse :commentのフォーマッティングを行わない!に変更

eclipse のフォーマッティングが気持ち悪い commentのフォーマッティングを行わない!に変更 参考:http://d.hatena.ne.jp/tomerun/20090209/1234199421

T028) Handler sendMessage : 基本的な書き方

基本的な考え方 構成 Main.java Activity UIスレッド このUIスレッドへのHandlerを規定 サブクラスには引数としてHandlerを渡す こうすると サブクラスからの通信の際に (サブクラスからの参照用に)staticフィールドやstaticメソッドにする必要がない UIス…

T027) Handler#post , Handler#sendMessage

Main.java package com.example.t027_handler_thread_2; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.…

T026) Thread 開始と停止 スレッド間通信

point 開始と停止 public class MyThread implements Runnable { Thread thread = null; @Override public void run() { while(thread != null){ //処理を記述 } } public void start(){ if(thread == null){ thread = new Thread(this); thread.start(); } …

T025) Handler.sendMessage マルチスレッド

reference TechBooster:ThreadとHandlerでマルチスレッド処理化する スレッド(java.lang.Thread)とハンドラ(Android.os.Handler)を使って、キューイングを実装します。キューイングとは異なるスレッドからのメッセージを一時的に蓄積し、相互のスレッドが意…

T024)Handler #2 : Runnableを別に記述する方法

reference throw Life : AndroidのHandlerとは何か? Handlerを使うと、UI Threadの持つキューにジョブを登録できる Main.java package com.example.t024_handler_2; import android.app.Activity; import android.os.Bundle; import android.os.Handler; im…

T023) Handler #1

Main.java package com.example.t023_handler; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.util.Log; import android.widget.LinearLayout; import android.widge…

T022) :6時間かけて、やっとできやした

Mondai.java package com.example.t022_thread_join_jsinterface; import android.annotation.SuppressLint; import android.content.Context; import android.os.Handler; import android.util.Log; import android.webkit.WebView; import android.webkit.…

T021) Thread join()で同期

実行結果 (1):join()なし (2):jioin()記述 Main.java package com.example.t021_thread_sync; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.util.Log; import and…

S001) 0.1秒ごとに表示を更新:scheduleAtFixedRate

point scheduleAtFixedRate Main.java package com.example.s001_sample_thread_1; import java.sql.Date; import java.text.SimpleDateFormat; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java…

T019(2): WebViewの読み込みが完了してから実行する

目的 文字列をjavascript eval()に渡して計算するときに ボタンクリックイベントなら、webview読み込みしてから時間が経過しているので 問題なく動作していた--->T019読み込みから時間をおかずに、scriptを実行する場合は webviewの読み込みが完了してから処…

T020) 計算:javascriptをじかに記述するとき

point assetsにhtmlファイルを配置しないで直接 WebView.loadUrl()でjavascriptを記述する javascriptの使用を許可する Interfaceを追加する:引数にjavascriptからandroidへの呼び出しobjectを指定 javascript呼び出しファイルを指定する javascriptをコー…

T019) (T017をもとにして):Javascript:WebViewを分離

point manifest.xml permission追加しなくても動作している(デバッグ環境:USB+実機)では。 Main.java package com.example.t019_javascriptinterface; import android.app.Activity; import android.content.Context; import android.os.Bundle; import a…

T017) WebView Javascript: 文字列の数式をevalで計算

文字列にした問題の答えを出力するためにjavascirptでevalする Main.java package com.example.t017_wevview_javascript; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.util.Log; import android.vie…

T018) Activity上のLinearLayoutから 別Activityを開く

point (Activity)context Activityは、Viewクラスのなかから、startActivityをやるときなどに、必要な情報です。 以下のように取得します。 Activity activity = (Activity)this.getContext(); なので、今回はcontextは渡されているので Activity activity =…

T016) Sansu_Mondai : 算数アプリの問題を自動生成して文字列にする

Main.java package com.example.t016_sansu_mondai; import java.util.ArrayList; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.widget.LinearLayout; import android.widget.TextView; public …

T015) Threadからメインスレッドのwidgetを参照する

Hanldlerを使う Main.java package com.example.t015_thread_widget; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.util.Log; import android.widget.LinearLay…

P001_ver003) 算数アプリ

構成 実行結果 Main.java package com.efolab.MainActivity; import java.util.ArrayList; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.util.Log; import android.view.View; import android.v…

L008) Basic Layout(#3) 基礎にFrameLayout。setPaddingで余白作る

Main.java package com.example.l008_basic_layout_withpadding; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.widget.FrameLayout; import android.widget.Lin…

L007) Basic Layout(#2) 基本的な配置と編集

reference 画面の作り方(techfirm) LinearLayout上に EditText , Button を配置 配置しただけ package com.example.l007_basic_layout_2; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.widget.B…

P001) 算数アプリ(#2) : レイアウトまで

構成 Main MyHeader MyContents MyInputPanel NumberTable SubLinear MyHeader Main.java package com.efolab.MainActivity; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.util.Log; import and…

P001) 算数アプリ(#1) 基本レイアウト

Main.java package com.example.p001_sansu_v001; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.Gravity; import android.view.ViewGroup; import android.widget.LinearLayout; import an…

L006) TableLayout にButtonを配置 0-9までの番号ボタン

reference レイアウト(10)-TableLayout Main.java package com.example.l006_tablelayout_number; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.util.Log; …

L005) Basic Layout #2 : weight , gravity

目的 weightを使って画面を比率で分ける setGravity()でセンタリング point setGravity(Gravity) 縦の位置指定は親要素に指定する liTop.setGravity(Gravity.CENTER_VERTICAL); //center_vertical LayoutParams.weight 値はfloat(小数、合計1) LayoutParams…

L004) Basic Layout #1: LayoutParams#setMargins 全体にmarginをセットする

目的 画面の全体にmarginをセットする 下地にはRelativeLayoutを使う その上にLinearLayoutをのせる point ViewGroup#setMargins() ViewGroup#MarginLayoutParams android.view.ViewGroup.MarginLayoutParams marginParams = (MarginLayoutParams)liConteine…

L003) TableLayoutで基本的なボタンを複数作る

目的 TableLayoutを使う Button[] を12個配置する point TableLayoutのインスタンスに行インスタンス TableRowを追加 行インスタンスにボタンを配置 TableLayout table = new TableLayout(context); //forループ TableRow row = new TableRow(context); //Ta…

L002) SurfaceViewを複数インスタンス生成&移動

目的 複数のSurfaceViewを可動状態にして移動させる。 SurfaceView内でCircleを描画して移動させておく。 SurfaceViewそのもののOnTouchによる移動 CircleのOnTouchによる移動 構成 Main.java extends Activity MySurfaceViewをインスタンス化 配列で複数起…

L001) RelativeLayout でsurfaceView をレイアウトして円を移動描画

目的 ViewGroupの部品を指定位置に配置する RelativeLaoutをベースに使う。SurfaceViewも指定位置に配置できる。 point MarginLayoutParams width,height,leftMargin,topMarginを指定できる MarginLayoutParams params = (MarginLayoutParams)View.getLayout…