Hatena::Groupandroid

Droidくん「JavaとXMLの魔境、Androidフレームワークの世界へようこそ!」

2010-07-08

covia smartq5 adb on ubuntu (smartq5のidVendorは18d1)

22:50 | はてなブックマーク - covia smartq5 adb on ubuntu (smartq5のidVendorは18d1) - Droidくん「JavaとXMLの魔境、Androidフレームワークの世界へようこそ!」

sudo vi /etc/udev/rules.d/51-android.rules

SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0660"

を加える


sudo /etc/init.d/udev restart

して


USBケーブルでSmartQ5を接続して

adb devices

すると認識されているはず





参考になったURL

http://d.hatena.ne.jp/androkun/20091216/1260974815

YasharYashar2012/06/03 20:57Im based in London have worked as a strreeacy for more than 10 years and have an HND in Business Studies but am tired of admin work and office politics and would like to do something more creative- change careers.. . I write in my spare time and have attended an advanced writing course for the past 3 years. I like reading and would like to see if I could train to teach creative writing in further education or and English /English literature. I would also be grateful if I could get any info on what qualifications you need to be able to teach English as a first language and Basic literacy skills.. . Thanks. Any advice would be great regarding training in London..

qyegxfrvpqyegxfrvp2012/06/04 16:25QBmMbt <a href="http://uzwmnucidsdk.com/">uzwmnucidsdk</a>

