siculix:(typeメソッド)CTRLとそのほかのキーの同時押しで例外が発生する

久しぶりにここを使うことになるとは。
最近Siculixと呼ばれる自動化ツールを使うことがありました。
記述はPythonをベースにしているようですが、そのツールでつまずいたことがあったのでメモ。

(起きたこと)
 typeメソッドでCtrl+他のキーを実行しようとするとPythonで例外が発生する。

 

 IEの操作でCTRL+TABを押

 

下することでタブの切り替えをしたいと思ったのですが...

 ひとまずこんな感じに書いてみました。

 f:id:eight-seven:20180327005658p:plain

そして実行を押してみると・・・

f:id:eight-seven:20180327005717p:plain

なんとまあ、例外で落ちてしまっているじゃないですか・・・

どうしたことか。


(解決方法)

いたってシンプルでした。

キーの指定を逆にして、CTRLキーを後ろにするだけ。

 

f:id:eight-seven:20180327010012p:plain

こんだけ。

これで動いちゃう。 うーん、なんででしょうね。
調べても原因がわからないのでひとまずこの方法で。

 

 

BootCampアシスタント windows7 ダウンロードが進まない問題

備忘録として。

 

OSX yosemite

Macbook pro (13-inch,Mid 2012)

 

【今日の作業】Windows7pro 64bitをインストール。

 

【作業の中で起きた問題】

Boot campアシスタントにて、Windowsサポートソフトウェアのダウンロードが一向に進まない。

 

<解決方法>

インストール時に「最新のWindowsサポートソフトウェアをAppleからダウンロードチェックボックスのチェックを外す。

 

サポートソフトウェアは別途MacのWebページからダウンロード。

https://support.apple.com/kb/DL1720?locale=ja_JP&viewlocale=ja_JP

 

 

ダウンロード後、インストールディスク(USBメモリ)への適用方法

https://support.apple.com/ja-jp/HT205016

 

以下、上記リンクから引用。

 

ファイルがダウンロードされたら、Finder でそのファイルをダブルクリックして圧縮解除 (解凍) します。

解凍されたフォルダを開きます。このフォルダの中の次のファイルを探して、USB フラッシュドライブにドラッグします。フラッシュドライブ上の既存のファイルを上書きするかどうかを確認するメッセージが表示されたら、「はい」をクリックします。

 

$WinPEDriver$ (フォルダ)

AutoUnattend.xml

BootCamp (フォルダ)

 

Yosemiteだと、パーティションを区切った後に自動的にインストールが始まってしまうので、一旦bootcampアシスタントを終了して、

上記のファイルをWindowsインストールディスク(USBメモリ)にコピーしてから、再度bootcampアシスタントを実行。

その場合、「Windows7またはそれ以降のインストールディスクを作成」と「最新のWindowsサポートソフトウェアをAppleからダウンロード」のチェックを外しておくこと。

 

 

しかしなーんでまたダウンロードがうまくいかないんでしょうね... 解凍してーUSBメモリのインストールディスクに適用とかしてるのかしら。

androidアプリ開発 2/25 ListViewに表示される値の修正

【今日の作業】ListViewに表示される値の修正

※プログラムを修正。

 

[作業の中で起きた問題(解決)]

<問題1> MainActivityで継承しているActionBarActivityをListActivityにした場合、

ListViewのIDが取得できなくなってしまった。

<解決1> MainActivityのレイアウトファイル内のListViewのidを

"@id/android:list"に変更する。

※どうやら、Activityクラスに対し、ListActivityを継承した場合、

ListViewのidは上記のandroid:listでなければならないらしい。わかんねー!

出展:http://mitoroid.com/category/android/android_listview1.php

 

<問題2>ListViewのアイテムに、com.example.から始まる謎の値が設定されてしまう。

→そもそもリスト上のTextViewに値が設定されていなかった。

(今回のプログラムでは、listのアイテムにTextViewを設定すべく、listアイテムのレイアウトファイルを用意している。)

<解決2>

ListViewのSetAdapterメソッドの実行処理を追記。

引数はBaseAdapterオブジェクトとした。

 

今回のプログラムのTextViewへの値設定は、BaseAdapterを継承した内部クラスを

定義し、内部クラス内でオーバーロードしたgetViewメソッドの中で行っていた。

しかし、setAdapterメソッドの引数をその内部クラスのオブジェクトとしていなかったため、TextViewの値設定処理が行われなかった。

そのため値がおかしくなっていた?ということになると思われる。 またケアレスミスですか....

 

setAdapterメソッドの記述例を以下に記す。

lvはListView,

