Androidプログラミング初心者質問スレ Part4
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/11/19(金) 16:33:21Androidプログラミング初心者質問スレ Part3
http://hibari.2ch.net/test/read.cgi/tech/1286357268/
Androidプログラミング初心者質問スレ Pert2
http://hibari.2ch.net/test/read.cgi/tech/1282716370/
Androidプログラミング初心者質問スレ
http://hibari.2ch.net/test/read.cgi/tech/1278560954/
関連スレ
【Google】Androidアプリ作成part6
http://hibari.2ch.net/test/read.cgi/tech/1286555951/
0304デフォルトの名無しさん
2010/12/03(金) 23:58:19ListViewの中でもGravityはいけましたorz
その親のTabActivityあたりが怪しそうです
失礼しました
0305デフォルトの名無しさん
2010/12/04(土) 00:41:500306デフォルトの名無しさん
2010/12/04(土) 03:47:11月会とかで聴きたい講演があったらたまに行く。
0307デフォルトの名無しさん
2010/12/04(土) 11:11:41アプリを450件くらいいれて、Apps Organizerを実行すると、
fillWindowでDiskIOExceptionが出てる
0308デフォルトの名無しさん
2010/12/04(土) 20:46:54layoutのxmlの編集をした場合
文字数が変わらないように色の変更だけをする→表示される
あるTextViewをまるまる削除等→表示されない
こうなって今できることが制限されています
文字数等が変わってもちゃんと表示させるには他にどのファイルを変更すべきですか?
0309デフォルトの名無しさん
2010/12/04(土) 21:05:060310デフォルトの名無しさん
2010/12/04(土) 21:06:440311デフォルトの名無しさん
2010/12/04(土) 21:35:32全然言葉足らずでごめんなさい
既存のapkをapk_manager使ってデコンパイル
画像の差し替えやxmlの色の変更→コンパイル→サイン
これは上手くいったのですが
android:paddingTop="20.0dip"とかを新たに追加して位置調整とかを書き足して
コンパイル→サインだと表示されませんと出ちゃうんです
0312デフォルトの名無しさん
2010/12/04(土) 21:36:26ライブ壁紙の作り方を教えてください。
0313デフォルトの名無しさん
2010/12/04(土) 21:50:340314デフォルトの名無しさん
2010/12/04(土) 22:25:13多分リソースのIDがずれてるんだろうけど、
全部コンパイルしなおしてる?
0315デフォルトの名無しさん
2010/12/04(土) 22:45:45apk_managerでコンパイルとサインしてるけどダメなの?
選択肢がないから多分全部コンパイルだと思います
0316デフォルトの名無しさん
2010/12/04(土) 23:00:41それUnpackとPackだね、コンパイルはやってない
0317デフォルトの名無しさん
2010/12/04(土) 23:04:04buildフォルダできてて中のxmlとかそのまま読めないからビルドはできてると思います
少し調べなおしたら
元の変更前のapkに変更したxmlを上書きして更にresources.arscを無圧縮でやればいいのかな?
無圧縮のやり方が今いちわからないけど、ちょっとこの方向でまた勉強しなおしてみます
0318デフォルトの名無しさん
2010/12/04(土) 23:19:48インストールされていませんって出ちゃうようになってしまった
うーん難しいですね
0319デフォルトの名無しさん
2010/12/04(土) 23:34:14新しいリソースのIDを使ってソースもコンパイルし直さないとだめなんじゃねってことだろ
0320デフォルトの名無しさん
2010/12/05(日) 00:00:36全機種動作チェックしてくれるグーグルの部門とか有ればいいのに。
0321デフォルトの名無しさん
2010/12/05(日) 00:03:28eclipseとか必要になってきますか?
おいらの今の頭じゃ先進め無そうです
明日もいろいろサイトみて勉強してみます
modに特化した解説サイトご存知でしたら教えてください
0322デフォルトの名無しさん
2010/12/05(日) 00:34:59新規にプロジェクトをつくると毎回
「java.lang.ClassCastException: android.widget.Button cannot be cast to android.view.ViewGroup」
っていうやつが出ます。
パスと通せば治るんですが、毎回出るもんなんのでしょうか?
0323デフォルトの名無しさん
2010/12/05(日) 03:17:30実装しても反応してくれないのですが
困りました。
0324デフォルトの名無しさん
2010/12/05(日) 03:37:47こっちも困るわ
0325デフォルトの名無しさん
2010/12/05(日) 04:06:470326デフォルトの名無しさん
2010/12/05(日) 04:36:390327デフォルトの名無しさん
2010/12/05(日) 04:59:07返信ありがとうございます。
しかし、ライセンスについて調べてもよくわからなかったりする場合はどうなんでしょう。
例えば、GL(?)とかpublic domainとか書いてなかったり。
権利者にメール送ったりするしかないんですかね。
上でも書いてた人が居たように、例えばオープンソースのゲームかなんかで
画像や音楽は自分で作って、プログラムはほぼそのまま使わせてもらったりしたら
おもいっきり権利侵害になってしまうんでしょうか。
0328デフォルトの名無しさん
2010/12/05(日) 06:43:580329デフォルトの名無しさん
2010/12/05(日) 08:23:220330デフォルトの名無しさん
2010/12/05(日) 08:47:12そこをなんとかお願いします。
ttp://baldwin.ivory.ne.jp/wp/2010/10/31/396/
こちらのブログの記事とまったく同じ症状です
0331デフォルトの名無しさん
2010/12/05(日) 10:14:11馬鹿なの?童貞なの?
0332デフォルトの名無しさん
2010/12/05(日) 10:41:34童貞とか本当のことは傷つくからやめてあげて
0333デフォルトの名無しさん
2010/12/05(日) 12:24:28その切り返しワロタ
0334デフォルトの名無しさん
2010/12/05(日) 13:00:360335デフォルトの名無しさん
2010/12/05(日) 13:11:350336デフォルトの名無しさん
2010/12/05(日) 14:08:15デフォルトのScreen1でイメージボタンを配置してクリックされたときに、
新たなActivity(Screen2?)に遷移したいだけどどうすればいいんだろう
それっぽいActivityStarterってのをPaletteからD&Dしたんだけど、
ActionやらExtraKeyやら入力項目があって、これらはカメラとかブラウザとか既存のアプリしか呼び出せないのかな
App Inventor上で新しく自分でプロジェクトを作ったので(ここに遷移したい)指定する方法があるなら教えて下さい
0337デフォルトの名無しさん
2010/12/05(日) 15:05:470338デフォルトの名無しさん
2010/12/05(日) 16:42:41Main Activity onCreate時にsqliteから読み込んだSpinnerを表示
↓
メニュー→新規追加でSub Activityをダイアログ表示
↓
IDを入力
↓
sqliteにinsert
↓
MainActivityのSnipperに追加
とやりたいのです.
Main Activityを再起動させて,もう一度sqliteからデータを取ってきてしまうのが一番楽かと思ったのですが,どうもやり方が見つからず…
ちなみに,画面を回転させると問題なく更新されます.
(これを画面更新せずに行いたい)
よろしくお願いします.
0339デフォルトの名無しさん
2010/12/05(日) 17:14:36startActivity何とかResultでsubを呼び出してidとやらを登録させる。mainのonActivityResultでsubの終了を受け取って、そこですぐさまsqliteに対してqueryしてspinnerのadapterを更新してnotifyDatasetChangedでおしまい。
0340デフォルトの名無しさん
2010/12/05(日) 17:38:530341デフォルトの名無しさん
2010/12/05(日) 17:42:58ありがとうございました!
データのinsertまではできていたので,その後spinnerのadapterを更新して,notifyDataSetChangedで正常にSpinnerが更新されました.
0342デフォルトの名無しさん
2010/12/05(日) 18:21:46いま見返すと日本語酷かったけど、意味は通じたみたいでよかったw
0343デフォルトの名無しさん
2010/12/05(日) 19:56:44○●○○○
のようなものを作りたいのですが、
APIは用意されているのでしょうか?
各Activityに
●○○○○ ←1ページ目のActivity
○●○○○ ←2ページ目のActivity
のようにリソースを用意して、表示させないとダメでしょうか。
0344デフォルトの名無しさん
2010/12/05(日) 20:06:40何をどこに表示するかによって使うAPI は違うと思うよ。
「●○○○○」って文字列を表示するなら drawText かな。
0345デフォルトの名無しさん
2010/12/05(日) 20:24:23解答ありがとうございます。
文字列ではなく、
http://www.nire.com/wp-content/uploads/2010/09/iphone4-home-screen-page-1-200x300.jpg
↑のようにグラフィカルなものを表示させたいと考えています。
画像はiphoneですが。。
0346デフォルトの名無しさん
2010/12/05(日) 21:08:59そのようなモノを表示する方法はいろいろあって、それによって使うAPI 違うから、どれとは言えないんだよね。
自前で円を描く方法もあるし、リソースからビットマップを表示する方法もある。
もうちょっと、あなたの中でどうしたいか整理して、質問内容を具体的にしたほうが良いと思うよ。
0347デフォルトの名無しさん
2010/12/05(日) 21:25:49解答ありがとうございます。
抽象的な説明で申し訳ございません。
私としては、特に実装方法にはこだわってはなく
なにか、パラメータ(ページ番号と全体ページ数みたいなもの)を渡せば
その画面に表示できるようなものがあれば、そういった物を使用したく、
自分で描画したり、またはリソースを用意して表示する方法
しかないのであれば、そちらの方法で行えればいいかなと思っています。
0348デフォルトの名無しさん
2010/12/05(日) 23:20:26,x '"::::::::::::::::::::
,、'":::::::::::::,, x-‐ ァ:
,,x '"::::::,,、- '" |:::
`"i`ー'" ヾ
! 、 、,,,,,,,,,;;;;;;;;;彡ミ
|,,,,ノi `ーヾ;; '"----、
ヾ::ヽ -┴'~
~|:/ ' ' ' `ー ' "'"
/_ :
l '' ) i :
ヽ,,、'~` U
゙, __ ,-、_,ノ`
|/ ゙, `'" ,,y
|/ 彡 ゙、`-'"
/|/ i
/ ! ,, -'"
| `ー '"|::
| /|||ヽ
/|||||/心
|ヾ/ /`ー
0349デフォルトの名無しさん
2010/12/06(月) 01:40:34イカのようなっプログラムで
「TES」が2回表示されると思っていたのですが
2回目の「TES」がどうしてもされません・・
main()
{
Thread th = new Thread()
tn.start();
Thread.sleep(100);
tn.start();
}
run()
{
Log.d("D","TES");
}
何かわかる方お願いします・・・
0350デフォルトの名無しさん
2010/12/06(月) 01:44:300351デフォルトの名無しさん
2010/12/06(月) 01:51:17いわゆるページャみたいなモノはないみたいだね。リソース自作して切り替えていくしかないかな。細かくみるとアニメーションしている感じのもあるね。
可変ページに対応させるか、固定ページ数にするのかも考えないとね。
0352デフォルトの名無しさん
2010/12/06(月) 02:08:33<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<gradient
android:startColor="#505050"
android:centerColor="#505050"
android:centerY="0"
android:endColor="#505050"
#505050の所をカラーピッカーで選択した色に変えたいんですが
どうしたら変えられますか
カラーピッカーはこれです
http://developer.android.com/intl/ja/resources/samples/ApiDemos/src/com/example/android/apis/graphics/ColorPickerDialog.html
0353デフォルトの名無しさん
2010/12/06(月) 02:23:14Thread.start()の定義見れ。
android developers見たら書いてなかったけど多分androidでも同じ。
ttp://www.solar-system.tuis.ac.jp/Java/jdk-1_5_0-doc-ja/api/java/lang/Thread.html#start()
0354デフォルトの名無しさん
2010/12/06(月) 02:33:42時々getViewが走ってidが変更され進行状況が更新されなくなってしまいます。
スクロールさせて再度getViewが走ると更新するようになるのですが、
近いことをやってるサンプルとか無いでしょうか?
0355デフォルトの名無しさん
2010/12/06(月) 02:41:05マーケットアプリが近いけど、ソースががorz
0356デフォルトの名無しさん
2010/12/06(月) 09:05:23いまちょっと環境無いから適当だけど、
getView()内でnewしたProgressDialogを外のActivityかなんかに配列で保持しといて、
次回同一positionでgetView()呼ばれたときは保持したProgressDialog返せばいけない?
アイテム数固定ならあらかじめProgressDialogのインスタンス作成しといてgetView()でそれ返すとか
0357デフォルトの名無しさん
2010/12/06(月) 16:04:09要は画面遷移させたいんです
よろしければお願いしますorz
0358デフォルトの名無しさん
2010/12/06(月) 18:01:460359デフォルトの名無しさん
2010/12/07(火) 00:28:251つのActivityのみを使用し、setContentView()で
何回も画面遷移を行う事は、不可能なのでしょうか?
(複数画面を作成したい場合、Activityを複数作成するべきなのでしょうか?)
※setContentView(new SurfaceView(this));と実行すれば、
1回は画面遷移できますが、
その後、SurfaceView内で、setContentView()が使用出来ない為、
別の画面に遷移させる事が出来ません。
0360デフォルトの名無しさん
2010/12/07(火) 00:47:12なんでSurfaceView内からSetContentViewする必要があるのかくやしく
0361359
2010/12/07(火) 09:06:252つの画面を、2つのクラスで(それぞれクラスを分けて)作成しようと考えております。
それで、SurfaceView1(画面1)と、SurfaceView2(画面2)を作成し、
SurfaceView1からSurfaceView2へ画面遷移する際に、
SetContentViewで、画面遷移をしようとしたのですが・・。
そもそも、複数画面を作成する場合の設計方法が、根本的に間違っているのでしょうか?
(複数の画面を作成する場合は、複数のSurfaceViewを作成するのではなく、複数のActivityを作成するべき?)
0362デフォルトの名無しさん
2010/12/07(火) 13:37:110363デフォルトの名無しさん
2010/12/07(火) 13:56:591.0.0すっ飛ばすどころか8ってwww
0364デフォルトの名無しさん
2010/12/07(火) 14:00:24になってるね
0365デフォルトの名無しさん
2010/12/07(火) 14:57:53SDKのバージョンとあわせたんでしょ。
>>364
ほう。でも面倒だから3.5のまま使う。
0366デフォルトの名無しさん
2010/12/07(火) 15:57:200367デフォルトの名無しさん
2010/12/07(火) 17:04:382. CONFIG_CIFSをmにしてビルド。
3. お茶を飲みながら待つ
4. そのうち完成
5. androidのシステムにまで立ち入った話は初心者スレでは無いことに気づき、深く反省する。
0368デフォルトの名無しさん
2010/12/07(火) 18:00:410369デフォルトの名無しさん
2010/12/07(火) 18:05:24ttp://ap.pitsquare.jp/pc/developers/
0370デフォルトの名無しさん
2010/12/07(火) 18:11:090371デフォルトの名無しさん
2010/12/07(火) 18:19:38さんくす、全くぐぐりもせずに丸投げスマソ
ググったらそっこー出てきたわ・・・
FeliCaのハッカソンとかやったんだね、しらなんだ。
0372デフォルトの名無しさん
2010/12/07(火) 18:26:11SurfaceViewは使った事ないんでよくわからんけど、SurfaceViewを二つ用意しなければならない理由がわからない。
一つのSurfaceViewのフィールドに複数のコントローラクラスを持たせて 必要に応じて切り替えればいいんじゃないの?
複数のActivityを作成するべきかどうかはアプリの性質によると思う。
自分が作りたいのと似たようなアプリをマーケットから探して試してみると いいんじゃないかな。
一応 FrameLayoutやAbsoluteLayout、RelativeLayoutで切り替えたいviewを 同じ位置に配置して、見せたくないviewは非表示にしておけば複数viewの 切り替えになると思う。
0373デフォルトの名無しさん
2010/12/07(火) 21:03:270374デフォルトの名無しさん
2010/12/07(火) 21:20:20横はしらんが下はできるよ
0375デフォルトの名無しさん
2010/12/07(火) 22:32:49更新ボタンを押すと今のアクティビティを更新(再onCreate)したいんですがどうすればいいでしょうか?
ボタン押したらfinish()してonDestroyで再onCreateしようと思ったんですが
savedInstanceStateを何で初期化していいか分からず実行出来ませんでした。
public void onDestroy(){
Bundle savedInstanceState;
onCreate(savedInstanceState);
}
0376デフォルトの名無しさん
2010/12/07(火) 22:42:44当たり前だけど、finishしたらsavedInstanceStateは消えるよ
0377デフォルトの名無しさん
2010/12/07(火) 23:06:38自分を startActivity して finish するとか
0378デフォルトの名無しさん
2010/12/07(火) 23:08:31onCreateに処理ベタ書きじゃなく、処理をメソッドに切り出して、onCreateからと更新ボタンの両方から呼び出せばいいじゃない?
0380デフォルトの名無しさん
2010/12/07(火) 23:30:39http://developer.android.com/intl/ja/guide/topics/fundamentals.html
画面ごとにActivity作って遷移させるようにできてるみたいだが
Activityで遷移とViewで遷移はやってることがまったく違う
staticな変数てんこもりだったり
Activity間の関数呼び出し複雑なら
Viewで作ったほうが圧倒的に楽だと思う
0381375
2010/12/07(火) 23:46:59さっきの質問では大げさにActivity全体を更新としましたが
更新したいのはSpinnerのアイテムだけだったので>>378さんの言う通りに
Spinnerをセットするメソッドを作ったんですがエラーになります。
Spinnerのアイテムはデータベースからqueryで取得したデータを使っています。
同じ画面からデータベースにinsertできるようにしてあるので
insertしたらすぐさまSpinnerのアイテムも更新されるようにしたかったんです。
onCreate( ... ){
...
Spinner spinner = (Spinner) findViewById(R.id.spinner);
setSpinner(spinner);
...
}
void setSpinner(Spinner spinner){
... DBからのデータを配列arrに格納 ...
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, arr);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent,View view, int position,long id) {
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
お願いします
0382デフォルトの名無しさん
2010/12/08(水) 00:07:12わざわざqueryしたやつをセットするのではなく、insertするデータを(queryと同時か前に)spinnerのアダプタにセットすれば?
あとセットしているのはUIスレッドかな?
また、想像するにマルチスレッド処理が要求されるだろうからstatic変数か何かに状態や途中のデータを退避しているとかないよね?
0383デフォルトの名無しさん
2010/12/08(水) 00:09:41すまん、ソースみてなかった。
前言撤回。
どんなエラーがでるの?
0384375
2010/12/08(水) 00:21:47すみません、自己解決しました。
エラーの原因はonCreate()の外でSQLiteDatabaseとかを宣言していたためのようでした。
void setSpinner(Spinner spinner, String[] arr)
としてonCreateと共にDBからデータ取得してSpinnerを作成
その後、insertしたらまたDBからデータ取得してarrを更新
そしてsetSpinnerしたら問題解決しました。
ご迷惑かけてすみません。
また困ったときにお願いします。
0385デフォルトの名無しさん
2010/12/08(水) 00:50:33解決して何よりです。
ってか、既に初心者レベルじゃないんじゃなイカ。
0386デフォルトの名無しさん
2010/12/08(水) 04:34:120387デフォルトの名無しさん
2010/12/08(水) 04:38:290388デフォルトの名無しさん
2010/12/08(水) 07:29:54こんにちわ世界が表示されません。お前ら教えろ。
というのが、俺の中での初心者レベル。
0389デフォルトの名無しさん
2010/12/08(水) 10:25:27さすがにそれは、エスパーか全力行けって言いたくなるw
0390デフォルトの名無しさん
2010/12/08(水) 13:03:55view差し替え思いつかない奴に勧めても戻るボタンで思い通りにならなくて発狂する気がするんだ
パフォーマンス比べたところとか無いのかな〜
viewの方が速い気がするな〜
でもカスタマイズする時にめんどくさそう〜
何事もいい塩梅での切り分けですかな
0391デフォルトの名無しさん
2010/12/08(水) 14:43:56なにか注意点ありますでしょうか?
0392デフォルトの名無しさん
2010/12/08(水) 15:02:19それともtoolsの置き換えで失敗して進まないから
強引に自分でtempにあったzip解凍して差し替えたのが原因なのか
なにが原因だったかわからないけどレイアウトエディタが起動しなくなった
せっかくだからついでにHeliosで環境構築し直した
0393デフォルトの名無しさん
2010/12/08(水) 15:10:57Heriosでのバグ治ったの?(stringでエラーでるとかの件)
0394デフォルトの名無しさん
2010/12/08(水) 15:13:47ランチャーで選択するとき邪魔なんですけど
消す方法ってAVDを作り直すしかないんですか?
0395デフォルトの名無しさん
2010/12/08(水) 15:25:050396デフォルトの名無しさん
2010/12/08(水) 15:29:26AVDの作り方がよくわかりません。
画面をはみ出すほどに大きくなったり、文字が見えないほど小さくなったり、(擬似)キーボードが付いたり付かなかったり・・・。
どこかに情報がありましたら、ご紹介いただけないでしょうか?
特に
(1)画面の大きさの調整の仕方
(2)Skinで「ビルトイン」から選択すると表示されるボタンとキーボードを、「解決」で任意の解像度を指定しても表示させる方法
の二点について掲載されているものがありましたら、是非ご紹介をお願いします。
0397デフォルトの名無しさん
2010/12/08(水) 15:44:000398デフォルトの名無しさん
2010/12/08(水) 15:50:49自分でスキン作れ
既存のやつをコピって適当に書き換えればできる
0399デフォルトの名無しさん
2010/12/08(水) 15:58:370400391
2010/12/08(水) 16:07:270401デフォルトの名無しさん
2010/12/08(水) 16:09:41うまくいかないのは3.5に入れてる人?
0402デフォルトの名無しさん
2010/12/08(水) 17:59:23ただ依存関係の問題でアップデートが一回で終わらんかった。
一回アップデートしただけだと元々のtoolsが消えて新しいplatform-toolsが入ってない状態になるからそこで勘違いしてるんじゃないか?
0403デフォルトの名無しさん
2010/12/08(水) 18:23:28ExpandableListのメニューの中のアイテムをタッチするとダイアログを表示されます
ダイアログ内はEditTextとButtonです
ボタンを押すとEditText内のintを読み込み処理したいんですが
ボタンを押すと「このアプリケーションは突然止まりました」のエラーが出てしまいます
いろいろ試したんですが void onClick() 内の
int i = Integer.parseInt(edit.getText().toString());
をコメントアウトして例えばi=10 などとすればうまくいきます
R.layout.dialog_insert内に問題のEditTextとButtonを定義してます
onCreate内ではsetContentViewしてません
問題点が全く分からないのでよろしくお願いします。
public class SelectItem extends ExpandableListActivity {
private EditText edit;
protected void onCreate(Bundle savedInstanceState) {
ExpandableListを作成
}
/* リストのアイテムをタッチすると呼び出されるメソッド */
public boolean onChildClick(...){
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.dialog_insert);
edit = (EditText) findViewById(R.id....);
dialog.findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
int i = Integer.parseInt(edit.getText().toString());
dialog.dismiss();
}
});
略
0404デフォルトの名無しさん
2010/12/08(水) 18:35:44例えば空文字列 "" は数値じゃないので NumberFormatException が出る
ログを見れば例外のスタックトレースが出力されているはず
■ このスレッドは過去ログ倉庫に格納されています