zabwzhzabwzh2012/06/04 21:54d01G3l , [url=http://kufliejifyri.com/]kufliejifyri[/url], [link=http://mpxjubskqatx.com/]mpxjubskqatx[/link], http://piqekdynazvn.com/

twssngtwssng2012/06/05 17:34GvOkeP <a href="http://dvmcnfnkxaar.com/">dvmcnfnkxaar</a>

pdtdimwpjbvpdtdimwpjbv2012/06/05 21:05N5mb83 , [url=http://shswsemhgtnq.com/]shswsemhgtnq[/url], [link=http://fvsyjhnrgmsi.com/]fvsyjhnrgmsi[/link], http://mvztbdxsbufv.com/

ChaudhariChaudhari2013/11/22 18:36Hallleujah! I needed this-you're my savior.

AlessiaAlessia2013/11/23 04:30I told my kids we'd play after I found what I <a href="http://eqjbbeud.com">needde.</a> Damnit.

OpenOpen2013/11/25 10:23Way to use the internet to help people solve <a href="http://ivcsjkym.com">preslomb!</a>

MarileeMarilee2013/11/25 16:20That's a clever answer to a tricky quoetisn http://bcgzuwbgyw.com [url=http://jccntevbiel.com]jccntevbiel[/url] [link=http://nyyhdocwryf.com]nyyhdocwryf[/link]

AppleApple2015/10/09 13:54Imagine being a diplomat from aeohtnr country visiting Greece to discuss important issues. The willingness to give up everything so fast of your counterparts would have exceeded your wildest expectations. Looking at out political spectrum where parties barely touch the importance and most importantly the implementation of a national policy, if XA didn t exist we would have to fabricate it. We need a nationalistic voice in the parliament.

EdwinEdwin2015/10/09 22:23Σχετικά με την δραστηριότητα του μητροπολίτου Περγάμου στην Σερβία, να δείτε και αυτό τον άρθρο από την γαλλική ιστοσελίδα www.orthodoxie.com ,Conse9cration e0 Kostolac (Serbie) d'une nouvelle e9glise de9die9e e0 saint Maxime le Confesseuroctobre 30, 2012c0 l'issue du <a href="http://wbcrek.com">coqoulle</a> sur saint Maxime le Confesseur qui s'est tenu e0 Belgrade du 18 au 20 octobre dernier, les participants ont e9te9 invite9s e0 se rendre le 21 octobre e0 Novi Kostolac, dans l'e9parchie de Branicevo pour assister e0 la conse9cration d'une nouvelle e9glise de9die9e e0 saint Maxime le Confesseur. L'initiative de cette construction revient e0 l'e9veaque Ignace Midić, ordinaire du lieu, auteur d'une the8se, soutenue e0 la faculte9 de the9ologie d'Athe8nes, sur saint Maxime le Confesseur. La divine Liturgie e9tait ce9le9bre9e par le me9tropolite Jean (Zizioulas) de Pergame, dont l'e9veaque Ignace est un disciple.Participaient e0 la conse9cration de l'e9glise deux autres disciples du me9tropolite Jean Zizioulas : Mgr Athanase Jevtić, e9veaque retraeete9 d'Herze9govine et l'e9veaque Maxime Vasiljević d'Ame9rique de l'Ouest, ainsi que Mgr David Perović, e9veaque de Krusevac, ami de l'e9veaque Ignace. c0 cette occasion, le contructeur et recteur de l'e9glise, le pe8re Alexandre Mihailovic a e9te9 e9leve9 par l'e9veaque Ignace au rang d'archipreatre.Les fondations de l'e9glise Saint Maxime le Confesseur ont e9te9 pose9s en juillet 1999. L'e9glise a trois absides, et est de style serbo-morave ; son plan a e9te9 dessine9 par l'architecte Radoslav Prokić, de Kragujevac. Les fresques inte9rieures (1, 2, 3, 4, 5) (qui doivent eatre comple9te9es) ont e9te9 peintes par le pe8re Stamatis Skliris, et re9pondent au projet d'illustrer des the8mes de la pense9e du me9tropolite Jean Zizioulas (dont le pe8re Stamatis est e9galement un disciple). Le pe8re Stamatis Skliris, qui re9side e0 Athe8nes mais a effectue9 ses e9tudes the9ologiques a Belgrade, a de9je0 re9alise9 en Serbie le programme iconographique de plusieurs e9glises e0 l'initiative de Mgr Athanase Jevtić, et est l'illustrateur de la plupart des livres publie9s par Mgr Maxime Vasiljević dans sa maison d'e9dition Sebastian Press ; son style est aise9ment reconnaissable par l'usage de couleurs acryliques tre8s vives (avec une dominante de bleus, d'oranges et de verts fluos), par les yeux globuleux des personnes repre9sente9es, et par l'importance donne9e e0 la cre9ation artistique de pre9fe9rence aux canons de l'iconographie byzantine traditionnelle.Source : Site de l'c9glise orthodoxe serbe

NajibNajib2015/10/11 19:54dastonhai jalbi bodsargarm shtidmsoaoman gzashtaz daltangi bironamadim nazare man ine k khob bod albate bazi hashon chon bazi hashon kheily ghashang bod chon man mitonam farda khodamo ba in chizab sargarm konam valy b ghole baradaram sarmgarm konandeye khobi bod man az yeki a in dastan ha kheily khosham umade bod http://jcjqwh.com [url=http://yfolxpgle.com]yfolxpgle[/url] [link=http://gvfrxfvk.com]gvfrxfvk[/link]

OpenOpen2015/10/13 08:37<a href="http://zcdornxscvv.com">Ecooemins</a> are in dire straits, but I can count on this!

DeliaDelia2015/10/13 15:47Your articles are for when it abolyutels, positively, needs to be understood overnight. http://lwqarlw.com [url=http://ldkjax.com]ldkjax[/url] [link=http://qsblrcbzk.com]qsblrcbzk[/link]

トラックバック - http://android.g.hatena.ne.jp/yuiseki/20100708

2010-07-01

たとえばActivityがForegroundのときだけ定期的にAsyncTaskを実行したいとすると

22:17 | はてなブックマーク - たとえばActivityがForegroundのときだけ定期的にAsyncTaskを実行したいとすると - Droidくん「JavaとXMLの魔境、Androidフレームワークの世界へようこそ!」

Androidといえばマルチタスクでバックグラウンドで常駐処理!!!などと喧伝されており

バックグラウンドで定期処理とかやるときはandroid.app.Serviceというのを使おう!!!といたるところで書かれている昨今。


しかし色々と調べたところ

たとえば、あるアプリケーションのUIを、バックグラウンドで走る定期的な処理に応じて更新するみたいな用途にはServiceは若干オーバースペックぎみのようで、

Serviceで音楽を再生してそこからがんばって呼び出し元ActivityのViewを更新しているような事例もチラホラ見当たるもののかなり大変そう。。

実際のところjava.util.TimerTask + AsyncTaskのほうが、UIスレッド上のViewをじかに触れるしシンプルなのではないかと思いました。


ところが実現しようとすると意外と厄介(かつググっても情報がない状態)だったのでメモ


何も考えずにonCreateのなかでjava.util.TimerTaskのscheduleメソッドでAsyncTaskをよびっぱなしにすると、どんどん非同期タスクが生成されて大変な事になる。

Homeに戻ってもまだまだガンガンスレッドが生成実行されている。

これは画面から消えてもActivityが実行されつづけているから。


activityにisForegroundみたいなメソッドがあれば、それがtrueのときだけtaskを実行するというふうにできるがそういうのもないらしく、

さらにactivity isFinishingメソッドはfinishメソッドでactivityが止められたとき専用のフラグのようなので、

ここではisForegroundというクラス変数を用意して、onXxxというActivityのライフサイクルが変わったことを知らせるメソッドが呼ばれるたびにその変数を書き換えることにしてみた。

いちおうこれで期待通りの動きをしてくれる。

public class HogeAndroid extends Activity {
    public static boolean isForeground;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        isForeground = true;
        Timer timer = new Timer(false);
        // このActivityが最全面かどうか5秒おきに確認して最前面のときだけ非同期でタスクを実行
        timer.schedule(new TimerTask() {
            public void run() {
                if (isForeground){
                    SomeAsyncTask task = new SomeAsyncTask(HogeAndroid.this);
                    task.execute("hoge");
                    }
                }
            },0, 5000);
   }

    @Override
    protected void onResume(){
		isForeground = true;
		super.onResume();
    }
    
    @Override
    protected void onStop(){
		isForeground = false;
		super.onStop();
    }
    
    @Override
    protected void onPause() {
		isForeground = false;
		super.onPause();
    }
}