SongListsはListViewに設定するクラスオブジェクトのリスト。

 

①ListActivityを継承している場合

setListAdapter(new SongListAdapter(this,songLists));

②ListActivityを継承していない場合

lv.setAdapter(new SongListAdapter(this,songLists)); 

 

最初は原因がListActivityを継承していないことであると思っていたので、継承した後に①を記述。

後に②の方法も試してみたらできてしまった。 わざわざ継承する必要なかったじゃ~ん。

 

ちなみに①のsetListAdapterメソッドは、ListActivityを継承しないと見つからない様子。要注意。

 

[結果]:ListViewのアイテムに文字列が表示されるようになりました。

(How)

ListViewにBaseAdapterを継承した内部クラスオブジェクトを設定した。

 

[次の作業]

アイテムをクリック→アイテムのクラスオブジェクトから値を取得

→クラスオブジェクトのメンバ変数を使って、詳細テーブルの値を取得

→別画面に表示

 

まずはクラスオブジェクトのメンバ変数を使って、SQLのSELECT文作るところからかなぁ

 

 

 

 

Androidアプリ開発 2/22 ListViewの値をクリックしたとき、その値の関連情報を表示する。

【今日の作業】ListViewに複数の値を持たせる。ListViewのアイテムをクリックした場合、複数の値をToastで表示させる。

 

[作業の中で起きた問題(解決)]

<問題1>:
対応するlayoutファイルは存在するのに、 cannot resolve symbol Rが発生してしまう。

<解決>:
layoutファイル側でエラーが発生しており、R.javaが生成されていなかったため、
シンボルが見つからないエラーが発生していた。

<問題2>:wrap_parentでエラーが発生
Error:(5, 28) String types not allowed (at 'layout_height' with value 'wrap_parent').
・TextViewのレイアウトファイルでエラーが発生。
・レイアウトの設定はwidth,heightの2種類ある。
widthの設定ではエラーは発生していない。

    android:layout_width="fill_parent"
    android:layout_height="wrap_parent"

<解決>:
(誤):wrap_parent
(正):wrap_content

 

[結果]

アイテムをクリックすることで、アイテムに属するデータをトーストで表示することができた。

(How)

ListViewにStringのArrayではなく、クラスインスタンスのArrayを渡した。

 

[問題(issue)]:

ListViewに表示される値が MainActivity$SongDetail@417b6240

のような値になってしまっている。(本来であれば日本語が格納される予定だった)

 

[次の作業]:

上記の問題を解決する。

(ゴール:)クラスインスタンスの1番目の値をListViewに表示される値に変更する。

 

 

 

2/19 Androidアプリ開発

【今日の作業】ListViewのアイテムをクリックしたときの動作を追加する。

 

[結果]:

ListViewに設定された値をToastで表示できるようになった。

※ListViewへのアイテム追加の記述は以下のWebページを参考にした。

http://androidguide.nomaki.jp/html/layout/listview/itemclick.html

 

[次の作業]:

・選択した項目のキー値を使ってSELECT文を作り、詳細データテーブルに問い合わる。 取得した値はトーストで表示。

 

これ、ListViewに設定した値しか引っ張ってこれない、なんてことはないよな...

アイテムをタップしたときに、それに属するデータを取得する

そのためのプライマリキーをどう取ってくるか。 技術的な面も作ろうとしているものも、もう少し検討したほうがよさそうかも...

このページが参考になるかも。 次の作業に取り掛かる前にここを参考にしてみよう。

http://www.serendip.ws/archives/5100

Android アプリ開発 2/17 ListViewに値を設定・SQLiteの型の予習

【今日の作業】ListViewに値を設定・SQLiteの型の予習

[結果]:

ListView:

・onClickListenerにListViewへの値設定の記述を直接していたけれど、

ArrayAdapterのコンストラクタでエラーが発生(cannot resolve)。処理をメソッドに分けて、onClickListener呼び出す形にしたら、問題なく動くようになった。

・二度目にDBから値を取得するボタンを押したらエラーで落ちた。

何が原因か調べてみると、DBを閉じたあとにrawQueryを実行していました... あほだ

 

SQLiteのデータ型。

http://www.dbonline.jp/sqlite/type/index1.html

これをもとにDBをつくる。

 

詳細データテーブルの追加。

元になるリスト用データがあり、そのキー値を利用し、詳細データを引っ張ってくる。

 

[問題(issue)]:

いまところ問題なし。

 

[次の作業]:

・ListViewのアイテムをクリックしたときの動作を追加する。

(選択した項目のキー値を使ってSELECT文を作り、詳細データテーブルに問い合わる。 取得した値はトーストで表示。)