これでUIの更新に関する処理は、SomeAsyncTaskのonPostExecute()にゴリゴリ書いて問題ないはず。

ServiceやHandlerやcallbackやADILを記述するよりは楽に済ませられる。


最初は単純にonPause()の部分でAsyncTask task.cancel();を実行するようにしてみたが、これでは次々生成されるタスクの新規生成自体は全然止められなかったのでこうした。(これはTimerTaskを停止してないので当然)

このコードだと5秒おきにTimerTaskを起動しているが、onXxxのたびにTimerTaskのcancel()とかscheduleとかをやったほうが実行時のコストは下がるかもしれない。。(が、コードはこれより複雑になりそう)


Serviceがどうしても必須となるシーンは、Activityが完全にonDestroyで停止されてしまったあとも実行しつづけてユーザーにNotificationを送ったりしたい場合くらいかも?

※追記:Serviceが必須になる状況がほかにもあった。ActivityのUIThread と完全に独立したバックグラウンド処理でスレッドを動かしつづけて、その処理結果に応じてActivityを更新したいようなとき。AsyncTaskは呼び出されるたびに実行され毎回その結果を反映して終了ようなタイプの処理にしか使えない。ので、終了が存在しないようなパターン(通信待ち受け処理とか)でなにかが起きる度にUIに反映されせる、といった状態には向いていない。。。

単に非同期の処理を定期的に実行してUI更新したい、とかならServiceなしでも上に書いた方法で可能。

LuckyLucky2012/02/15 21:16Son of a gun, this is so heflpul!

aokoylzaokoylz2012/02/16 18:093Lenaa <a href="http://zkqpwsvsjezf.com/">zkqpwsvsjezf</a>

mubcuvmubcuv2012/02/16 23:47AXBebo , [url=http://vxdzofynkobj.com/]vxdzofynkobj[/url], [link=http://jhzsxmerhoel.com/]jhzsxmerhoel[/link], http://omhjlfsmndax.com/

ElenaElena2013/11/22 20:11Stay inartmfoive, San Diego, yeah boy!

JooJoo2013/11/23 04:46Yeah that's what I'm talking about <a href="http://noljyi.com">ba-i-bnyce</a> work!

SamSam2013/11/25 10:27Check that off the list of things I was <a href="http://dppaizybg.com">coesufnd</a> about.

SamSam2013/11/25 10:27Check that off the list of things I was <a href="http://dppaizybg.com">coesufnd</a> about.

SamSam2013/11/25 10:27Check that off the list of things I was <a href="http://dppaizybg.com">coesufnd</a> about.

BankBank2015/10/09 18:33Yeah, that's the tikcet, sir or ma'am

SunielSuniel2015/10/11 12:34Until I found this I <a href="http://jqsvuzzoyxm.com">thhgout</a> I'd have to spend the day inside.

ObitObit2015/10/13 08:48Wow! Great <a href="http://titxci.com">thikinng!</a> JK

AmandaAmanda2015/10/13 15:52This post has helped me think things thgrouh http://sunlork.com [url=http://xuknivff.com]xuknivff[/url] [link=http://zhpoxiqvpz.com]zhpoxiqvpz[/link]

GalalGalal2015/12/20 03:13I seaechrd a bunch of sites and this was the best.

OriosOrios2015/12/20 10:57Stay <a href="http://exfagmebtr.com">inrmtoafive,</a> San Diego, yeah boy!

AnandAnand2015/12/23 21:56I actually found this more enrintaiteng than James Joyce. http://mwnqudf.com [url=http://eidmantrl.com]eidmantrl[/url] [link=http://otyaqzjmlm.com]otyaqzjmlm[/link]

トラックバック - http://android.g.hatena.ne.jp/yuiseki/20100701

2010-06-30AndroidのGUIウィジェットをXMLで記述してカスタマイズする事例

画面全体を縦方向にスクロールできるようにする

19:18 | はてなブックマーク - 画面全体を縦方向にスクロールできるようにする - Droidくん「JavaとXMLの魔境、Androidフレームワークの世界へようこそ!」

Androidでビューをスクロールできるようにするためにはスクロールさせたい要素をScrollViewでかこむ。とチュートリアルなどではよく書いてある。

しかしScrollViewはレイアウトのルート要素になることはできないうえに、ScrollViewの直下に他のGUIウィジェットを直接配置することもできない。らしい。

単に適当に囲んだだけだと、ブラウザのiframeのように画面の一部のビューだけスクロールできるようになってしまったりしておかしい。



とくにどこにも書かれていないのだが、よくあるブラウザアプリなどのようにふつうに画面全体をスクロールさせるためには、

<LinearLayout><ScrollView><LinearLayout>あれこれ</LinearLayout></ScrollView></LinearLayout>とかしないといけないらしい。


ついでに念のためルート要素でandroid:scrollbarAlwaysDrawVerticalTrack="true"とかしておく。


res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>
		
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:scrollbarAlwaysDrawVerticalTrack="true"
    android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">

	<ScrollView android:id="@+id/ScrollView01"
		android:layout_width="fill_parent" android:layout_height="fill_parent">
		
	    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	                  android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" >


               <!-- 画面全体の内容をここに記述 -->


		</LinearLayout>

	</ScrollView>
	
</LinearLayout>

Spinnerをカスタマイズする方法メモ

19:17 | はてなブックマーク - Spinnerをカスタマイズする方法メモ - Droidくん「JavaとXMLの魔境、Androidフレームワークの世界へようこそ!」

View側でなにも考えずにSpinnerというドロップダウン選択肢みたいなやつを作ると、

Webサイト上のチュートリアルでよく見るようなラジオボタンっぽい画像がついた文字の大きな選択肢になってくれない。

米粒のような小さいフォントで文字列が表示されてしまって押し難いことこのうえない。


スピナーはボタンを押す前のビューと押したあとに表示されるダイアログ風のビューのふたつがあって、それぞれ別々に指定する必要があるらしい。

ダイアログ風ビューのときの見た目は

adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);

のようにスピナーのArrayAdapterオブジェクトに対して明示的に指定しないと変えられないようだ。

これを忘れるとデフォルトの豆文字フォントで表示されてしまう。

レイアウトXMLで両方ともまとめて定義する方法はあるんだろうか…


android.R.layout.simple_dropdown_item_1lineはandroidフレームワーク内で定義済みのスタイルらしい。


res/layout/main.xml

<Spinner android:id="@+id/spn"
	android:prompt="選択肢を選んでください"
	android:layout_height="wrap_content" android:layout_width="wrap_content"
	android:layout_alignParentTop="true" android:layout_centerHorizontal="true"
	/>

src/com.example.hoge/Activity.java

Spinner spn = (Spinner) findViewById(R.id.spn);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(mActivity, R.layout.rowdata);
adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
adapter.add("hoge");
spn.setAdapter(adapter)

SeekBarのツマミ(thumb)をカスタマイズする方法メモ

19:16 | はてなブックマーク - SeekBarのツマミ(thumb)をカスタマイズする方法メモ - Droidくん「JavaとXMLの魔境、Androidフレームワークの世界へようこそ!」

SeekBarというのはいわゆるスライダー(Slider)とも呼ばれている、横長のバーをぐりぐり動かして値を調整するようなUI

AndroidのデフォルトのSeekBarのツマミが小さすぎて操作しずらいと感じたため、カスタマイズしようとしたらものすごく面倒だった。

ググっていろいろと探したがMLや英語の質問サイトどころか公式ドキュメントにもろくな情報がない。

最終的に中国語のよくわからないブログなどを参考にしてなんとかカスタマイズできた。


res/layout/main.xml

<SeekBar android:id="@+id/HogeSeekbar"
	 style="@style/CustomSeekBar"
	 />

res/values/styles.xml

<style name="CustomSeekBar" parent="android:Widget.SeekBar">
	<item name="android:gravity">center_vertical</item>
	<item name="android:layout_width">300px</item>
	<item name="android:layout_height">wrap_content</item>
	<item name="android:paddingLeft">30px</item>
	<item name="android:paddingRight">10px</item>
	<item name="android:thumb">@drawable/thumb</item> <!-- ツマミに利用するdrawableを指定 -->
	<item name="android:max">5</item> <!-- 最大値。SeekBar全体がこの値で等分される -->
	<item name="android:progress">2</item> <!-- ツマミの初期位置 -->
</style>

SeekBarで値を調節するためのツマミのようなGUIパーツは、ユーザーからの入力によって複数の状態になるためそれぞれ指定する必要がある。

android:state_なんちゃらについては、XML内の順番とか複数のstateの組み合わせによっても挙動が変わるようで公式ドキュメントをいくら眺めてもなんの手がかりもない。。

Buttonウィジェットやリストウィジェットについてはそこそこ事例が多少あるのだがSeekBarのツマミの事例はほとんどなかった。

res/drawable/thumb.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
		
	<item
		android:state_focused="true"
		android:state_pressed="true"
		android:drawable="@drawable/thumb_focused"
		/>
		 
	<!-- ツマミにフォーカスの当たっていない標準の状態 -->
	<item
		android:state_focused="false"
		android:state_pressed="false"
		android:drawable="@drawable/thumb_shape"
		/>
		
	<item
		android:state_focused="true"
		android:state_pressed="false"
		android:drawable="@drawable/thumb_focused"
		/>
		 
	<item
		android:state_focused="true"
		android:drawable="@drawable/thumb_focused"
		/>
</selector>

実際にツマミとして表示されるdrawableのサンプル。

状態ごとに画像をたくさん用意しているチュートリアルはよくあるがここではshapeをxmlで指定する。

shapeについては画面全体やボタンなどのビューの背景をxmlで記述したshapeに指定するチュートリアルもよくあるが、サイズが変わる他の要素の背景ではなくそれ自体サイズをもつshapeを定義する必要がある。

<size android:width="30px" android:height="30px" />を記述しないと、サイズのある画像として認識されず、ビュー上で消えてしまうので注意が必要(背景に指定するときは勝手に引き伸ばしてくれるのでsize子要素はいらないのだが)。

thumb用xmlファイルはこれひとつではダメで実際はツマミの各状態にあわせて色を変えたりしてthumb_pressed.xml, thumb_focused.xml, ...etcをつくって指定する必要がある

res/drawable/thumb_shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
	<size android:width="30px" android:height="30px" />
	<solid android:color="#ffdcdcdc" />
    <corners android:radius="5px" />
    <padding android:left="10px" android:right="10px" android:top="10px" android:bottom="10px" />
</shape>

RadioButtonをカスタマイズする方法メモ

19:16 | はてなブックマーク - RadioButtonをカスタマイズする方法メモ - Droidくん「JavaとXMLの魔境、Androidフレームワークの世界へようこそ!」

ラジオボタンは複数の選択肢からひとつを選ぶためのUI

Spinner(ドロップダウン)との違いはすべての選択肢があらかじめ見える状態になっているか否かくらいか。


Androidの初期設定のRadioButtonウィジェットは驚くほど巨大でダサいので、これもカスタマイズしようとしたらいろいろハマった。

iPhoneではRadioButtonをフラットなボタンにしたようなUIがあるが、そういうやつはAndroidではないらしいのでつくった。


要点としては

RadioButtonをまとめる要素であるRadioGroupは標準では垂直に要素を並べるようになっているので水平に変更。

RadioButton要素は実際はボタンとテキストビューのふたつの部分から構成されている。

checkされているかを示している標準のボタンはでかくて邪魔なので消してしまう。

テキストビューの背景をボタンっぽいものに変更し、checkされているかどうかの状態によってこれを変えることで、あたかもたくさんのボタンウィジェットからひとつの選択肢を選べるようなFlatRadioButtonを実現する。


res/layout/main.xml

<RadioGroup android:id="@+id/rg_wb" android:orientation="horizontal"
		android:layout_width="fill_parent" android:layout_height="wrap_content">
		<RadioButton android:id="@+id/Option0" android:text="1"
			style="@style/FlatRadioButton" />
		<RadioButton android:id="@+id/Option1" android:text="2"
			style="@style/FlatRadioButton" />
		<RadioButton android:id="@+id/Option2" android:text="3"
			style="@style/FlatRadioButton" />
		<RadioButton android:id="@+id/Option3" android:text="4"
			style="@style/FlatRadioButton" />
		<RadioButton android:id="@+id/Option4" android:text="5"
			style="@style/FlatRadioButton" />
</RadioGroup>

res/values/styles.xml

<style name="FlatRadioButton" parent="android:Widget.CompoundButton.RadioButton">
	<item name="android:layout_height">wrap_content</item>
	<item name="android:layout_width">64px</item> <!-- ボタンの幅。画面の幅とボタンに表示するテキストと選択肢の数で調整する -->
	<item name="android:paddingTop">10px</item>
	<item name="android:paddingBottom">10px</item>
	<item name="android:paddingLeft">5px</item>
	<item name="android:paddingRight">4px</item>
	<item name="android:button">@null</item> <!-- ラジオボタンの先頭の画像を表示しないときにこれを指定するらしい。。。ひたすらググった結果判明 -->
	<item name="android:background">@drawable/flatbutton</item> <!-- ラジオボタンのテキストの背景部分をボタンぽいやつに指定。標準だと背景なし -->
	<item name="android:gravity">center_horizontal</item>
	<item name="android:textColor">#000000</item>
</style>

途中で面倒になったのでいくつかの状態でdrawableを使いまわしている。。

res/drawable/flatbutton.xml

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
	<!-- 選択状態の選択肢が押されたとき -->
	<item
		android:state_checked="true"
		android:state_pressed="true"
		android:drawable="@drawable/on_pressed"
		 />
	<!-- 選択されているとき -->
	<item
		android:state_checked="true"
		android:drawable="@drawable/on"
		 />
	<!-- 選択されていない選択肢が押されたとき -->
	<item
		android:state_checked="false"
		android:state_pressed="true"
		android:drawable="@drawable/off_pressed"
		 />
	<!-- 選択されていない選択肢にフォーカスがあたったとき -->
	<item
		android:state_focused="true"
		android:state_checked="false"
		android:state_pressed="false"
		android:drawable="@drawable/on"
		 />
	<!-- 選択されていない選択肢のデフォルト状態 -->
	<item
		android:state_checked="false"
		android:drawable="@drawable/off"
		/>
</selector>

状態のぶんだけボタンdrawable xmlをつくる

res/drawable/on.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke android:width="1px" android:color="#000000" />
        <gradient
        android:startColor="#ffcc00"
        android:endColor="#ff9933"
        android:angle="270" />
    <corners android:radius="3px" />
</shape>

AddyAddy2012/02/15 05:05Boom shakalaka boom boom, problem soelvd.

twhrwztwhrwz2012/02/15 17:39xvOg3K <a href="http://swmgvbwbpiyx.com/">swmgvbwbpiyx</a>

pbhhznpbhhzn2012/02/17 21:25iUnWbv <a href="http://maofsnogcxhv.com/">maofsnogcxhv</a>

JulianaJuliana2013/11/22 18:21Such an imrsipseve answer! You've beaten us all with that!

NelsonNelson2013/11/24 08:53Fidinng this post solves a problem for me. Thanks! http://ztmsjg.com [url=http://yhcxlfmx.com]yhcxlfmx[/url] [link=http://cjmuttefd.com]cjmuttefd[/link]

HanifHanif2013/11/25 10:23I really wish there were more <a href="http://kjhzglzeiph.com">artilces</a> like this on the web.

JohnJohn2013/11/25 16:18That's an inventive answer to an inenitstreg question http://puffhr.com [url=http://kujxpe.com]kujxpe[/url] [link=http://oragnrdre.com]oragnrdre[/link]

nisaifMetnisaifMet2017/09/04 01:02payday loan store <a href="http://cashadvances2017.com"> payday loans direct lender</a> <a href="http://cashadvances2017.com"> online payday loans</a> <a href=http://cashadvances2017.com>online payday loans</a> online payday loans direct lenders

nvdkwyMetnvdkwyMet2017/09/12 13:02payday loans for bad credit <a href="http://paydayloans2017.com"> payday loans no credit check</a> <a href="http://paydayloans2017.com"> payday loans online no credit check</a> <a href=http://paydayloans2017.com>best payday loans</a> easy payday loans

トラックバック - http://android.g.hatena.ne.jp/yuiseki/20100630

2010-06-09

antでandroidプロジェクトをビルドするとコメントの日本語などが文字化けエラーを発生する件の対処

18:15 | はてなブックマーク - antでandroidプロジェクトをビルドするとコメントの日本語などが文字化けエラーを発生する件の対処 - Droidくん「JavaとXMLの魔境、Androidフレームワークの世界へようこそ!」

404 Not Found

[javac] D:\Android\Project\hello\src\com\example\hello\Hello.java:**:

警告: この文字は、エンコーディング ascii にマップできません。


sdk\platforms\android-x.x\templates

 の中の

android_rules.xml

 の encoding="ascii"を encoding="utf-8"に書き換える。

<javac encoding="utf-8" target="1.5" debug="true" extdirs=""</ppp>

あとで書く

KadenKaden2012/02/15 03:15What lbiaertnig knowledge. Give me liberty or give me death.

esnsgzmesnsgzm2012/02/17 02:519NEUcD <a href="http://ozetqkwqooeq.com/">ozetqkwqooeq</a>

dwwwcxfdwwwcxf2012/02/18 00:13ownYCC , [url=http://gtliamnstrpm.com/]gtliamnstrpm[/url], [link=http://qvllqxilnlqj.com/]qvllqxilnlqj[/link], http://jgwhyzjeyjho.com/

GurvirGurvir2015/10/09 14:33Knocked my socks off with kndeweogl!

JayJay2015/10/09 22:24That's really thinking at an <a href="http://nzyjmyfta.com">imvsrseipe</a> level

VeronicaVeronica2015/10/13 08:38Wow I must confess you make some very <a href="http://vdskot.com">trhnecant</a> points.

AlexAlex2015/10/13 15:48At last! Something clear I can unsrdetand. Thanks! http://esxfvmbee.com [url=http://wioyrphhf.com]wioyrphhf[/url] [link=http://fuyggtutpgl.com]fuyggtutpgl[/link]

JesseJesse2015/12/20 04:04This arcltie keeps it real, no doubt.

FrehiwotFrehiwot2015/12/20 10:58That's the <a href="http://octsscuuslz.com">perefct</a> insight in a thread like this.

EdoyyEdoyy2015/12/23 21:57Wonderful extpinalaon of facts available here. http://cdiudp.com [url=http://keglwypz.com]keglwypz[/url] [link=http://okosimuicxq.com]okosimuicxq[/link]

udubildiguudubildigu2017/06/24 19:20http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

elobopoelobopo2017/06/24 19:21http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

oketeveoketeve2017/06/24 19:33http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

zitaedaxinuzitaedaxinu2017/06/24 19:34http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

apewuveagapewuveag2017/06/24 19:48http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

obupozivatozobupozivatoz2017/06/24 20:01http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

hopuodapacixahopuodapacixa2017/06/25 20:48http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

ojejakikuiojejakikui2017/06/25 21:02http://100mg-viagracanada.com/ - 100mg-viagracanada.com.ankor <a href="http://sertralinezoloftonline.com/">sertralinezoloftonline.com.ankor</a> http://20mg-tadalafil-lowest-price.com/

トラックバック - http://android.g.hatena.ne.jp/yuiseki/20100609

2010-06-02

Android SDKの導入 on Ubuntu

16:38 | はてなブックマーク - Android SDKの導入 on Ubuntu - Droidくん「JavaとXMLの魔境、Androidフレームワークの世界へようこそ!」

わすれそうなので

debian, ubuntuなどのapt系での導入

eclipseを使わないでvimなどのCUI中心で開発をすすめたい

android-sdk-linux_86/toolsにパスを通す

Android SDK and AVD Manager」というGUIコンソールが起動する。VirtualDevicesで適当なやつをつくって起動してみる

起動が確認できたらそのままにして、HelloWorldに進む

  • cd
  • mkdir sandbox
  • cd sandbox
  • android create project --target 3 --package com.example.hello --activity HelloAndroid --path hello

sandboxのなかにhelloディレクトリとその中にもろもろのファイルが生成される

  • cd hello

bin/HelloAndroid-unsigned.apkなどが生成される

無事にビルドできたら署名をする

  • keytool -genkey -keystore /home/yuiseki/.android/yuiseki.keystore -validity 10000 -alias yuiseki
  • jarsigner -keystore ~/.android/yuiseki.keystore -verbose /home/yuiseki/sandbox/hello/bin/HelloAndroid-unsigned.apk

署名が終わったら仮想デバイスにインストールする

  • adb install HelloAndroid-unsigned.apk
  • 仮想デバイスのアプリ一覧から起動してみる
  • ant debug; adb install bin/HelloAndroid-debug.apk; adb shell am start -a com.example.hello.MAIN -n com.example.hello/.HelloAndroid

ログメッセージなどの出力

  • adb logcat

仮想デバイスの起動はGUI上のTerminalからしかできないようだ。

adbなどのコマンドは、勝手に起動している仮想デバイス、USB接続されているAndroidをさがしてよしなにはからってくれる。(リモートからsshでも実行可能)

ほげ

16:24 | はてなブックマーク - ほげ - Droidくん「JavaとXMLの魔境、Androidフレームワークの世界へようこそ!」

とりあえずAndroidっぽい色にした

DanDan2012/10/29 16:41Action rueiqers knowledge, and now I can act!

porrfamsoxjporrfamsoxj2012/10/30 00:36EFrEFE <a href="http://viotmzigvnbp.com/">viotmzigvnbp</a>

sxwudlwsxwudlw2012/10/31 15:39yowwoj , [url=http://hccqjnqvocdu.com/]hccqjnqvocdu[/url], [link=http://gybsunxzyhpu.com/]gybsunxzyhpu[/link], http://ltfynadesxse.com/

トラックバック - http://android.g.hatena.ne.jp/yuiseki/20100602