Androidプログラミング質問スレ revision47 [転載禁止]©2ch.net
2 :
デフォルトの名無しさん:2015/01/23(金) 18:22:11.36 ID:aNmFb10Z
< `∀´>ニダー
3 :
デフォルトの名無しさん:2015/01/23(金) 21:18:10.81 ID:sz6Zuoph
>>1 スレ立てお疲れ様です。
コピペで粘着してる人はずっとスレに張り付いているんだろうか。
それともスレを監視して自動でレスするスクリプトでも書いたんだろうか。
どっちにしてもそのエネルギーをなんでもっと生産的なことに使わないの?
そもそも何を主張したいの?誰と何を議論したいの?何の意味があるの?
Google Map を表示するのがウンコめんどくさいんだけど、
あれってなんであんなにめんどくさい上にコロコロ変わるんだよ ちくしょう
あと全然関係ないけど、ウチのNexus7全然ロリポップ来ないよ バーカ
デバッグのためにわざわざ買ったのに。 素直にNexus9買っとけば良かった
>>1 乙です。
端末じゃなくリアル時刻取得するとき皆どうしてる?
グローバルにリリースする予定のアプリなので国毎のリアル時刻を取得したいんだけど。
「端末じゃなく」ってどういうこと?
リアル時刻ってなんだ?
NTPか
端末時間は普通NTPで合わせてるよね
>>7 調べたら勘違いしてたみたいだから訂正しとく
androidは3G回線使って時計合わせをしててNTPは使ってなかった
そういえばWiFiのみのタブレットには自動時刻合わせの機能なかったな
すんまそ
>>5 TimeZoneクラスを使う
Calendar c = Calendar.getInstance();
TimeZone tz = TimeZone.getTimeZone("Asia/Tokyo");
c.setTimeZone(tz);
現在の端末のタイムゾーンを取得する方法や
タイムゾーンの一覧を取得する方法もある
>>5 もし本当に端末内部の時計を全く使いたくないんなら
何らかの外部の時刻ソースを取得することになる。
簡単にやるならサーバと通信して
サーバ側の時刻と、その時点での SystemClock.elapsedRealtime() の差(A)を覚えておいて
その後、時刻が欲しいタイミングで SystemClock.elapsedRealtime() を取得して、(A)を加減する
この方法なら端末の時計設定は全く使わないし、カジュアルな時計変更は防止できる。
elapsedRealtime を改ざんするハックはやや難易度が高い
通信ラグによる誤差を低く抑えたいのならNTPなどのプロトコルを検討するべき
頻繁な取得を避けたいならやはり SystemClock.elapsedRealtime を利用できる
12 :
5:2015/01/24(土) 11:56:04.00 ID:0Upg01NM
ありがとうございます!
頂いたレスを参考に頑張ってみます。
NTPじゃなくてGPSでやってるんじゃないの?
>>13 GPSは屋内だと使えない。
位置情報は基地局とかWi-Fiとかで補えるが、時刻はそうもいかない。
あとGPSのNMEAから時刻情報を読めばおおまかな時刻はわかるが、
ハードウェア割り込みでもないと時刻合わせに使えるほどの精度は出ない
AndroidがGPSを使った時計合わせをサポートしない?のはそのせい
あとまあ権限がうざったいから、アプリ的にはNMEA読む方向もおすすめしない
ていうか機種によっては GpsStatus.NmeaListener から ZDA 取れないじゃねえか
16 :
デフォルトの名無しさん:2015/01/24(土) 21:04:24.16 ID:HrOz2Rqw
自動ペアリングの者です。
Unhandled exception type InvocationTargetException
が出てきました。
http://www.coppermine.jp/docs/programming/2012/05/invocationtargetexception.html http://kotacc.blogspot.jp/2011/11/invocationtargetexceptioncaused-by.html http://qa.atmarkit.co.jp/q/124 を参考にしてみたのですが、メソッドでの例外が
発生している原因がわかりません。
どうすればいいでしょうか。
以下、ソースです
BluetoothDevice device = intent.getParcelableExtra("android.bluetooth.device.extra.DEVICE");
Method convert = device.getClass().getMethod("convertPinToBytes", String.class);
byte[] pin = (byte[]) convert.invoke(device, "1234");
Method setPin = device.getClass().getMethod("setPin", byte[].class);
Boolean success = (Boolean) setPin.invoke(device, pin);
全体に赤いエラーがでていて、
Description Resource Path Location Type
Unhandled exception type NoSuchMethodException DeviceListActivity.java /Copy of BluetoothChat4.4W_TEST/src/com/example/android/BluetoothChat line 203 Java Problem
Unhandled exception type IllegalAccessException DeviceListActivity.java /Copy of BluetoothChat4.4W_TEST/src/com/example/android/BluetoothChat line 204 Java Problem
Unhandled exception type IllegalAccessException DeviceListActivity.java /Copy of BluetoothChat4.4W_TEST/src/com/example/android/BluetoothChat line 202 Java Problem
Unhandled exception type InvocationTargetException DeviceListActivity.java /Copy of BluetoothChat4.4W_TEST/src/com/example/android/BluetoothChat line 202 Java Problem
Unhandled exception type InvocationTargetException DeviceListActivity.java /Copy of BluetoothChat4.4W_TEST/src/com/example/android/BluetoothChat line 204 Java Problem
Unhandled exception type NoSuchMethodException DeviceListActivity.java /Copy of BluetoothChat4.4W_TEST/src/com/example/android/BluetoothChat line 201 Java Problem
がでています。
>>16 言われた例外をcatchするコードを書けばいい。
>>16 例外が発生してるんじゃなくて、例外をcatchしてないからビルドに失敗してるだけ
例外ってのはビルド時じゃなくて実行時に発生するものだ
"unhandled exception type"でググれば普通に対処法出てくる
プログラマにとってあきらめが悪いのは良いことだが、行き止まりがわかっている道を進むのは...ウマシカだな
Androidアプリ開発で手詰まってしまっています。助けてください。
私はAndroidアプリ開発まもない初心者で調べながらなんとかやってるものです。
EditTextに入力された数字の数だけTableLayoutにEditTextを追加し
追加されたEditTextに数字を入れて処理を行うことを考えています。
今現在、出来た所としまして、EditTextに入力された数字の数だけ
TableLayoutにEditTextを追加するところまで出来ました。
しかし、追加されたEditTextに数字を入れて処理を行う所が
調べても上手く行かず質問させていただきました。
「動的 EditText 取得」「id 生成 動的」
などいろいろと必死に調べて居ますが解決いたしません
EditTextに入力された数字の数だけTableLayoutに
EditTextを追加するところまでは以下のように書きました。
クラスメイン{
EditTextを追加する為、数字を入力するEditText;
EditText追加ボタン;
TableLayout読み込み
for(int i = 0; i < a; i++){ //追加する数をaに入れる
EditText生成;
}
}
動的に追加したEditText変数を保持しておくかTableLayoutのgetChildAtで取得するか
>>19 卒論みたいなのらしいから今更テーマ変えたりする余裕なんてないだと思う。
>>22 なるほど
でも今のレベルではスライムにも負けるだろうな
24 :
デフォルトの名無しさん:2015/01/25(日) 15:39:18.29 ID:/f/oKaKk
>>17 わかりました。
例外catchするためのtry-catch構文を書いてみます。
例外の方にソースをいれればいいですよね?
>>18 ググるワードまで教えていただきありがとうございます。
その方法で試してみますね。
>>19 すいません、下がるにさがれない状況なので・・・
>>24 一つアドバイスを。
コテハンつけてくれればみんなアドバイスしやすくなると思うよ。
一連の流れも追いやすくなるし。
26 :
pairing:2015/01/25(日) 19:55:47.95 ID:/f/oKaKk
>>25 ありがとうございます。「pairing」にしておきます。
ソースを以下のように書いたところ、
起動してデバイスの検索をかけ、ペアリング操作を行おうとすると、PINの要求をされます。
convertPinToBytesMethodでbyte型に数字を変更して、setPinでPINコードを指定して、
createBondで実行しているはずなのですが、要求画面が出てしまいます。
デバッグするとプログラム自体はきちんと読み取っています。
何処が悪いのでしょうか。
try {
Log.d("pairDevice()", "Start Pairing...");
Method convertPinToBytesMethod = BluetoothDevice.class.getMethod("convertPinToBytes", new Class[]{ String.class });
byte[] pinCodes = (byte[])convertPinToBytesMethod.invoke(BluetoothDevice.class, "0000");
Method setPinMethod = device.getClass().getMethod("setPin", new Class[]{ byte[].class });
Boolean result = (Boolean)setPinMethod.invoke(device, pinCodes);
Method m = device.getClass().getMethod("createBond", (Class[]) null);
m.invoke(device, (Object[]) null);
Log.d("pairDevice()", "Pairing finished.");
} catch (Exception e) {
Log.e("pairDevice()", e.getMessage());
}
本当に卒論なんだったら,留年しろと言わざるを得ないレベル
28 :
pairing:2015/01/25(日) 23:52:21.90 ID:/f/oKaKk
>>27 留年は決まってるんで大丈夫です。
(教授に言われているので)
>>28 だったらもっと腰落ち着けてまず1ヶ月Javaの勉強から始めろ
ビルド時と実行時の区別もついてないし、サイトからコード持ってきてコピペ切り貼りしか出来てないし、そんなんじゃ何一つ見につかないぞ
○ 身に付かないぞ
>>28 年間何十万円(私立だと100万以上?)払ってんだから「とりあえず卒論通す」とか止めとけ
マジで
33 :
pairing:2015/01/26(月) 10:38:56.26 ID:3EbeEPcd
>>29 しかし、なんとかなるかもしれないんで頑張ります。
34 :
pairing:2015/01/26(月) 10:44:00.21 ID:3EbeEPcd
>>33 卒論なら自動ペアリングなんかにこだわる必要ないだろ
要は災害時の小規模ネットワークの生成と効果の確認だろ
今回は簡略化のため認証は手動にしましたで終わり
十年以上前からアドホックの研究はされているけど
いまだに効果的な結果は出ていないんだよな・・・
大学なら自動ペアリングみたいなどうでもいいところよりも
一般的に言われている課題の解消に力を入れて欲しい。
>>36 連鎖できなくなるからなるべくアンカを頼む
>>37 どちらかというと独り言なんであえて外した・・・
ペアリングするときはセキュリティ的に要求画面が出るのは仕様だと思うけど
それを回避するにはroot取るしかないんじゃないの
というかこの人助けてやったら駄目な気がする
>>26 リファレンスには載ってないことで、ここで聞いても回答が得られないのなら、
後はソースを落として自分で調べるしかないんじゃない?
システム全体考えると自動ペアリングなんか後回しにしてもっと大切な部分進めるべきかと…
そっちは別にちゃんとした人間が担当している気もするが。
43 :
pairing:2015/01/26(月) 13:10:01.34 ID:3EbeEPcd
>>35 確かにそうですね。まずは手動で
やるところからはじめられればいいのですが時間が。。。
>>36 アドホック通信はBluetoothなんですか・・・?
Wifiなんですかね・・
>>39 rootとらないとsetPinしてもPINコードの設定はできないんですかね?
>>40 自分の学科自体、みんな研究しなくても卒業できるみたいな
感じなんで・・・たすけてください。。。
>>41 リファレンスには載ってるんですけど、
使い方がわからないんです・・
>>42 ほかの大切な部分ってどんなものがあるんですか?
卒論ならなおさら人に聞かないで自分でやらないとダメだろ
なんの為の「論文」なんだよ
自分で研究した結果をまとめた報告書だろうが
というわけで卒業論文の意味自体はき違えて理解していないような大学生として成立していないような子供には俺は何も教えん。
卒業する事に意味があるのではない。
自分で資料を集め、その内容が正しいか検証し、まとめ、提出する過程が卒業する以上に大事なのであり
「これを行えた者を大学は大学生を卒業しました」と認めるわけだ。
カンニングや他力でまとめた卒論は不正卒論。
理研の小保方氏がやった事と同じだ。
これでお前を卒業させる事は認めるわけにはいかん。
留年か1年やり直せの烙印を押させていただく。
46 :
pairing:2015/01/26(月) 13:27:52.94 ID:3EbeEPcd
>>44 専門でわかる教授がいればプログラムの処理が
わかるのですが、そこもわからないので・・・
>>45 申し訳ないです。
できる限り、自分ではやるつもりですが。
まあ、留年はほぼほぼ決まってるんで大丈夫です
大丈夫じゃねえだろw
まあ,諦めてイチから勉強してみなよ
そのうち役に立つかもしんないよ
でもまあこんな奴多いんだよな……
学生を真面目に指導したって給料上がるわけでもねえしな……
>>43 いやだから時間がないからこそ自動はあきらめろって
テーマは災害時の小規模ネットワークの生成と効果の確認だろ
手動でつなげて自動でつながってると仮定して論文書くんだよ
50 :
pairing:2015/01/26(月) 16:31:46.15 ID:3EbeEPcd
>>47 すいません。
>>48 効果はそこまで重点をおいてないんで、
自動ペアリングに対して適当に理由をでっちあげるかんじです
>>49 それすごいですね
>>50 お前の研究は自動ペアリングの検証なのか?
違うだろ
そんなとこはどうでもいいんだよ
52 :
pairing:2015/01/26(月) 17:24:20.37 ID:3EbeEPcd
>>51 すいません。
自動ペアリングの検証が主です。
>>52 嘘を付け
自動ペアリングは正規の方法ではない下法だぞ
セキュリティの穴を利用した防災の研究があるかアホ
55 :
pairing:2015/01/26(月) 17:39:06.91 ID:3EbeEPcd
>>53 ほんとですよ・・・
セキュリティの穴は無視するってのが前提なんで
根本的に何かおかしい
この面の皮の厚さは根本的なとこで嘘ついてるか釣りだと思うんですけど
せっかく鈴つけたのになんなのこいつら
絶対にできない事なのにぎょうさん釣れてまんねんなぁ
60 :
pairing:2015/01/26(月) 20:35:06.91 ID:3EbeEPcd
>>56,57
本当に自動でのペアリング作業が目標なんで、
・・・すいません。
>>59 できることなんじゃないですか?
何故、できないのかを教えていただければ・・
62 :
pairing:2015/01/26(月) 21:43:34.35 ID:3EbeEPcd
>>61 自動ペアリングの論文自体がダメってことですか?
もう、決まったものなので変更が聞かないのですが・・・
そろそろNGかな
卒論坊やにレスする場合はアンカ付けてくれ
連鎖できないからさ
01-26 21:57:46.744: E/AndroidRuntime(2792): java.lang.IllegalStateException: android.os.DeadObjectException
(中略)
01-26 21:57:46.744: E/AndroidRuntime(2792): at com.google.android.youtube.player.YouTubePlayerView.e(Unknown Source)
01-26 21:57:46.744: E/AndroidRuntime(2792): at com.google.android.youtube.player.YouTubePlayerFragment.onSaveInstanceState(Unknown Source)
01-26 21:57:46.744: E/AndroidRuntime(2792): at android.app.Fragment.performSaveInstanceState(Fragment.java:1845)
01-26 21:57:46.744: E/AndroidRuntime(2792): at android.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:1590)
01-26 21:57:46.744: E/AndroidRuntime(2792): at android.app.FragmentManagerImpl.saveAllState(FragmentManager.java:1647)
01-26 21:57:46.744: E/AndroidRuntime(2792): at android.app.Activity.onSaveInstanceState(Activity.java:1205)
(後略)
なんじゃこりゃぁぁぁぁぁ
なんじゃこりゃぁぁぁぁぁぁぁぁぁ
YouTubePlayerFragment使って色々テストしてたら
アプリをバックグラウンドに回したタイミングで希にいきなり落ちるんだけど何これ
誰か原因と対処方法知っている人教えてplz
onSaveInstanceStateの中で例外握りつぶしちゃって良いんだろうか
Unity向けのAdmobとGoogle playゲームサービスの公式プラグインを併用してるんだけど、
無理やりマージしたせいか、ログイン後のApplacation.Quit();でアプリがスタックするんだ。
解決法知りませんか?
67 :
デフォルトの名無しさん:2015/01/27(火) 01:01:59.88 ID:T1D4rl3A
>>68 その教授に造らせればいいだろうな...(2分程笑う)
自動ペアリングできない仕様なんだから仕様を変えなきゃできないでしょ
Androidのソースを解析することから始めてみては
そんなことが卒論のテーマって、どんなfラン大学だよ
>>71 その考えはおかしい。
論文としてはちゃんと奥の深いテーマだろ。
つか、お前はどんな素晴らしい論文書いたんだよ。
セキュリティホールを利用して
他人に携帯に自動接続する研究か
まあ深いっちゃ深いな
まぁ嘘だと思うけど本当だったら検索で実名はすぐにバレるだろう
論文に無理でしたって書いときゃいいじゃん
昔、「ダイアログを出さずに自動的にVPNを接続しる」という無茶ぶりを頂き、
PPTPまでは成功させた事がある俺様が来ましたよ
なおL2TPでの接続はムリだった模様
Androidのソースを落としてきて中身をじっくり読んで
公開されていないから当然リファレンスもないAPI群の使い方をカンとトライ&エラーで全て把握し
誰も切り開いていない無人の荒野を開拓するがごとき根性で挑戦し続ければ
もしかすると出来るかもしれないですよ自動ペアリング、っていうレベルだけど頑張れ
あとパッケージ名クラス名メソッド名定数名が分かっているなら
リフレクションみたいな面倒なことしなくても普通に使えるようにする方法もあるんだが
何故か誰も教えていないから今は控えておく事にしよう
たのむからアンカしてくれ
79 :
pairing:2015/01/27(火) 23:33:05.70 ID:IYalmTLr
>>68,
>>69 教授の専門じゃない題目を選んだのは私自身なので・・・
>>70 そうですね。Android自体のソースを読んでみます。
>>71 すいません。名前も知らないような底辺大学なので・・・
>>72 ありがとうございます。
論文書くのは初めてです・・・・。すいません。
>>73 言い方を変えるとそうなりますね・・・
リフレクションによる自動接続ってセキュリティホールを
つくことになるんですかね?
>>74 論文自体紙媒体で教授に渡して終わりなので、
ネット上に流出することはないと思います。たぶん・・・
>>76 書いてます。実際できないんで・・・(笑)
>>77 すごいですね・・・
全力でやってるんですが、まずJava自体読めないんで・・・
リフレクション使わなくてもできるんですか・・・
恐ろしいですね。
止めといた方がいいと思うけどね。
サイトにアクセスするだけで未知のウイルスがわんさかダウンロードされそうだ。
ISISは簡単にサーバーに企業の侵入出来るような連中なんだし
あのアノニマスだってISISのサイトへクラックやってないんだし。
Java自体読めないって…ここで質問する以前の問題じゃね
アプリがバックグラウンドで動いてるにもかかわらず、ホームからアプリ起動すると再起動かかる。
原因としては何が考えられるかな?
>>83 ホームアプリが起動時のIntentにフラグを設定してるんでしょ
FLAG_ACTIVITY_NEW_TASKとかFLAG_ACTIVITY_CLEAR_TOPとか
この辺ゴチャゴチャしてて詳しくないから具体的な解決法は知らないけども
ドラクエのすれちがい通信みたいな機能無かったっけあれでパケットリレーでも出来ればね
無いし出来ないから
>>79 さすがに釣りだよね?
いいかげん迷惑
万が一本当にそんなことやってるんなら,君には絶対無理だから
諦めてあと一年じっくり勉強しな
>>88 プログラマの適正が微塵も無いから何年やっても無理だな
>>83 むしろ再起動がかからないことは保証されていない
再起動がかかっても問題ないよう、onPauseやonSaveInstanceStateで状態の保存をしっかりやって
onCreateで状態を復元するべき
開発者オプションの「アクティビティを保持しない」をチェックした状態でしっかり動くように作ればOK
91 :
pairing:2015/01/28(水) 10:39:24.57 ID:x8/rbZYw
92 :
デフォルトの名無しさん:2015/01/28(水) 14:53:15.41 ID:3LmnP+wN
ラジオグループで
1 2 3
4 5
のように表示したいのですが、
ラジオグループの中でLinearLayoutで入れ子にして2行にすると表示はされますが、
ただのラジオボタン単体5個になります。グループになりません。
どうすればこの形でもグループになりますか?
>>92 ラジオグループ android 二行
でGoogle画像検索して一枚目の画像のページ
独自class作ってるね
>>92 試してないけどRelativeLayoutではどう?
>>93 ありがとうございます
独自class作らないとできないんですね。
落としてやってみます。
>>94 RelativeLayoutも独自class作らないとだめみたいです。
どうせ独自クラスを書くならLayoutにするんじゃなくて、
実行時に適当にViewGroupを渡すとその下の改装にあるRadioButtonをまとめて登録するような
作りにする方がスジがいいような気がするが、XMLだけで完結しないのが難っちゃ難だな
なんなん?
いいえ。ナンではありません。
99 :
デフォルトの名無しさん:2015/01/29(木) 20:19:08.46 ID:svYMov2a
プレイアデスのJUNOをDLしてます
これはDLが重いです
作っていて機能的に弊害がないなら
もっとかるい一般的に使われてるエクリプスってなんでしょうか?
後はindigoしか選択肢がない
今からeclipse覚えるよりAndroid Studio使った方がいいぞい
103 :
デフォルトの名無しさん:2015/01/29(木) 20:33:18.03 ID:svYMov2a
105 :
デフォルトの名無しさん:2015/01/29(木) 21:03:23.22 ID:GjERTlTb
adb shellっていうのはadbのコマンドをまとめたものですか?
シェルを起動するコマンドです
>>105 adb shell は 端末上で動作するシェルをadbブリッジ経由で操作するコマンド
108 :
デフォルトの名無しさん:2015/01/30(金) 18:34:20.46 ID:C+r/cEaV
フラグメント初心者ですが
フラグメントから直接activityを呼び出すことができないみたいですが、
どのように呼び出せばいいのでしょうか?
getActivity()
>>110 ありがとうございます。できました。
それだけで良かったんですね。
もっと複雑なことやらないといけないかと思ってました。
onActivityCreatedが呼ばれる前はnullだから注意な
試してないけど。そうなん?
OnAttachでアクティビティにアタッチされる前がnullなんじゃね?
android 2.2 以上のアプリで 4.4用のAPIを使って(ソースに記述して)
4.4以上の機種ならそれを実行できる、以下ならスルーするといったような処理はできますか?
4.4用のAPIを使うなら4.4以降対応のアプリにしないといけないですか?
もし方法があるなら教えて下さい
>>114 どういう調べ方をしたらその解が見つからないんだ?
APIキーを記述する場所はどこがいいでしょうか
AndroidManifest.xml か、assets か、ソースコード上かどれにしようか迷っています
なるべく、apk を解析されてもわかりづらい場所がいいです
>>117 とりあえずhuluあたりのキーを抜いてみるといいよ。思ったより簡単に取れるから。
120 :
デフォルトの名無しさん:2015/01/31(土) 18:26:42.99 ID:OtjaeeV2
プログラミング経験ゼロで
java覚えて簡単なゲーム作成した人が
そこから
一方は、Androidをやっていく
一方は,Webアプリやっていくとします(servletやJQuery)
仕事でプログラムが仕事がもらえるぐらいの速度で書けるまでって
どっちが長いですか?同じぐらいですか?
まず日本語から覚え直すべきだ
122 :
120:2015/01/31(土) 19:00:58.81 ID:OtjaeeV2
仕事がもらえるレベルのプログラム作成能力になるには
どっちが期間がかかりますか?
サーバーもあるからWEBアプリの方がきついですか?
>>122 JAVAなんか簡単だから両方やればいい
>>122 求める方向が違うけど設計しないならどっちもかわらんでしょ。
一から十までなら断然webのほうが大変。っていうかプログラム書くこと以外での必要になる知識料が半端ない。
125 :
120:2015/01/31(土) 19:16:16.34 ID:OtjaeeV2
ありがとうございます
>>123 >>124 WebってServlet JSP Html CSS Javascript JQuery JQueryUI
ネットワークの知識以外にまだまだあるんですか
Webプログラミングは覚えることが多すぎ
ロジックの部分はJavaやPHPとか、データベースとしてSQL、
ビューの部分がHTMLだけでなくJacascriptやCSSとか、そのうちHTML5も
仕事だとフレームワークを使うからJava servletならstrutsとか
あと、もちろんサーバの構築もw
だいたい仕事で入ってから覚えるんだけどな
127 :
120:2015/01/31(土) 19:18:52.98 ID:OtjaeeV2
apatch tomcat linux データベース クラウドもあるか
128 :
120:2015/01/31(土) 19:20:59.75 ID:OtjaeeV2
>>126 ありがとう。使いこなすにも時間がかかるし
WEBは長い方なんですね
アンドロイドは何があるんですか?
サーバーの通信も最近ありますよね
それ入れるとボリューム的にWEBの6割だったりはしないですか?
>>127 WindowsにIISと.Netかもねw
>>128 どっちにしても、お前さんには無理だって事はわかる。
そんな意地悪を言うなよ。
意地悪でもないのでは?
普通は知らないでやって、やってるうちに知らず知らずにわかるようになっていってるパターンだと俺も思う。
必要になるまで無知で、必要になったら逐一調べていくというように。
表現が変だとはおもうけど体育系的な感じ?
プログラミングって見た目文系よりだけど
学校のテストみたいに最初から必要なもの全部学習してからテスト本番に挑むやり方では向いてないよ。
なんか最近そういう質問者多いけど根本的に違うと思う。
今HTML5やって、3か月後にJavaやって、6か月後にSQLやってとかやってると
6か月後にはHTML5の細かい所絶対忘れてると思う
学び続けなければいけないという覚悟だけがソフトウェア開発者の味方さ
カッコイイ〜
愛と勇気 だけ が友達の彼と気が合いそうだ
彼は 愛斗ゆうき が友達なんだろ?
しかしAV女優と友達だって宣言されても困るよな・・・
糞学生がしね
>>138 なるけどこのスレはどっちかって言えばJavaでAndroid APIよびだすのがメインだから
JavaScript スレで評判聞いてきたら?
初心者サイト何個か見てきて出来そうなら出来るかもそれ買うのは無駄金
必要なのは実力に合った目標と絶対諦めないこと
>>138 こういうのってすぐ古くなるから、ネットの入門サイトを探したほうがいい
>>138 というか、この本は無いだろ・・・
どう見ても失敗本の処分だろ。
143 :
デフォルトの名無しさん:2015/02/01(日) 23:41:11.71 ID:9IWm1LOn
この粘着豚いつまでやってんだろ
いい年のオッサンだったら悲惨すぎる
NGワードくらい駆使したいものです
まあ、粘着者自身がミジンコ脳だという事に気付けない限り続くんじゃね
ミジンコ程度の脳しかないから粘着してるんだべ?
Unityのアプリってなんかサイズがでかくないですか?
フレームワーク丸ごとアプリに同梱な上、最近のはARM+x86だから。
公開済のゲームを修正しようと、デバッグ用にビルドして立ち上げたら、
保存されていたデータが消えてしまいました。
原因としてはどんなものが考えられますか?
心当たりと言えばGoogleゲームサービスのUnity用のプラグインのバージョンを古くした事。
前使っていたバージョンでは「保存済ゲーム」のサービスが使えて、今回使ったバージョンでは使えないという事です。
デベコンでは一度、保存済ゲームサービスを使用する設定をオンにしたので
公開後にオフに出来ない様です。
>>150 リリースapkとデバッグ版でデータを共有できないのは仕様です
同じアプリでもapkの署名が違えばデータは共有できず、新規インストール扱いで初期化される
あ、Unityか
じゃよくわかんね
即android studioに乗り換えましょう
>>151 ありがとうございます。
キーが同じならばセーブは保持されるわけですね。
テストプレイの際もリリース用のキーでテストすれば良いということかしら?
保存されるというよりは署名の異なるアプリをインストールしようとしたときに
「署名が違うからインストールされてる奴をアンインストールしてからインストールするよ?」って聞かれてるはず
>>155 確かに、、
見逃していました。
無事にアップデートを公開出来ました。ありがとうございます!
デバッグ時も公開用と同じ署名を使えば済む話
158 :
デフォルトの名無しさん:2015/02/03(火) 00:25:33.83 ID:Xqwd5i9B
AndoroidStudioで開発したいのですが、他に必要なものはありますか?
JDKって必要なんですか?そもそもなんですかJDKって
検索しろよ
161 :
デフォルトの名無しさん:2015/02/03(火) 10:01:20.03 ID:ZuY9Bf7p
何故androidstudioにjdkとやらが含まれていないのですか?
何故手順を多く踏ませるのですか?
全て含まれてない理由はなんですか
馬鹿には無理
googleに問い合わせろよ
Oracleが許さないから。
釣りには反応しないほうがいいよ
んだな
今度からあまりにも馬鹿らしい質問はスルーしてやろうぜ
何度も何度もスルーしてやろうぜ
少し質問なんですが、一つの画面に二つの入力フィールドあったとして、片方ではキーボードをテンキーで表示してもう片方はフルキーボードで表示するみたいな事って出来る?
画面回転させる他は無いんじゃね
ジャイロで回転させるのって意図してない誤回転するから良くないよね
ジェスチャかボタンで手動切り替えの方が良いと思って調べたら手動
回転制御アプリあんのね
>>168 カスタムキーボードを2つ作って、別々に関連付ければ行けんじゃね?
>>168 android:inputTypeでそれぞれの入力欄に異なるキーボードを表示させるってこと?
それとも同時に二つのキーボードを表示したいってこと?
アプリのテストプレイ中にGooglePlay Game Serviceの実績にアクセスすると頻繁に落ちるようになりました。
Logcatにはこのように出ています。
02-26 14:38:38.887: E/InputDispatcher(746): channel '19****b5 ***.*******.*******/com.unity3d.player.UnityPlayerProxyActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
解決策分かる方、よろしくお願いします。
174 :
172:2015/02/04(水) 14:55:17.20 ID:eV4+NUqm
別の人気アプリでも試したところ、実績アクセス時に同じエラーにて落ちるようです。
頻度は自分のアプリよりも低いですが。
アプリ側ではなくサービス、もしくは端末のエラーと考えられますか?
>>173 ネット辞書を買ってみました!ありがとうございます!!
で、調べたところ
「チャネルが回復不可能な分割され、配置されます!」
との事ですが、まったく意味が分かりません。
配置されたくないです。
>>175 ありがとうございます。
リンク先は外国の方々が仲良くしていました。
メモリリークしていないか調べてみます。
実績の表示前に実績解除のチェックするメソッドが走るんですが、ここに問題がありそうです。
普通はいちど解除した実績はチェックもスルーさせているんですか?
ID表示されてると本当に助かる
英語まったくダメなやつって実在するんだな
最近だと小学校から習ってるのに逆にすげーわ
sqliteのテーブルの中身を確認したいんだけど、パソコンから見るにはファイルをコピーして云々とかめんどくさい
アプリにデバッグ用にアクティビティかなんかを作ってそこに表示したほうが早い気がするんだけど、
普通はどうするもんなの?
sqlite managerみたいなのがあるなら教えて欲しい
めんどくさいめんどくさい
なければ、自分で作ればいいじゃいない
プログラミングってそういうものだろ
>>183 あるなら作らないのもプログラマーだよ。
だからないのか聞いてるんじゃね。
お前みたいな、こんなことすら自分で調べられないやつはプログラムに向いてない
てかほとんどのアプリがSQL参照してね?それを表示するだけっしょ
知らないならスルーすればいいだけなのに
TextViewに通信のログを表示していますが32行くらい表示すると更新されなくなります
maxLinesやmaxLengthも設定しましたが変わりませんでした
原因ってわかりますか?
190 :
デフォルトの名無しさん:2015/02/05(木) 10:37:08.23 ID:lgmT1iQ/
知らないとか言う話じゃないだろ
質問者本人か?
>>181 実機のファイルを実機内で表示する汎用のインスペクタがない(あるいはあるけどメジャーでない)のは
パーミッションの問題で使いづらいからじゃないかな。
デバック用にちょっとした内容ダンプするアクティビティ作ったりしてたけど
結局コピーするスクリプトでも叩いたほうが楽って結論になった。
リモートでリアルタイムに開けたら便利ではあるんだけどねぇ。
dbをコピーしてFirefoxのアドオンで見てるけどこれより簡単な方法あるの?
root取ってるなら実機で直接sql発行して一覧で見ることの出来るツール沢山転がってるな。
アプリのメンテ機能としてexternal storageにdbファイルをコピーする機能作っておけばちょっとは楽になるかな
195 :
デフォルトの名無しさん:2015/02/05(木) 11:23:55.95 ID:WCoPU/kq
文字列のエンコードを変換するのはStringのgetBytesですが、1文字(1char)ずつ変換
する方法ってあるんでしょうか?
今は1文字ずつStringに変換してからgetBytesしているのですが、ちょっと重いので...
(ソートのコンパレータで使用しています)
>>181 めんどくさい って言うようなバカは作るな
199 :
195:2015/02/05(木) 13:02:23.69 ID:WCoPU/kq
ごめんなさい、自己解決しました
文字列をgetBytesでバイト配列に変換してから、1文字ずつ切り出すべきですよね
アホがお騒がせしました(泣)
PreferenceFragmentの中でもDialogFragment使うべきかな
AlertDialogをインナークラスで書いてたけど
書き換えると外部ファイルにしなきゃなんないしマンドクセ
okとキャンセルのダイアログだけなのになんで面倒なことをするようになったんだorz
調べたら使った方がいいんだな
というか使うべきなのか
フラグメントを使ってタブを実装しました。
最初に立ち上げると(タブ1表示時)、タブ1とタブ2のonCreateViewが処理されます。
ダブ2に移動するとタブ3のonCreateViewが処理されます
表示は普通にされているので問題ありませんが、
こういうものなんでしょうか。僕のミスなんでしょうか
最初に立ち上げた時にタブ3のonCreateViewも処理したいのですがどうすればいいでしょう。
Windows環境のAndroidStudioでC のコードをビルドしようとしています。
Android.mkに
NDK_TOOLCHAIN_VERSION := clang3.4
APP_CPPFLAGS := -std=c 11
を指定したのですが、
xx.h:21:37: error: expected ';' at end of member declaration
xu.h:21:39: error: 'override' does not name a type
のようなエラーが大量に出ました。
C 11のコードをビルドする方法わかる方、教えてください。
なぜか++が空白になっちゃいました。
C とあるところはC++と読み替えてください
c++11じゃねーの?
あと、APP_*を指定するのはApplication.mkの方では
>>206 そうなんですか。
しかし、Application.mkにAPP_CPPFLAGS:=-std=c++11を追加してみましたが、同じエラーがでます。
気になったんですが、NDK_TOOLCHAIN_VERSIONの定義は、Android.mkの先頭に書いておけば全てのモジュールに対して有効になりますか?
LVLの導入を検討しています。
この方法が良いかどうかはおいておくとしまして、次のことは実現できますでしょうか?
・無料アプリAと有料アプリBを公開する
・LVLは無料アプリAに入れる
・有料アプリBがライセンスらせているかは無料アプリAの中で判断する
LVLでは不完全とか、アプリ内課金にしろとかは別途検討しています
上記が可能か調べていても分かりませんでした
ご教示ねがいます
NDK_TOOLCHAIN_VERSIONの定義もApplication.mkに
写したら、ビルドが出来るようになりました。
ありがとうございました
ところで、NDKのincludeパスをAndroid.mkの
LOCAL_C_INCLUDESに書いておかないとincludeに
失敗するんですが、これはこういうものなんでしょうか?
eclipseの時は要らなかったんですが。
>>209 キーがパッケージ依存だから無理じゃない?
大人しくインテントでも飛ばしあうのがいいんじゃないの
213 :
181:2015/02/05(木) 21:28:07.72 ID:uPWGoNlW
誰が誰を罵ってるのかよくわからんけど、自分で作る価値が無きにしもあらずなのはわかった
>>194 SQLiteManagerってそのものズバリなアプリがあったから、それ合わせて使えば楽が出来そうね
動かない端末があるらしいのが気になるけど・・・
>>196 ありがとう。
とりあえず、あんたのレスが一番役に立たなくてバカっぽかったよ。
仕事に無駄が多いって言われない?
余計なことはしないほうが皆が幸せになると思うよ。
もっと生産的なことに時間を使うべきだよ。
214 :
181:2015/02/05(木) 21:40:18.17 ID:uPWGoNlW
>>191 ありがとう 色々工夫してるのね
車輪の再発明はしたくなかったから聞いてみたけど、自分も色々やってみるわ
Inttelij使えば解決やんけ
216 :
209:2015/02/05(木) 23:08:05.89 ID:kP8kvV39
>>212 そうですか、ありがとうございます
別の方法を検討します
217 :
デフォルトの名無しさん:2015/02/06(金) 14:40:17.64 ID:7nbtA3u0
もう一度
>>202ですが、
タブ3のonCreateViewより前にタブ3上のテキストをゲットしようとするとヌルポが出ます。
タブの場合は隣のフラグメントも一緒にonCreateViewしてくれるみたいなので、タブ1とタブ2だけonCreateViewしてます。
でしたら、タブ3まで一緒にonCreateViewすることってできるでしょうか。
もしくはonCreateViewしなくてもテキストをゲットすることができるでしょうか。
>>217 flagment使うときはflagment内のことは基本その中で処理する
>>217 まずcreateViewという名前の意味を考えよう
まず設計を見直せ
じゃあその方法じゃ無理ってことですね
モトモトノ設計変えてみます
おまえら糞みたいな情報しかない質問に適当に答えすぎ
onCreateViewはattachされる時に呼ばれるからタブ3も画面上に配置してinvisibleにしとけば画面生成時に呼ばれる
どうやってタブ実装してるのかはしるよしもない
223 :
デフォルトの名無しさん:2015/02/06(金) 20:09:52.49 ID:77/GKFEd
viewpager.setOffscreenPageLimit(3);
224 :
デフォルトの名無しさん:2015/02/06(金) 23:13:45.45 ID:QqLkWlqJ
ボタンの二度押し防止ってどうすればいいんだ?
パッと思い付くのがフラグ持つかミリ秒取得して一回目と二回目の差分が千ミリ秒だったらreturnするくらいしか思い付かない
前者だと連続二度押しと時間空けての二度押し判別できなさそうな気もするし
押された瞬間に他のボタンもすべてdisabledにして対処している
>>225 DialogFragment のokボタンで確定させるか、Toast で押しました的なメッセージ表示を行う
後者は根本的な解決法ではないけど、ユーザーがボタンを押したかどうか気付かないということは避けられる
俺もその二度押し防止策をやろうと思ってるんだが
押したらプリファレンスにフラグ保存して
処理が終わったらフラグ解除する実装でどうだろう
そういう仕掛けを自前で用意するのは不安が残るよな
何かしら想定抜けがあったり、あるいは処理落ちが発生したりして、
フラグが更新されないと最悪アプリが操作不能になるわけで
網羅的にテストしようにもAndroidの仕組みを良く理解していなければならないし、
テスト工数も大きくなるだろう
こういうのはAndroidの仕組みをよく理解しているGoogleの開発者が
用意しておくべきだと思うな
なんでバグる事が前提なんだ?
>>225 ダイアログみたいにボタンで終了させるものは前者
それ以外はいつも後者でやる
むしろダブルタップしないと動作しないようにカウンタ持たせれば
キーボードの初期表示って変えれるもんなの?
例えばinputtype=textで指定するけどキーボード出たときの状態は数字みたいな
できる
APIドキュメントくらいみろ
調べた上で見つけらんなかったから聞きたかった
238 :
デフォルトの名無しさん:2015/02/08(日) 10:00:21.04 ID:tRrs2QTr
eclipseをたちあげたままスリープを押して
再度立ち上げたところ画面真っ暗で動かなく
強制でシャットダウンして
再度eclipseを立ち上げたら
赤バツだらけ
クリーンやリフレッシュもやりました
どうしたらいいでしょうか
appcompatの
R.javaの部分が赤く
プロジェクトの方も赤になってます
>>238 >>どうしたらいいでしょうか
(1)あきらめて寝る
(2)アンインストールして再度インストールしなおす
(3)普通の人は当然のごとくやっている環境丸ごとバックアップしているものに差し替える
240 :
>>238:2015/02/08(日) 10:16:02.63 ID:tRrs2QTr
リフレッシュかけて再起動までしてみたらなおりました
241 :
>>238:2015/02/08(日) 11:29:58.67 ID:tRrs2QTr
iphoneだとデフォルトで
アプリ作成の際
広告を下などに出す
機能がついてる
アンドロイドってあれはどうやってやるんですか?
検索ワードがすごい難しい
広告会社に登録してSDK入れて手順通りやる
質問させてください。
Eclipse 4.2でこれまでAndroid開発をしていたのですが、
Android Studioをインストールしたら、Eclipseの開発が壊れてしまい、ADTを再インストールしました。
再インストール自体はうまくいったのですが、実行構成が起動できず、アプリも実行できなくなってしまいました。
こんなエラーが発生しています。
エラーが発生しました。詳細については、エラー・ログを参照してください。
com.android.ide.eclipse.adt.internal.sdk.Sdk.getSdkLocation()Ljava/lang/String;
コンソール上には、様々なエラーが吐かれています。
一例としてこのようなものです。
[2015-02-08 17:48:13 - SwitchUserSample] Found 2 versions of android-support-v4.jar in the dependency list,
[2015-02-08 17:48:13 - SwitchUserSample] but not all the versions are identical (check is based on SHA-1 only at this time).
[2015-02-08 17:48:13 - SwitchUserSample] All versions of the libraries must be the same at this time.
[2015-02-08 17:48:13 - SwitchUserSample] Versions found are:
[2015-02-08 17:48:13 - SwitchUserSample] パス: D:\Program Files\facebook-android-sdk-3.21.1\facebook\libs\android-support-v4.jar
[2015-02-08 17:48:13 - SwitchUserSample] 長さ: 393154
[2015-02-08 17:48:13 - SwitchUserSample] SHA-1: 307c1cc532eabbf1d135b43e5c983c9da700449d
<略>
[2015-02-08 17:49:19 - PhotoSelectionActivity] D:\Program Files\Laevatein-master\laevatein\src\main\res\layout\l_list_item_default_album.xml:2: エラー: エラー: String types not allowed (at 'layout_width' with value 'match_parent').
[2015-02-08 17:49:19 - PhotoSelectionActivity]
[2015-02-08 17:49:19 - PhotoSelectionActivity] D:\Program Files\Laevatein-master\laevatein\src\main\res\menu\l_activity_image_preview.xml:5: エラー: No resource identifier found for attribute 'showAsAction' in package 'com.laevatein'
[2015-02-08 17:49:19 - PhotoSelectionActivity]
解決策がよく分からないので、レスしました。
どなたか分かる方ご教授いただけないでしょうか。
お願いいたします。
studioにエクスポートしたら戻れない、と警告で書いてあったような
eclipseで作ったプロジェクトをインポートしたのかな
コピーしたやつをインポートして様子をみればよかったのに
最低レベルのプログラマでも適宜プロジェクト単位でバックアップはとってあるだろうからたいした損害はないだろ?
248 :
デフォルトの名無しさん:2015/02/08(日) 19:34:11.56 ID:Pwx84Qtq
Twitter乗っ取られたんだが奪い返すことは可能?
プログラミングでやるなら、パスワード総当たりしたら
250 :
243:2015/02/08(日) 19:51:54.50 ID:MTTUnT89
>>244 バックアップを取っていなかったので...。
それに、そうしない方法を探っているので...。
>>245 Android Studioにエクスポートはしてないです。
ただ、Android StudioをPCにインストールしただけです。
まさかインストールしただけで、環境が壊れるとは思ってもいませんでした。
ADTにちゃんとSDKの位置が指定されてるかもっかい確認してみそ
Android Studioは何も考えずにインストラーをクリックしてくとSDKも入れられるから、重複してるかも
どうやったらインストールしただけで壊れるの?神業
ちょっと動かすとすぐ壊れるのがアンドロイド
嫌と言うほどやってるから
絶対動かさないか動かす場合は保存など常にしてる
>>251 Eclipse側のSDKの位置は合ってますし、Android StudioとSDKは分離させているので、問題はないはずなのですが...。
>>252 どうやって起きたのかは調査中...。
結構色々なAndroidプロジェクトが入っているので、何とか復旧させたいのだが...依然うまくいかず...。
どうしたらいいのかな。
>>253 環境とプロジェクトをバックアップしていれば復旧なんか数分だからね
そもそもSDKって重複して存在できるんか?
確認した訳じゃないけど環境変数取り合ったりしてないか?
てか、ADTなんて棄ててもうAndroid Studioに全面移行しちゃいなよ、俺はもうした
商業アプリもインポートしてビルドしてるが全く問題なし
Android Studioが優れてるというより、Graidleが標準で使えるのが大きなメリットなんだけどね
NDK使いたいならまだだめかもしれないけど
>>256 環境変数か。そこは考えていなかった。一度確認してみます。
移行もちょっくら考えているけど。
Eclipseの方が今はまだ使いやすいし、Android Studioを自分風にカスタマイズしていくのに慣れてなくてね...。
しっかりカスタマイズできて(特にエディタの文字の色とかコード補完とか)いれば、移行しようかなとも思っています。
事の発端はAndrodウェアのアプリを作ろうと思ったことだし。
Android StudioもGit使えるのでしょうか?
258 :
デフォルトの名無しさん:2015/02/08(日) 21:26:51.27 ID:Pwx84Qtq
>>249 そのプログラミングが作れなくて困ってる
確かに環境変数に勝手にパラメタが追加されていたわ...。
でも、変化なしというか、余計にエラーが増えたような気がする。
まぁ、明日仕事だし、今日の追跡はこれくらいにしとく...明日また考えてみよう。
そんなにおかしくなるものなのかね
いずれ移行しなきゃならんかもしれないし怖いのお
環境変数でいじったのってsdkのtoolsとかのpathを通したぐらいだし
更新履歴みても上書きされてるようなのは見当たらない(すべてインスコ時の日付時間)
まあプロジェクトファイルの方が壊れてるんだと思うけど
>>257 アンスタがGit使えるというか、msysgitまでのパスを設定すればGUIである程度操作できるようになるよ
しかも変更した箇所がバーにハイライトされるんで見やすい
それで、思ったんだけどGit使えるならGoogle Driveとかにバックアップ用のリモートリポジトリもっとけば
自分は実家のPCでもプロジェクトの同期がしたかったんでわざわざGitサーバまで立てたけど、Google DriveでもWindowsから直接パスが見えるからサーバ立てるまでもなく簡単にできるんじゃない、多分
これで自宅が火事になっても大丈夫w
>>261 いま試したらGoogle Driveで簡単にできた、サーバの知識なくていろいろ試行錯誤したあの日々はいったい
技術力のアップにはなったかな。。
>>262 まあ一人かつプライベートならクラウドストレージ系は全然ありだよね。
Google Driveをgit initすればリモートリポジトリになるの
へー
>>264 Google Driveにベアリポジトリを置く
URLは別にファイルパスでもいいんよ
ダイアログが.show()呼んだ直後じゃなく、少し送れてくる理由が説明読んでてもよくわからん
>>264 むしろミラーしてないドライブそのものにリモートでgitアクセスする方法あるなら知りたいわ。
>>267 UI操作系は、単純に今の処理が終わったら表示してねとか指示するだけ。
win32とかJavaScriptみたいに即時表示するわけではない。
>>181 読める位置にあるsqliteのファイルのビューアーはある。
問題はたいてい他アプリからは読めない位置にあること
Evernoteみたいに、TextViewの中にチェックボックスを表示したいんだけど、fromHtmlしてもできなかった
方法知ってる人いる?
プロジェクトのインポート方法とかの質問もここでいいの?
なんか初心者が聞くには怖い人が多いんだけど
ググって数時間格闘したけどなお分からんなら良いよ
275 :
デフォルトの名無しさん:2015/02/09(月) 18:13:47.11 ID:rZsqp4GQ
ある時刻からの経過時間を測定したいです
例えばゲームなどで、「ある時点から30分経過後にロック解除」といったことをしたいのですが、System.currentTimeMillis(); ではAndroidの時刻設定変更などの不正ですり抜けられてしまうと思います
できるだけ不正を排除して経過時間を測定したのですが、良い方法や常套手段などありますでしょうか?
ググっていますが、単なるタイマーの実装例などしか見つからず、不正対応まで言及されているものが見つかりませんでした
こういった処理で作ったことあるよ、などでも大変助かります
宜しくお願いします
NTPサーバに現在時刻を問い合わせればok
>>275 最初と最後だけで判断しなければ良いだけ
>>275 俺が思いついた方法は大きく分けて2つ。
好きな方を選んでくれ。
[方法1]
ネットワーク上から時間を取得し利用する方法。
NTPを利用する方法 or 自作PHPで行う方法の2種類。
参考キーワード1:「NTPサーバーとは?」
参考キーワード2:「PHP、現在時刻取得」「PHP、Android、連携」
[方法2]
スマホから時刻を取得するのではなく、アプリを起動してから自分でタイマーを使い30分測る方法。
参考キーワード:「Android、プログラミング、タイマー」「Android、プリファレンス」
30分程度なら内部の時計を使わずサービスで1800秒カウントすればいいんでない
java.lang.system.currenttimemillisでいいんじゃね
ああ違うかシステムの稼働時間返すいじれないタイマーが有った気がしたんだが
発想を変えて、ACTION_TIME_CHANGEDが来たかどうかを判定するフラグを用意するとかでいいんじゃない?
アプリを終了した状態も許可するんだとするとやっぱりネットから
時間取ってくる方法取りたくなるなぁ。
>>274 これAndroid Studio用のプロジェクトじゃないかな?
Eclipseでは読めないと思う
>>281 SystemClock#elapsedRealtime ?
286 :
デフォルトの名無しさん:2015/02/10(火) 00:50:03.62 ID:CAxDKO0H
>>275 起動しっぱなしならSystemClock.elapsedTime
リブート挟むならネットワーク時刻
ネットに常時接続してるモノ
と、考える馬鹿が多すぎ
>>288 タイムソースもなしで正確な時刻が分かるわけないでしょ。君のような言い方はしないけども
仮に時刻を使う場合でも、
起動時・アプリ実行中など、さまざまのタイミングで複数のアイテムを使って時刻の印を複数の場所に複数残しておいて、
再起動時・アプリの実行中にその印と現在の時刻のつじつまが合わない場合を判断すればいい
少しは頭を使えよ
>>291 巻き戻し対策ならそれもわかるけど
先送りはそれだと難しくない?
外部要因で簡単に終了する泥のアプリは特に。
節目節目に時刻を記録しておいて、いきなり大きく時間が飛んだら
時間を先に進めたって判断するってことかね。
電源長く切ってた場合とかアプリ長く終了してた場合とかで誤検出になるような気もするが。
>>291 自動時計合わせでズレることもあるし、テストしにくい迂遠な手法だな
元に戻って
>>275 が造るアプリがそこまでの時限プロテクトが必要なアプリなのか...が知りたいものだ
ウチのアプリは(アンドの中では)高額なのでかなり厳しいプロテクトはかけてるが...
やっぱり外部リソース使う方法しか思いつかないなぁ。
稼働時間は再起動でリセットされるもんな。
>>282 なにやら自動設定にしてる場合、ネットワーク接続先が変わるたびに飛んでくるんだそうな。
なかなか難しいな。
再起動でリセットされるのは問題ないんじゃね、早送りをされたくないわけだし
カウントが小さくなっていたら起点をその数に差し替えればいい
時間戻す対策はいろいろ考えつくけど進める対策は難しいね。
elapsedRealTime() だけでうまく出来ないかなぁ。
再起動とか電源OFFの時だけ巻戻るってのだけ注意したらどうにかならんかな。
アプリ起動→(稼働時間記録)→アプリ終了
→時刻進めてから再起動→アプリ起動 で抜けられちゃうか…
日時が正確じゃないとログインできない仕様とかあるから
ネットワーク時刻と同じでないとアプリが起動しないようにすれば
普通に開始時刻のログと比較で処理できると思う
端末の時間がテストとかしてずれてるときそれに気づかなくて
twitterにログインできなくてムキーってなったことあるw
>>301 仕様っていうかSSL証明書の期限の関係で、ある程度時計があってないとサーバと全然通信できないことはよくあるな。SSLまわりの例外がでたら時計を確認してアプリの開発時期とあまりにズレてたら特別なエラーメッセージだしてるわ
>>275みたいな用途だったらローカルのタイマーはダミーで実際に時間が経過したかどうかはサーバで管理すりゃ良いんじゃないの?
目的が違うからいくら代替を出しても無駄だと思われ
やりたいのは体験版とかの一定時間で使えなくなるための時限式じゃないの?
30分って言ってるからそれは違うと思われ
じゃあ時報にコールして音声案内の時間を取得すればいいんじゃね
馬鹿が多すぎ...
これがベスト!なんて解決案があるならとっくに定形化してるのよ
どんな案も一長一短だからトレードオフは避けられない
アプリの性格毎に決めるしかないね
ネット接続のみなら馬鹿でも出来る
馬鹿しかいないのかぃ
キミの素晴らしいアイデアを披露してみたらどうだ?
ちょっとしつもんてす。
書籍に関してもここで大丈夫でしょうか?
今まで eclipse 上で開発してきたのですが、ビルドなどを自動化するため、adb や ant を勉強中です。
ネットで断片的な知識は得たのですが、一度書籍でがっつり勉強したいです。
こんな場合におすすめの本ってありますてしょうか?
リファレンスではなく、署名から実機での起動、ライブラリを使う、jar をとりこむ、デバッグ、LogCat の表示、などなど実践的なものがあればありがたいです。
>>312 せっかく勉強するならantよりgradleかな
Android Studioはgradleなんで
アンドロイドって市場的には
ほぼ終わり段階なのかまだ
20年は持つのか
どうなんでしょう?
>>314 自分で判断できないなら聞いても無駄だろう
20年後にスマホなんて使うかよ
日本で泥が残るか知らないがPDA的な物は昔から有るし今後もなくならないんじゃね
ありそうな進化としたらCCDからジェスチャ読んで操作かな
>>314 20年前、10年前、5年前に流行ってたのが何なのかとか考えれば
ひとつのプロダクトの知識だけで一生食べてくのは不可能だってわかるはず。
20年後はそれなりに進化した形で残っているんじゃないか
目下これから勉強スべきは、 Android5 の新機能とスマートウォッチだろ
20年前っつったらWindows95くらいか。
20年後はノイマン型が残ってるなら256コアくらいのCPUがモバイルで動いてそうだな。
おはつです。
Facebook APIが場0ジョンアップしてfriend_***の権限がすべて削除されたため、
friend_video、friend_photoにアクセスする方法がなくなり、困っております。
代替の手段等あればご教示いただけないでしょうか。
Webからスクレイピング
AndroidStudioでC のコードにブレークポイントを設定したいのですが、
ソースデバッグってできるのでしょうか?
ググっても情報が見つからず困っております。
20年先なんて考えてないで今年で出来る事を考えてやれ
デジタル産業とはそういう所
今年はスマートテレビの都市だろ
都市だったのか・・・
ってのはいいけど、スマートテレビは無理だろ。
朝鮮人の考えそうな無理やり機能なんて広まるはずもない。
動画などを再生する時にフルスクリーンになった事をReceiverで受け取りたいのですが可能でしょうか?
分かる方ご教授下さい。
>>330 常駐しているserviceにフルスクリーンになった事を検知させたいと思っています。
調べてもそれらしいページが見当たらなかったのですが難しいのでしょうか
332 :
sage:2015/02/13(金) 15:39:28.78 ID:EWGyHIFD
Androidのwebkitのaudioタグで音声を再生していると、稀に音が出なくなり、
それ以降はアプリを再起動しても直らないことがあります。
仕方がないので対処療法として、AndroidのAPIからオーディオ全体をリセットしたいと思います。
どのようにすればオーディオ全体をリセットできるでしょうか。
よろしくお願いします。
>>332 webkit使ったことないから憶測になるが
それはaudioタグとやらにメモリー解放のバグがあるか使い方間違ってたりしないかな?
何故かと言うと以前Androidでwebkitを使わないで音声再生アプリ作った時
音声再生用に確保したオブジェクトを使いまわしたり再利用しようとしたら同じバグが発生して悩んだことがある。
原因は音声を再生するたびに多重にメモリーを確保し続け
解放がされてないためにメモリーリークを起こしてそうなっていた。
もうメモリーを確保できない時に端末の再起動でしか直せなくなっていた。
なのでここらへんの動きも確認してみるといいかも
スマートテレビで8CH同時視聴録画機能や
ニコニコ実況、Twitter連携、スマホからの視聴録画予約などで
完全にデジタルテレビはGoogleが支配することになる
今年がその元年となる
にゃんこ大戦争もいつまでたってもBGMが止まるバグが治らないけど、このせいなのかな?
336 :
デフォルトの名無しさん:2015/02/14(土) 18:43:23.77 ID:rkkQlakc
実機の課金テストしようとapkファイルをアルファ版テストにアップロードしたんですが、
いざ課金処理を呼び出すと「エラー 認証が必要です Googleアカウントにログインしてください」と出ます
端末は端末用のGoogleアカウント(デベロッパーとは別)にログインしていますし、デベロッパーコンソールの「テスト用のアクセス権がある Gmail アカウント」にそのGmailを入力してます
ライセンス キー も入力してありますしサンドボックステストでは想定通りの購入も出来たので周辺にバグがあるとはあまり思えず
端末も直前にGoogle playから別のアプリをダウンロードして通ることを確認しましたし、
アプリ内アイテムも有効になってますし、アイテムIDも何回も確かめました。もう意味がわかりません
Logcatで赤文字で表示されてるエラーは
Style contains key with bad entry: 0x0101035b
FileBasedKeyValueStore.delete:Attempt to delete '文字列' failed!
[16] BasicNetwork.performRequest: Unexpected response code 403 for
https://android.clients.google.com/fdfe/preparePurchase の3つです
FileBasedKeyValueStore.deleteはググったら出てきてこれかなとか思いましたが、アイテムを購入する画面まで進んでませんし・・・
テスト用アカウントが浸透するのって2、3日かかったと思う
もうちょっと待ってみ
338 :
デフォルトの名無しさん:2015/02/14(土) 23:22:07.87 ID:1tpX38Ok
androidのソースコードをダウンロードしてもカーネルがどこにあるか分からないのですが
Googleはカーネルだけは非公開にしてるんでしょうか?
は?死ね
切れんの早すぎ
>>338 カーネルはバイナリになってて、別のところから落とせる
公式ガイドのBuilding kernelに書いてあると思うが
Firefox for mobileなんだが多分28くらいからcanvasが表示出来なくなったんだけど
お手持ちの環境でCanvas表示できてるって人いる?
asm.jsで実用可能な速度が出るので活用したいところだが…
ちなみに端末はHTL23を使ってる
342 :
デフォルトの名無しさん:2015/02/15(日) 11:35:54.52 ID:/CNeEnsG
デベロッパーコンソールでα版、β版を「公開」にした時って
Google playに公開されるんですか?
それとも、「アルファ版テスター」というのにだけ公開されるんでしょうか
なんか準備する前のテスト段階で間違って一般公開になると怖いんですが
ちゃんとデバッグしていればいいだけだろ
344 :
デフォルトの名無しさん:2015/02/15(日) 12:32:45.47 ID:/CNeEnsG
βはGoogleグループのメンバーをテスターに出来るんじゃなかったか?
心配しなくても製品版で公開しない限り一般の人には見えない。
しかし、課金テスト面倒くさいよ。
製品版をベータ公開してテストだな
>>345 めんどくさい?
課金情報の格納方法の方が神経使うけどな
拔かれる→技術がない→馬鹿にされる
>>348 多分、購入フローのテストをしたいのだと思うが、一度購入した商品は購入出来ないから毎回アイテムIDを変えapkアップしないといけないから。
良いやり方があるのかもしらんが。
350 :
デフォルトの名無しさん:2015/02/15(日) 13:24:35.22 ID:/CNeEnsG
>>349 課金商品の種類に
「管理対象のアイテム」と「管理対象外のアイテム」があって、
一度購入したら購入できなくなるのが「管理対象のアイテム」
魔法石やダイヤは「管理対象外のアイテム」
>>350 Oh!!なんてこったいw
そういう事だったのか。
ありがとう
>>349 購入前と購入後の処理を分ければ実際の課金は最小2回で済む
あとは、全部のGアカが削除できる端末を使えばいちいち端末の初期化が不要になる
>>348 まぁ、自分のは広告と機能制限の解除だけなんで。
盗まれてもtrueフラグのみww
>>352 端末のアカウントってやつが良くわからんね。
自分だけかも知れんが、変更できるのか出来ないのかさえ分からんw
面倒くさいから一台初期化したった。
>>353 そのフラグをどう隠すかって所なんだけどね
たいした金額のアプリではないのなら実害はほとんどないだろうが...抜いた人は作者の技術力を馬鹿にするだろうな
>>355 アプリを改変して有料アイテムをタダで使われるって事かな。
少なくともGoogleストアで海賊版を再販される事はなさそうだから、そこまでは配慮してなかった。
何とかキーは一応難読化はして置いたが、正直誰も解読なんかしないだろうと楽観的に考えてる
と言うか、そこまで注目されるならむしろ光栄なくらいww
昔、Windowsで圧倒的なシェアーを誇っていた秀丸エディターのシェアウェアキーの安直さを思い出した。
秀丸○○円ってやつww
儲ける気があるのか?と思ったもんだがが、実際は長い間シェアウェア長者一二を争ってたなぁ
スレチ失礼。
>>357 抜いて喜ぶ連中はノイズ程度なのかもね。
>>358 拔くまでもなくみんな知ってたw
自分が勤めてた会社は、それでも正規のキーを購入するように指示してたな。
初めてナビゲーションドロワー使って開発しようと思ったんだけど画面遷移が上手くいかん
public void onSectionAttached(int number) {
switch (number) {
case 1:
mTitle = getString(R.string.title_section1);
break;
case 2:
mTitle = getString(R.string.title_section2);
break;
case 3:
mTitle = getString(R.string.title_section3);
break;
case 4:
mTitle = getString(R.string.title_section4);
break;
}
}
breakの所にstartactivity記述しても強制終了になるし...
ナビゲーションドロワを使用した画面遷移でハマるようなトラップはないだろ
AndroidManifest の書き忘れじゃないのか
ナビゲーションドロワを使用する場合はフラグメントの置換で遷移することが多いからそれすら必要ない場合がほとんどだが
つーかstudioならテンプレからドロワーなんて自動生成できる、あまりいいコードじゃないから適宜修正は必要だが
>>357 あれは、秀丸メソッドと呼ばれる巧妙なビジネス手法なのだよ
自称情強が4800円で使い始める
みんな真似して使い始める
天から、コンプライアンス遵守の声が降りてくる
大口ライセンス契約
>>363 そうだったのかww
今じゃ現場ではサクラ満開だけどね。
てらぱっど派はおらんのか
わしもてらぱっど
僕はemacsちゃん!
http://cocoabu.com/in-app-purchase-android ここを参考に課金部分をサンプルを丸々コピーして動くんだけど
onIabPurchaseFinishedと、QueryInventoryFinishedListener
だけゲーム別に中身定義すればいいの?
まぁ管理対象外のアイテムだけならQueryInventoryFinishedListenerはいらなくて、
onIabPurchaseFinishedで
成功・キャンセル・払い戻しとかの処理をすればいいんだろうけど
送ったアイテムIDとリザルトのステータスはどこでわかるん?
そもそも誰も課金しないしワケのわからないものを実装しないほうがいいよ
>>369 キミのアプリはそうなのかもしれないが、
他の人のアプリはキミのアプリよりも出来が良いので問題は無い
現在学習中なのですがjavaで作ったゲームをAndroidに移植する際の置き換えが分かりません
Graphicはcanvasということは分かったので置き換えましたがいまいち分かりません
参考になりそうなサイトの紹介でも構いません
助けてください
androidとして1から勉強しなおしたほうが早いんじゃね
泥用秀丸が待たれる
複数行の自由なテキスト入力のためeditTextを実装してみたんですが
editText=new EditText(this);
editText.setLayoutParams(new FrameLayout.LayoutParams(F,F));
editText.setMaxLines(100);
layout.addView(editText);
入力は最後尾でできるんですが
任意のタッチした場所にカーソルを移動させてそこに入力できるようにしたいのです。
どのようにすればよいでしょうか?
通常は
editText.setSelection();
で文字単位のカーソル移動はできるんですよね。
テキストエディタのようなタッチした場所に移動はどうやってるのでしょうか?
自動です
ああ4.xでやったら自動ですね。
今2.xでやったら固定で動かなかったんです。
どうなってるんだろう。
2.3でもタッチしたところに動くよ
Ubuntuのデスクトップ環境のUnityと
ゲーム作成ツールのUnityは同じものなんでしょうか
/data/data/(パッケージ名)/files/(ファイル名)
に保存した音声ファイルをMediaPlayerで再生しようと思ったんだけど
このフォルダをあらわすURIってどうやって書けば良いんですかね
Context#getDir
383 :
デフォルトの名無しさん:2015/02/17(火) 03:46:36.69 ID:8RBH7v5B
カメラの視点上方向って何ですか?全然意味が分かりません
ファイルをコピーする処理は非同期で行った方がよいのでしょうか?
なんでそう思うの?
UIスレッドでやるとANR喰らうから
意味的には非同期=ワーカースレッドではないけどな
389 :
デフォルトの名無しさん:2015/02/19(木) 15:06:32.97 ID:hopj9Hq8
いない
391 :
デフォルトの名無しさん:2015/02/19(木) 17:38:32.22 ID:UQ3kADO3
ちょっと遊んでみようと思うんだけどこれjavaの知識ある程度あったらさくっと作れる?
とりあえず今はマーケットとかに公開する気はない
>>391 作れる。APIの使い方は都度調べりゃいいしね。
android studioで、sparqlを用いてLODを取得することって出来ますか?
オープンデータを利用したアプリを作ろうと思ってるのですが、方法がわかりません
395 :
デフォルトの名無しさん:2015/02/19(木) 19:47:07.71 ID:tZxONS1Q
imageView1.setImageResource(R.drawable.pic1);
imageView2.setImageResource(R.drawable.pic2);
・
・
・
imageView10.setImageResource(R.drawable.pic10);
みたいな文をfor文を使って書くにはどうしたらいいでしょうか。
R.drawable.pic○○のところの書き方がわかりません
ちゃんと質問しないと、リソースを配列に入るという回答が来るだけ
Resources.getIdentifier でも使って
forループの中でリソース名をリソースidに変換したら
>>395 ソースを簡略化したからといってオブジェクトが簡略化されるとは限らない
imageView◯この部分は全部書かなきゃならないわけだから
for文にする意味があまりないような
>>400 findViewByIdするときに配列に入れれば良いだけでは
あーそこも配列にすればいいか
まあ10個ぐらいなら全部書いた方が早いかもw
だいたいこういうレイアウトはListViewやGridView使いたくなるから使い道があまり想像つかないけど、無理くり書いて見るならこんな感じかな
Resources res = getResources()
for (int i = 0; i <10; ++i)
{
int imageViewId = res.getIdentifier("imageView" + i, "id", getPackageName());
int drawableId = res.getIdentifier("pic" + i, "drawable", getPackageName());
ImageView iv = (ImageView)findViewById(imageViewId);
iv.setImageResouces(drawableId);
}
リソースIDはぶっちゃけ最初のやつをインクリメントしてけばいいっていう手抜き技もあるね。
int img[] = { R.drawable.pic1, R.drawable.pic2, .... R.drawable.pic10 }
ImageView imageView[] = { (ImageView)findViewById(R.id.image1), (ImageView)findViewById(R.id.image2), ...}
for (int i = 0; i <10; ++i) {
imageView[i].setImageResource(img[i]);
}
リソースidを配列に入れるってやり方をよくやるわ
管理が楽だからarrayリソースに記述してもいい
>>405 まず同じパーツを全て直接レイアウトに並べてるという前提がどうかしてるんだが、さらにそんなコード書いてるやつが働いてる会社には絶対に外注したくないわな…
>>403に頼むわ
ただ、代入を伴わないインクリメント、デクリメントは俺は演算子を後ろにつける派だ。
>>407 後ろにつけるのと前につけるので意味が違うこと知らないの?
ちなみに俺なら、リソースIDから参照するというより、対象となるImageViewを格納しているViewGroupから子供Viewをスキャンして、タグ情報とかから画像リソースを特定して処理するな。
これならレイアウトファイルの更新だけで、画像数や画像内容などを後から簡単に変更できる。
コントローラーとビューの分離という基本的な実装ともいえる。
実行コストについては不利かもしれんが、そのへんはケースバイケースだね。
でも誤差範囲だろう。
>>408 代入を伴わない、と書いてるだろ…。
iが変化するのはブロックの最後なので、このケースではどちらでも問題にならない。
Javaには演算子オーバーロードの問題は発生しないから、for文でのインクリメントスタイルは完全に好みの問題。
ブロックの始まりでiは0、処理が終わったらインクリメントされると印象づける意味で、俺は後置している。
>>408 知ってるから「代入を伴わないインクリメント」って限定してるんじゃないでしょうか
意思の疎通が全くできてない
確かに俺も何を言われてるのかよくわからない。
でも俺も確かに態度悪いよな、深夜対応が連日続いてカリカリしてたんだ、さっきは人のコードをディスって悪かった。
俺も最初の頃はBASICでIF文を羅列してたからな…。
意味がない++iを使うようクズはクビ
>>416 お前が首切られた理由を持ちだされても反応に困る
使用しているライブラリにカメラを使用する機能があるのですが、
作成したアプリではカメラを使用しません
この場合、マニフェストにカメラに関する権限の記載は必要ですか?
んなもん、やってみなくちゃわからん
権限無ければカメラ関係のAPI呼び出したときに例外喰らうだけ。
なので使ってないなら不要。
前置と後置比べるとトリッキーな処理なのは後置のほうだから特に意味がなきゃ前置を使うな
人のコードが後置優先で使ってても無理に直そうとまでは思わんが
Javaなんて動けばいいの、前置後置言いたいだけちゃうんか
>>422 > 特に意味がなきゃ前置を使うな
「使うな」ときたか。アホですか?
CPUやVMの命令セット的に良い悪いはあるかもね
>>426 「使うな(命令形)」 じゃなくて 「使うね」 だと思うが
>>426 分かりにくい書き方ですまん
>>429の通り「前置を使うね」って意味
C++畑で育ったもんでどうしても前置を好んじゃうわ
>>431 そんな短絡的なシャレで言った訳じゃないからw
よく思い付くなw
C++で前置後置の演算子オーバーロード書いてみたらどっちが複雑な処理になるかって話だよ
ここは++Cを使えばいいのでは?(提案)
つまりhaskell最強ということですね。
>>433 単純なインクリ・デクリはc++・c--だろ
コード上では見えてこないけども、本質的に後置は一瞬だけインクリメント前と後の2つのインスタンスが必要になる
だから処理が単純なのはインスタンスひとつで済む前置なの
整数型だとレジスタにゴニョゴニョ格納してる間にそんなオーバーヘッドは無くなるけど
>>436 値を必要としてるならそれはオーバーヘッドではなく必要な処理だし、値が不要ならコンパイラが最適化してくれるけど。
>>437 もちろん値が不要な場合限定での話
最適化前提でコード書くの好きじゃないんだよん
++の話は置いといて
>>405のコードだとあとから動的に画像を変えるのに楽だと思うが何かまずいことある?
>>403だとまた全部を書かないといけないし
表示が一回だけならこっちでいいと思うが
チンクリ、マンクリの議論で盛り上がっているスレはここですかあ?
インスタンスが複数になる話、理解できていない人の方が多いと思う。
a = 2;
a = a++;
が結果どうなるかよく考えてみれば気が付くかもしれんけど。
>>441 こんなコードを書く方がおかしい
って事に気づけよなぁ
チンクリ、マンクリの議論で盛り上がっているスレはここですかあ?
>>443 読む人を悩ますようなコードを書くバカはクビなんだけどね 笑
チンクリ、マンクリの議論で盛り上がっているスレはここですかあ?
>>448 理解できていない馬鹿が騒いでも悲しいだけだぞ
>>447 チンクリ、マンクリの議論で盛り上がっているスレはここですかあ?
>>448 チンクリ、マンクリの議論で盛り上がっているスレはここですかあ?
>>449 チンクリ、マンクリの議論で盛り上がっているスレはここですかあ?
必死だな
どちらが正しいかは関係なく
両方とも一歩引いてみたら?
456 :
デフォルトの名無しさん:2015/02/20(金) 20:02:46.42 ID:DBZbNBRn
>>453 チンクリ、マンクリの議論で盛り上がっているスレはここですかあ?
>>454 チンクリ、マンクリの議論で盛り上がっているスレはここですかあ?
>>455 引くも何も
コード例示したら理解できないバカが絡んできただけ
コード読めないんだから相手にできないよ
>>455 意味もないのに--i を使う普通レベル以上ののc++プログラマは存在しないからね(笑)
まぁC言語時代によく考えずi++がデフォみたいにfor文の教科書書いた先人が悪いんだよ
C++になってからは
>>436の理由で++iが盛り返したけども
>>461 アセンブラレベルのオブジェクトを見た上でのお話なんだよね
if(NULL == pData)〜と同じ話だろ。
規格内の記述方法で意図しない動作を防ぐためにやってることを敢えて否定するなら、それ以上のメリットを示せよ
>>462 逆
int型のアセンブラレベルなら++iもi++もオーバーヘッドはほとんどない
でも無限長の整数クラスを自前でこさえた場合とかを考えたら++iのが効率的なの
i++のインスタンスコピーの負荷が大きいから
まぁJavaでそこまで気にする必要ないと思うけどね
>>463 話が理解できていないなら参加しなくていいよ?
>>464 >int型のアセンブラレベルなら++iもi++もオーバーヘッドはほとんどない
ほとんど って言ってるって事はオブジェクトを見た事はないわけって事だな
アセンブラ読めるのかぃ?
467 :
sage:2015/02/20(金) 20:54:27.84 ID:bBmTj4UH
Android4.1の中華パッドを使っています。
内部ストレージ(/mnt/sdcard)にあまりファイルが入っていないのに、
内部ストレージに空きがないというので、
中華パッドをMacにUSB接続して、Macにマウントし、
内部ストレージをのぞいてみたところ
.Trash というフォルダ(ゴミ箱)があり、
中に大量にファイルが入っているのが原因でした。
Androidのアプリからこのゴミ箱を扱う方法が
見当たりません。何か管理する方法はありますか、
または、ゴミ箱を作らない方法がありますか。
>>466 「トリッキーなのは前置」って主張からだいぶ転向してきたね
学習意欲が高くてなにより
インクリメントで盛り上がってるところを更に・・・
int a = 2;
a = a+++ ++a;
この場合、aはいくつになるのかわかる?
>>465 ==のtypoによるポインタの代入でもコンパイルが通ってしまう&意図と異なる分岐になるのを防ぐ書き方と、
++後置によるインスタンスの複製(に伴うオーバーヘッド)を防ぐ書き方は、
どちらも入門書とかにはないトリッキーな書き方だと思うが、
どっちもきちんと意図があってやってるからいいんじゃねーのって話のつもりだった。
てかここAndroidスレだったのにC++の話の流れでC++で考えてたわ。すまん。
>>470 C/C++のポインタ代入だけじゃなくて、
if (定数値 == 変数) ...
って書き方は、Javaでも == と = のタイポを防ぐのに有効だよ
ビルドエラー出るんだから
メンバ変数にアンスコ付けるような連中の言う事は信用できない
一般用語としてのアンスコ
スコートの下に着る下着のこと。アンダースコート。
ねらーのアンスコ
アンインストルールのこと。インストールはインスコ。
>>472 よく俺のコード流儀が分かったなw
ローカル変数とメンバ変数の区別をIDEのフォントカラーだけで識別するコードは書きたくないんだよ
関数の副作用あり/なしは極力IDEやエディタに依存せずに一目で識別したいのさ
メンバ変数とローカル変数のフォントやカラーを区別してくれるエディタばかりじゃないからね
てかオブジェクト指向が普及したせいなんだろうけども、メンバ変数を関数内で使うと関数の入力→出力の結果がオブジェクトの状態依存になることに無自覚なコードが多過ぎる
副作用が少ないコードを書きたいなら、極力、関数はローカル変数だけで書かなきゃいけない
>>475 その意見は興味深いな。
オブジェクト指向で設計する場合、
メソッドはオブジェクトを変化させるもの
もしくはオブジェクトの状態を読みとるもの
と考えるべきだと思ってるんだけど、
この考えがおかしいっていう意見?
わざわざ関数って使ってるけどメンバ変数と書いてるから
メソッドのことだと理解していいよね。
>>476 うん、関数はメソッドのこと
グローバル変数の多用が悪しきものなのは常識って前提で話すけども、メンバ変数ってのは局所化されたグローバル変数でしかないんだよ
副作用が大きい順に不等号書けば
グローバル変数 > メンバ変数 > ローカル変数
なの
ローカル変数で済む処理は極力ローカルで書くべき
コピペで簡単に他クラスに移せるしね
とても妥当だし文句はないんだけど、そもそもすぐ区別つくくらい
メソッドの中を完結にすれば、自然とそうなる
>ローカル変数で済む処理
そんなもんメソッドとしてオブジェクトに紐付けする意味ないだろ
>>478 それが理想なんだけども、androidのWidget周りのコード読むと50行超えるようなメソッドがかなり有ってちびるで
最適な設計を実現するよりも最適なコーディング習慣を身につけるほうが機械的にできるのさ
>>479 その通り
でも最初にオブジェクト指向から入ってしまった初心者は紐付けされたコードを書いてしまう傾向にあるんだな
ローカル変数ですむ変数がメンバ変数になってるって話なのか?
475と477の言ってる趣旨が違う気がするんだけど
>>482 ローカル変数とメンバ変数の影響範囲の違いにもっと自覚的でありたいって話
ロボットに「目玉焼きちょうだい」と頼むと冷蔵庫の卵の数が変わるってことに無自覚な設計が〜という話は
冷蔵庫の卵を誰が使って誰が管理するかというシステム設計レベルの話じゃないのかね。
>>472 もうちょっと補足しとこう
型まで変数名に組み込んでしまうハンガリアン記法はホントに糞だけども、
変数のスコープ毎にプレフィックスやサフィクスを変えるって点では、影響範囲を一目で識別する上で有効なんだよ
だからハンガリアン記法が絶滅した今でも変数スコープ毎に変数の書式を変えるスタイルが生き延びてるのさ
などと言う事をいつまでもぶつぶつ気にしてハゲ散らかしつつ
ソースの綺麗さばかり気にしてメモ帳程度のアプリ作ってる技術者より
大雑把だけどちゃんと動いている3Dバリバリのゲーム作ってる技術者のほうが市場価値は遥かに上という指摘したら泣く?
>>486 いいえ、その通りだと思うよ
でもソースの綺麗さとアプリの市場価値の高さは両立するんだ
排他じゃない
メンテナンス性がよくなるんだし
理想は高くありたいよね
ソースの綺麗さは一度コツ覚えたらかなり機械的に実現できるんだから労力はかからんのよ
なんかスレの本筋から話が逸れ過ぎてきたからもう寝るだよ
酔っ払いだし
おやすみ〜
仕事から帰ってきてスレ開いたら
Androidと関係無い話題で埋め尽くされていたでござる
乗り遅れたがおっさんプログラマの俺もインクリメントは前置派
「トリッキーなのは前置」の発言を見て唖然とした
前置ならinc/dec命令で一発じゃねぇか…
と思ったがJavaのバイトコードとか知らんな俺
ことの発端は
>>403だけど
>>405のコードとAndroid的にはどっちがいいんだ?
i++でも++iでもどっちでもいいんだよ!(加油)
インクリメント演算子が無い、Rubyがいいよ
あるともめたり、バグが出やすいから
>>490 ケースバイケースじゃないの?
作成中に数が増減しそうならリソース名をあえて連番にして
>>403 レイアウトや数に変化する予定が無いなら
>>405 とか
for文で回す為の「前準備が楽になる方」を選べばええんちゃう?
まあfor文回さないとならないほどの数を並べるってなったら俺も
「ListView使えよ」って言うがな
とマジレスしてみる
drawableをarrayリソースに突っ込んで
arrayゲットして
drawable取得してた気がするな
じゃばのブーリアン
イントの0と1の比較を見て笑った覚えがある
495 :
デフォルトの名無しさん:2015/02/21(土) 08:14:25.60 ID:RZAy41em
496 :
デフォルトの名無しさん:2015/02/21(土) 08:33:36.62 ID:FFcw6hjE
AndroidStudioで新しいプロジェクトを作るとIDE Fatal Errosとでて、
mainfests java res Gradle Scripts以外のフォルダーが生成されない。
どうすれば直る?初心者ですまない
>>496 >どうすれば直る?
(1)日本語を勉強する
(2)日本人なら謙遜語の勉強をする
(3)人様に物を尋ねる態度を勉強をする
こと2chに限っては知ったかぶったレスを投稿したりタメ口で質問したほうが返信レスがつきやすいという
初心者は悪くない
調べようとしない意識が悪い
>>499 どうやって検索すればいいのですか。
ググっても適合する記事が出てこず何個かサイトを読んでも
解決方法がわかりません。
>>489 C++みたいにオブジェクトの概念がないから、
前置きでも後置きでも普通に展開されるよ。
まあ、だから a= a+++ ++a とか見ても理解できない奴が多いんだろうけど。
>>501 何すればいいかわかりません。馬鹿ですみません。
504 :
デフォルトの名無しさん:2015/02/21(土) 11:41:46.25 ID:prpCAV7L
サーバークライアント型のゲームで課金の処理を作ってるんですが
GooglePlayで購入したという情報を偽装されてしまうような気がするんですが、どうしたらいいですか?
通信の暗号化はSSLしかないので不安です(そもそも暗号化目的で使うものではないですが
自前のサーバーで発行したDeveloperPayloadを保持して課金の処理を中断し、
適当に一意になりそうなOrderIDを付けてサーバーに送ればサーバーは課金したとみなしてしまいます。
OrderIDとDeveloperPayloadを使ってサーバーがGooglePlayに参照しにいければ安心なんですが
>>503 じゃあ、今に至るまでの経過全部書いてみ?
>>505 androidstudio起動
エラーが出てくる
エラーの文章でググる
分からない
ここで聞く
なんてキーワードでググった?
とかいちいち聞かないと書けないの?
「IDE Fatal Erros」
馬鹿には無理
511 :
デフォルトの名無しさん:2015/02/21(土) 16:16:58.73 ID:FFcw6hjE
アプリ開発の勉強しようと思って本買いたいんだけどjavaの本買った方が良い?それともAndroidアプリ開発専用の本?
後者
>>512 あなたが今何を知ってて何が出来るのかさっぱり情報が無いのに
何を薦めろと言うのか・・・
>>514 まともに質問もできないアホなんだから
>>513の様にサクっと答えて
気持ちよく帰ってもらうのが一番なんだよ
516 :
513:2015/02/22(日) 00:36:45.94 ID:48X6wYMy
いや、けっこうマジレスしたつもりなんですが。。。
後者をアマゾンのレビュー見て、良さそうなのを三冊くらい読んだらいいんじゃね
そもそもこんな所で質問してる時点でもう「素質なし」でしょう
俺なら人に聞いて答え待つより先にさっさと行動に移してるわ
Monacaっていうサイトのハイブリットアプリ作成についての質問はここでしてもよろしいのでしょうか?
なんとなくTitaniumスレじゃね。Phonegapも
>>512 最低限オブジェクト指向は理解しておくべきだろ
話はそれからだ
>>512 本を買うだけ無駄です
入門情報は全てネットで十分です
それらが理解できないなら多分本を読んでも無理
むしろ初心者はネットより書籍に頼ったほうがいいと思うぞ
関連する書籍を読む事で何がわからないかがわかるようになる
ネットでの情報収集は開発にはいって行き詰ったときだけ
※本家は除く
アプリ作るならunityの本家チュートリアルビデオ見てる方がためになる。ただし英語。
本でもネットでもいいからとにかく動け
自分で考え、手を動かさなきゃ一歩も進まないぞ
ネットの資料は解説のためにActivity直書きのコードが多いからな
日本人が言語に弱いのは、ピラミッドみたいに下から順番に踏み固めていくものだと思っているから
いつまで経っても底辺から抜け出せない
最初はオブジェクト指向なんて知らなくてもいいんだよ
Javaでもケータイアプリの頃はクラスを分けてたら容量制限に引っかかるから
できるだけクラスを少なくして書いていた
わかりやすく書く技術を磨いたほうがいい
530 :
デフォルトの名無しさん:2015/02/22(日) 13:43:34.75 ID:T1wqWa3D
>>530 >適当に一意になりそうなOrderID
よほど単純なIDで無い限りムリだろ
普通の手順で暗号化されてるSSLを解読する量子コンピューター持ってるようなスーパーハカー相手じゃ
おまえのゲームなんかひとたまりもないから諦める。
>>532 スーパーハッカーだとしても日本語は読めないだろうな 笑い
ICS以上を対象にしているアプリを作っているのですが、
「履歴ボタン」を押したときに表示されるキャプチャ画像?
を変えることはできますでしょうか?
例えばゾンビゲームを作っていて、
履歴ボタンで表示されるのが「怖いゾンビ」だと子どもが泣いちゃう
とかいう場合を想定しています
アプリタイトルロゴの画像とかに差し替えられたらいいなと
思っているのですが、宜しくお願いします
535 :
デフォルトの名無しさん:2015/02/22(日) 15:12:45.87 ID:T1wqWa3D
>>532 普通のユーザーが他人からSSL通信覗かれるとかじゃなくて、悪意のあるユーザーがアプリ本体を解析しようとした時の話で、チート対策の話です
apkファイルを逆コンパイルしてアプリサーバーのアドレスを自前のサーバーにして、中継SSL通信させたら量子コンピュータじゃなくても解読できちゃうとおもうんですけど
認証局なんてAndroidがルート化されてれば書き換えられちゃいますし
そうするとAndroidからの情報だけでは課金情報等が本物かどうかわからないので、GooglePlayとアプリサーバーを通信させないと安心できないんじゃないか、って話です
>よほど単純なIDで無い限りムリだろ
OrderIDはGoogle Playが発行するもので、ただの数列なのでこれをGooglePlayに確かめる必要があるのではないか、と思ったわけです
>>535 サーバーの文字列を暗号化すればいいだけ
そもそもアナタのアプリの課金の金額はいくらよ
ごちゃごちゃ言うなら全部鯖でやれ
それ以外に完璧な答えはない
NSAならSSLなんて簡単。
539 :
pairing:2015/02/22(日) 23:54:39.78 ID:Rfxi5JMl
自動ペアリングの件についてなんですが、
setPinメソッド、createBondメソッドを呼び出して、
両方trueで帰ってきているのですが、
うまくいきませんでした。
どうすればいいでしょうか。
BluetoothChatアプリケーションの
BluetoothChat.javaファイル内の
connect()内に両メソッドを記述しています。
プログラムのエラーなどはありませんでした。
SDカードにテキストファイル保存しようとしてるんだけどできねえぞゴルァ!みたいな低レベルな質問をしに来たけど
周囲のレベルの高さにビビッてROMらざるを得ない
>>541 AndroidのOSが4.4.xなら、OSの制限でSDには書き込めないよ
>> 539
最初のほうにいた奴か?
もうあんたに何か教えてくれるような人は誰もいないと思うけど
>>539 あきらめが悪いのは良い事だが、100%出来ない事をあきめないのはバカ
不可能への挑戦自体は否定しないけど
みんなが無理って言ってんだから他人に頼るなとは思うわな
そうだねぇ
不可能への挑戦は自己学習・自己修行・自己テストと全て自己責任でやらないとねぇ
他の質問サイトでもあからさまにマルチポストしてたな
>>548 「出来ねー」ってプロが言ってんのにねぇ(笑) 馬鹿が(笑)
>>535 SSLを舐めすぎてるだろ。
もうちょっとよく調べろ。
アプリが改変される前提ならSSLなんて役に立たないだろ
apk自体が暗号化されていない以上、何をどうやっても「完全防御」は難しい話。
費用対効果を考慮した上で、クラックの確率を減らすしかないのだよ
554 :
541:2015/02/24(火) 00:14:45.63 ID:hRqVdcVE
色々やってみたらSDカードに保存できないのって本当にパス見つからなくて保存できないんですね
getExternalStorageDirectoryだと内部ストレージの方が引っかかってきちゃって実機で動かなかった
なんなんだこの初学者殺しみたいな仕様は…
本体と同等のパスにしか書き込めないからね
あるアクティビティでsqliteからセレクトした
結果のカーソルを違うアクティビティでも
使いたい時はどうするのがいいのでしょうか?
アクティビティを移動する時は一旦、カーソルを
閉じてから移動先のアクティビティで再セレクト
するのか、取得したカーソルはどこからでも
アクセスできるようにするのか分からないですを
一般的にはどうするのがいいのでしょう?
558 :
デフォルトの名無しさん:2015/02/24(火) 23:36:39.27 ID:Poyxvkup
動画に画像を合成する処理を実装したいのですが何か良い方法はありますか?
ffmpegはライセンスが面倒くさそうなので出来れば使いたくないのですが
>>558 高価な市販ライブラリ買う。
もしくは外注に出す。
>>559 出来れば有料のライブラリや外注は避けたいです
サーバーへの動画のアップロードも行うアプリなのでサーバー側で処理するようにした方が無難でしょうか?
今まで基本的にWindowsでC#で簡単なビジネスアプリ(機械制御して画面に数値とか表示する程度)を作ってたんだけど、
それをAndroidでやろうと思ったら、おすすめの開発環境ってあります?
今のところ、Javaを覚えるつもりでAndroid Studioか、C#が使えるUnity(2D)かで迷っています。
よろしくお願いします。
563 :
561:2015/02/25(水) 12:22:28.14 ID:0gh3BZt2
>>562 Unityは資料が多いけどもほとんどがゲーム用だし、
デザインシンプルで安定する物作ろうと思ったら、やっぱりAndroid Studioですよね。
ありがとうございます。
CGIを使いたいんですが
グーグルのサーバーは使えますか?
AppEngineならAndroidに限らす使えるぞ
GAEはオワコン
android開発の質問はここでいいのかな?
androidアプリでCPC広告を設置したいのですが、おすすめの広告ってどこがありますか?
CPC単価が5円以上(高ければ高い方がいいですがw)でおすすめの広告あれば教えてください。
>>568 探したのは nend Admob くらいですね。
自分で試したのはAppCCloudって所だけですが、ここはCPC広告が無かったので現在CPC広告を探している状態です。
手当たり次第に登録して確かめたらいいのですが、先人の方々の声を参考にしたいのです。
>>569 まあね、そこよりいいところはないよ、多分。
>>569 一概に言えんが、俺は国内はi-mobileに落ち着いた。
海外はadmobたが、最近CPM良いな。
ソースコードをコピペばかりしてると変数の命名規則がバラバラになってきていい加減直さねばと思うんだけど、
みんな自分で考えたものを使ってるの?
それともGoogleのJavaのコーディング規則みたいなのに従ってるの?
そらmとかアレで始まるアレだろ
mとsを使い分けるのが正式なのだが、どうもmだと猫の手みたいで昔から気に入らないので両者sにしてる
IDEの場合は色分け表示で問題ないのだが...
mとかsつけるのはAndroidのコーディング規則なの?
staticはs付けた方がわかりやすいけど
mは別に付けなくてもいいかなとも思ってるんだが
FW開発じゃないならなんでもいいわ
けどいずれにせよローカル変数との区別はつけないと糞ソースになるぞ
ハンガリアンで
ローカル変数との区別なんて色がついているから名前で区別を付ける必要ないだろ
i = 0; // iに0を代入
とか書いているのとかわらない
>>574 両者sにする位なら何もつけない方が良くないか?
システムハンガリアンはやめろ
システムハンガリアンはやめろ
システムハンガリアンはやめろ
そんなにハムスターが嫌いか
>>578 そう思ってない人が多いからね
個人で作ってる分にはなんでもいいわ
その辺は好みの問題だな
俺はソース見るときに一々色なんか確認するの嫌だわ
環境によって色が違うとか識別システムとして面倒臭過ぎて
FragmentからActivityに何かしらの通知を返したいけど、startActivityForResult()以外でいい方法ってありますか?
リスナー登録してもらうのもイマイチなのでフレームワークで提供されてる機構で考えてます
また意味わからん解読班が必要な質問かよ
>>585 よくわからんが、getActivityでアクティビティのインスタンスとってきて好きにしたまえ。
いや、やったことあるとわかるよw
俺の場合はDBに保存したやつを反映させたかったから
Fragmentが閉じるとActivityでonResumeが走るから
そこでDBを読み込む処理をした
>>585 LicalBroadcastManager とかなんとかそんなノリ?
>>585 アクティブじゃないアクティビティは一時的に破棄されている場合があるからその考えはやめたほうがいい
startActivityForResult() を使っておけ
591 :
デフォルトの名無しさん:2015/02/26(木) 16:09:20.93 ID:CmsfWZXg
585です、説明が足りずすいませんでした
補足すると、Activity内のロジックが多くなったのでロジック毎にUI無しのFragmentに処理を書くように変更してます
処理の流れとしては
1. ActivityからXXXFragmentに処理依頼
Activity#getFragmentManager().beginTransaction().add(XXXFragment).commit()
2. XXXFragmentで処理開始
XXXFragment#onStart() {
ここで処理開始
}
3. XXXFragmentの処理が完了したのでActivityに完了通知
XXXFragment#startActivityForResult(getActivity().getIntent(), XXX);
4. XXXFragmentの完了処理
Activity#onActivityResult() {
XXXFragmentから処理結果取得
getSupportFragmentManager().beginTransaction().remove(XXXFragment).commit();
}
3の処理が適しているのかが困っているところで、
>>587にあるように
XXXFragment#getActivity().notifyResult()
のようにAPIをActivity側に用意するのが一番簡単ですが、
そうするとFragmentが使う側のActivityにAPIを用意してもらう制約が生まれるので、
再利用性の低い実装になると懸念しています。
Frameworkの機構を利用してうまくやる方法を教えていただければと思います。
ディベロッパーガイドにActivityにcallbackを用意しろって書いてあるけど
正確にはFragmentにcallbackを定義してActivity側で実装しておく
ActivityからはどのFragmentを使うかは意識する必要はあるが
FragmentはどのActivityから呼ばれているのかを意識する必要は無い
594 :
デフォルトの名無しさん:2015/02/26(木) 16:38:40.77 ID:CmsfWZXg
>>592 - 593
ありがとうございます
デベロッパーガイドは見ていたのですが、Fragment#onAttach()でリスナーを登録する前提なので
Activity自身にCallBackを実装しないといけないのがどうも。。。
ただ、これが標準的なやり方なのは理解しているので今回はこの方法でやろうかなと思います。
ありがとうございました
完全に疎結合にしたいんなら標準apiじゃ厳しい、RxのBehaviorSubjectかEventBus使うのがいい
596 :
デフォルトの名無しさん:2015/02/27(金) 00:24:46.86 ID:cpo0sgO/
stateなんかに頼らず、onResumeとかで必要な情報をどっかに保存すりゃいい。
もしくはフラグメント使って、RetainInstanceするとか。
retainInstanceにしたからsaveしなくてOK!と思ってたら開発メニューからバックグランドで必ず破棄する設定されて異常動作してバグだと言われた時は吹いたわ
グーグルまじうぜぇ
599 :
デフォルトの名無しさん:2015/02/27(金) 16:23:16.69 ID:hvmTPrtT
ファイル更新日時は File%lastModified() で取得できますが
ファイル作成日時を取得する方法はありませんか?
android file creation date
でググりStackOverflowをいくつか見ていますが、どれもlastModifiedで解決になっています
日本語で検索してもいますが
画像の場合はExifから取得〜とかも見つかりましたが
欲しい情報は見つかりませんでした
ファイル作成日時の取得方法はありますでしょうか
ご教示ください
>>599 Linuxはファイル作成日時は保持しない
601 :
599:2015/02/27(金) 16:58:31.14 ID:hvmTPrtT
>>600 ありがとうございます。
OSレベルで情報なしですか。。
んなもんファイルシステム次第
604 :
デフォルトの名無しさん:2015/02/27(金) 23:28:42.84 ID:q5dotQNJ
Linuxという大きな括りでまとめたからツッコミが入ったんだろ
つまりAndroidだとどうなの?
だから、ファイルシステム次第。
OSとしてファイルシステムの決めは無いのでどうなるかは機種次第。
嘘つくなボケ!
えーっと、つまり?
LVLクラックを防ぐ方法の決定版って何なの?
機種次第(だと思っている)ってことは、質問者の要件は満たさないってことね
だったら(すでに無理だと判断してるから)わざわざ突っ込み入れなくても良かったのでは
Android携帯のカメラで写メとると画像ファイルに作成日時付加されてる件はどう言い逃れするんだ?
サイズ指定したLayoutにそれを超えるサイズを指定したviewをaddしたらそのviewのサイズが優先されるのですが、仕様ですか?
こんにちわ、神です
お前らのアプリがDLされない呪いかけておいたぞ
呪いを解きたかったら初心者に優しくするんだ。あばよ
>>615 どのLayoutかによる。
最悪、ViewGroup派生クラスを自分で書けばいい。
FrameLayoutやLinearLayoutのソースは普通に見れるんだから難しくもないはず
>>596 <activity> の launchMode を変えてみてはどうか
>>591 その作りは処理中に他アプリに移動してまた戻ってきたら onStartをまた通るわけだけど、
そのへんどう考えてるの?
Fragment側でCallback インタフェースを用意して、
onAttach などのタイミングでコールバックを受け渡しするのがベストだと思う
>>598 そりゃさすがにライフサイクルは守らんと。
>>591 共通化したいなら、まず基盤となるフラグメントとのやりとりを実装したカスタムActivityを作って、アプリごとのActivityはそのカスタムしたのを継承させればよい。
フラグメント側も同様。
つまり、君のいうフレームワークの上にさらにオレオレフレームワークを作るってわけだ。
>>615 仕様じゃなくて想定外の処理のような気がする。
そういうときはサイズがmatch_parentなScrollViewでViewを囲めば良いのでは。
おまえらもアプリをストアに上げたらクラウドソーシング系の奴ら使って順位買ってるの?
もちろん
テスト用エミュレータにwindroy使って開発している人っている?
virtualbox + genymotionより使いやすそうだけどIDEとの連携はまだできないのかな
ListViewを縦スクロールは基本ですが
横フリックすると
よこのリストビューにページが変わっていくのって
どうやってやるんですか?
PLAYにそんなアプリがあって仕組みがわからなかった
横に別のリストビューを用意しておいて、フリックで移動させてるとか
画面に入りきらないぐらいのでかいのを作ってるんですか
ページが400ページで作った場合はどうします?
横にスクロールしないで突然あたらしいリストが出る形になりますか?
どういうものなのか想像できん
左にフリックすると
今あるリストビューが左に行きつつ同時に右からリストビューがながれてきて中央に表示される感じです
タブなんじゃないの
タブを表示してないだけで
ViewPagerじゃない?
ViewPagerっぽいね
ファイルを保存するときに internal storage と primary external storage のどっちに保存するかって何を基準に決めればいいですか?
他から利用しないファイルは常に internal storage で大丈夫ですか?
>>636 ユーザ目線でSDに追い出したいくらい大きなデータあるいは大量のデータ、
SD経由で他の機械に移したいデータは external に。
>>627 ViewPagerとかは?
サポートライブライリ必要ですけど。
あと、なんか使いにくい。
>>636 ちなみにKKからは外部だろうと他からは使えないからな
>>638 ViewPagerを使うサンプルはFragmentを使ったのが多いけど、
実際はFragmentを使わなくてもPagerAdapter派生クラスを自分で書けばもっと簡単になる
Fragment特有のいやらしさを排除できて大分スッキリするよ
AdapterViewの一種なので、ページごとにViewHolderを定義して表示を行い、
でもページ内のデータはページが表示されてない間も存在してるのでそれをAdapterかそれを持つActivityやFragmentあたりに保持しておく感じ
>>640 いや、実際Viewを格納して使ってるんだけど、現在表示されてるビューすら取得できる標準のメソッドがないとか、なんか完成度低い感じ。
Android4.4でSIPアプリの開発始めてみたんだけど
着信時に画面のバックライトONしようと思ってWakeLockを調べてみたら、
PowerManager.PARTIAL_WAKE_LOCK以外がことごとくdeprecated指定されている。
もう端末が何か受けたときにバックライトONする方法は無くなったってことなん?
それとも他に新しい方法が増えた?
643 :
642:2015/03/02(月) 23:55:53.11 ID:MdV9719E
とりあえず従来通りPowerManager.FULL_WAKE_LOCKを指定すれば
バックライトONしてくれるのは確認した。deprecated警告出てるけど。
だからそこみても分からんかったから質問しに来たんだよ
すまんな
なにがわからんの???
Most applications should useFLAG_KEEP_SCREEN_ON??instead of this type of wake lock
Lillipopだと Heads-up Notificationを使うべきなんだろうけど
初歩的な質問なのですが、apkファイルやkeyストアのファイルはプロジェクト内に置いて問題ないでしょうか?
androidstudioのデフォルトだとapkはapp内に置かれます。
プロジェクト内のどのファイルがapkとしてパッケージするのか理解できていないので質問しました。よろしくお願いします。
>>641 お前ListViewにも同じこと言えんの?
>>642 問題はバックライトONにした後何を表示したいか
Activityを表示するのならそのActivityがFLAG_KEEP_SCREEN_ONを持ってれば十分
651 :
デフォルトの名無しさん:2015/03/03(火) 08:32:02.83 ID:Nc3KlD0n
BaseGameActivity使おうと思ったんですが
activity移行する時は、どうするんでしょうか。
activityごとにextendsしてしまうと、ログインしていない時はその度に接続を試みてしまいます。
BaseGameActivityは単activityの時しか使わないんでしょうか。
複数Activityのsampleも見当たりません。
>>640 まさに今fragment使った縦スワイプのviewpager実装しようとしてる初心者なんだけど、fragmentである意味ってそんなないの?
普通のpagerAdapterでならスワイプ自体はうまくいったんだけど
fragmentにしようとしたらわけわかんなくて死んだ
>>652 Fragmentが好きなら使えばいいと思うけど FragmentPagerAdapterも FragmentSatePagerAdapterも、
中身がかなりややこしい。
「FragmentPagerAdapterの中身を動的に変更する」でぐぐると色々出てくる
654 :
642:2015/03/04(水) 01:02:47.60 ID:ipqXXTSN
>>647 >>650 FLAG_KEEP_SCREEN_ON!そういうのもあるのか!
ありがとう、これで先方のご要望が満たされるか試してみる
>>644もなんだかんだ言いながらリンク貼ってくれてありがとうな!
655 :
644:2015/03/04(水) 07:41:24.35 ID:hXOmVix5
>>654 いやいやえええ?
どこをどう調べたらその答えに辿り着けないんだ??
URL貼っても「それも見たけどわからなかった」とか言ってなかったっけ?
>>654 そのドキュメント見て辿り着けないならこの仕事やるの無理じゃねw
いや、その情報は必要ないです
>>649 言わないからListViewの感覚で使おうとするとめんどくさいって話してんじゃん。
>>657 必要な情報だけ的確にほしいなら金払ってだれかにサポートしてもらえよw
その情報もいいです
その情報が本当に必要なのは俺じゃないです
>>653 好きってわけじゃないんだけど、タブレットには都合がいいらしいと見たもんでさ
もう2〜3日ググりまくった末の今だから、
fragmentは無しにしようと思う
ViewPagerでFragment使うときの一番の問題点はFragmentManager側でFragmentをキャッシュしてるせいでAdapterを更新してもFragmentが更新されないってことかなあ
>>664 ViewPagerが悪いんじゃなくてFragmentPagerAdapterが悪いんだけどな。
FragmentPagerAdapterはマジで書きなおしたほうが良い。色々おかしい
android studioつかえばいいの?
いいえ
668 :
デフォルトの名無しさん:2015/03/05(木) 19:57:15.85 ID:dDhJMYwi
activityを進む→戻る→進む→戻ると繰り返すと
3,4回くらいでアプリが落ちます
out of memoryとなって
Fatal signal 11 (SIGSEGV) at 0x001586d0 (code=1), thread 15228 (.○○○)と出ます。
小学生レベルのアホな私にこの場合の対処法を、簡単に教えてください
>>668 落ちる場所を特定する気が無いのなら
設計を一から考え直す
670 :
デフォルトの名無しさん:2015/03/05(木) 20:53:10.16 ID:dDhJMYwi
>>669 考え直すにしても、何を考えれば良いかわかりません
普通のエラーならログでなんとなくわかりますが、
out of memoryはどうやって原因を特定するのでしょう
>>670 MATとか使って参照リークを見つける
Bitmapの参照リークがよくあるケース
ただactivity遷移してるだけで死んでんの?
>>671 ありがとうございます。
MATの使い方を見てみるとハードル高そうですがとりあえず100回読んできます。
多分何とかなりそうな気がします。
>>672 そうです。
でもBitmapたくさん使ってるのでたぶんそこだと思います
描画だの何だので使っている最中の bitmap を
recycle すると segv 起きる(ことある)よ
Androidstudioでソースの難読化をするにはどうすれば良いですか?
eclipseと同じ
Viewを継承したクラスのonDraw での描画について質問があります
図形A、図形Bがあり、その描画の順番に関わらず、図形AとBが重なる部分では図形Bを最前面にしたいのですが
PorterDuffのどのモードをどちらに設定すればよいのか
試行錯誤していますが背景が真っ黒になったりして混乱ぎみです、この方法では実現できないのか、何が理解できていないのかや、別のやり方があるかについてもアドバイスを頂けると嬉しいです
おはよう諸君 質問させてくれ
Androidアプリ側のsqliteとWebサーバ側のデータベースのテーブルを同期させたいの。
で、Webサーバ側でjsonデータを吐いて、それをAndroid側から取得してパースして取り込む、みたいなことを
書こうとしてしてるんだけど、なんか車輪の再発明してる気がするんだけど、そういうライブラリってある?
20-30行くらいですむだろ
いくつかあるけどどれもネストに対応してないかったから
結局普通にJSONObjectにぶっこんでforで回した
phpだと簡単に取り出せるのにね
>>680 "描画の順番に関わらず"って聞いているんですが...
図形AとBを別のViewにするか順番どうりに描画するしか無いんじゃね?
もしくは描画順を固定できない設計を見直すか
MainActivityをつくるとextendsで
ActionBar ってActivitiyの前に表示されてる
これってない方がいいですか?
みなさんそのまま放置して使ってます?
>>686 俺は出来る限り下位互換は切り捨てたいと思っているから使ってないよ
>>678 ViewのbringToFrontって使えないの?やったことないから知らないんだけど
>>684 アルゴリズムで判断するのが普通のコード
バカにはムリ
>>687 どうやってますか?
ActionBarの部分を消して
赤く出てくるテーマやスタイルを全部削除と言う感じですか?
図形オブジェクト1つ1つがViewってことなんじゃないの?
>>691 エラーになるのはサポートライブラリと標準ライブラリでメソッド名が若干違うからかな?
とりあえず、getChildFragmentManager() が使えるのは APIレベル17(4.2) からだから
minSdkVersion を 4.2 にしていればほぼ大丈夫かな
minSdkVersion は 17 だ
>>693 import android.support.v4.app.FragmentTabHost;
で
getSupportFragmentManager()
の部分がかくなってしまいました4.2といれたManifestも赤い
バー消すと難しいです
>>695 サポートライブラリはv13を使う
getSupportFragmentManager()は名前が違うやつ
それはググればすぐ出て来るよ、他にも出て来ると思うからとりあえずググった方がいい
697 :
681:2015/03/07(土) 16:56:29.04 ID:eM6x3RPJ
>>682 >>682 ありがとう 書いてみるわ
他にも色々聞きたいことがあるけどスレ違いになるからやめておく
>>696 ありがとうございます
いろいろ赤×が発生しそうで
なんか難しそうなのでやめておきます
699 :
デフォルトの名無しさん:2015/03/07(土) 18:03:13.95 ID:Nqy77fNM
フラグメントでタブバーを表示はできたんですが
10個などにすると多すぎて小さくなります
スクロールにしたいがネットのをコピペしても動かず難しい
いい方法ありますか
700 :
678:2015/03/07(土) 18:43:40.60 ID:l5pCU6U5
>>689 弄くりまわしてみます
>>692 違います。canvas.drawXXXX(略)で描いた図形です
ってことは1つのonDraw内で描画しているってこと?
if(...){
図1を描画;
図2を描画;
}else{
図2を描画;
図1を描画;
}
こういう風に記述したくないってことなのかな?もしそうなら
図形をオブジェクトとして定義し、描画前にzソートしてから描画するよう
記述するのがスマートだとは思う。まあ違うならスルーして
702 :
>>699:2015/03/07(土) 19:52:21.65 ID:Nqy77fNM
タブ3個の例は載ってるんですがタブ20個とか作りたいときの例が
難しいです
>>699 意味もわからずコピペするのをやめたら良いと思う
わりとマジで
>>703 ありがとうございます
動かないときは意味も読むようにしてますが2時間前後やたら時間がかかったり
前提の大きな知識がないと最後までわからないということが多いです
PLAYにうpしてあるアプリでこのアプリどうやって作ったのという感じで
他人のアプリの名前を書いてもいいんでしょうか
705 :
デフォルトの名無しさん:2015/03/07(土) 23:57:48.07 ID:Nqy77fNM
画面にリストビューと
画面の一番下にボタンがあり
ボタンを押すとリストビューの文字が増えていく基本の動きです
この時画面に指を置いて放したときのX軸の数値を取りたいんですが
何のリスナーの何のメソッドなら反応するんでしょうか
6個ぐらいonTouchLisnnerなどインターフェスを実装してみましたが該当するものが見つかりません
たかが2時間くらいでぼやいてるんじゃない
普通は丸一日潰すくらい考えるんだよ
三日も普通だ
2週かかるのもあるぞ
707 :
デフォルトの名無しさん:2015/03/08(日) 00:33:36.03 ID:2hqa2Xcx
>>704 よくわからんが、20個も選ばせるならタブじゃなくてViewPagerとか使ったらどうかな?
>>705 >6個ぐらいonTouchLisnnerなどインターフェスを実装してみましたが該当するものが見つかりません
をもっと詳しく書いて。
MotionEvent.getX かgetRawX() でなぜ足りなかったのか、とか。
>>700 描画順序を固定にしたい理由が分からない
BorterDuffは描画対象と背景の合成を工夫するものであって、複数の描画対象を制御するためのものではない
>>705 onInterceptTouchEventとか使えば良くなかったかな
>>678 aとbの2つの画像を重ねた画像のオブジェクトを
drawimageみたいな感じで
画像の描画1回で済ませる
aとbを重ねた画像のオブジェクトは
a,bどちらかを更新した時に
生成すれば問題ないんじゃなかろうか
>>711 それって描画の順序の変更と同じ、というか、もっと面倒ジャン
描画の順序も把握出来ないような馬鹿プログラマに言ってもムダ
重なった部分を必ず上に書くってことは、必ずBが上にあるんじゃないの?
>>709 OnTimeChangedListener,OnTouchListener, OnGenericMotionListener, OnGestureListener,OnGesturingListener
を実装し、実装しなくてはならないメソッドが自動的にできたので
そこに
printlnでもじをいれてみたところ
何もlogcatにでてこずメソッドをそもそも通過してない状態です
>>710 それを実装しようとしてもインポートがでてきません
ライブラリが探せないです。どうやって検索ワード作ればいいんでしょうか
onInterceptTouchEventで検索して
onInterceptTouchEvent libraryでも検索
android libraryでも検索
普通はどうやって検索するんでしょうか。検索の仕方が悪いのか
いつも該当の答えにたどり着けません
>>715 「View#onInterceptEvent」でぐぐれば出るけどな。
リスナーじゃなくて派生クラスを作らないとダメ
onInterceptTouchEvent だったわw まあ検索結果的には問題ないんだけど
>>715 お前タッチイベントを扱うサンプルコード全く読んでないだろ。
「android touch event sample code」とかでぐぐるべきかなあ
Android関連で、View派生クラスを使ったグラフィック表示のサンプルを打ち込んでいたところ、
onDraw(Canvas)内のcanvas.getHeight()でバー込みの値が入ってくる。
で、色々調べたところ、onWindowFocusChanged()を使えと言うことなので、
Activityクラス内で設定したところ、ここではバー抜きの値が取れている。
しかし、ここで取れてもViewクラス内で使えないと意味が無いので色々やった結果、
onWindowFocusChanged()を丸ごとViewクラスに移すと上手く行った。
更に色々やって、元のcanvas.getHeight()をthis.getHeight()にしても上手く行く。
@onWindowFocusChanged()を移動するのは構わないのか?
Athis.getHeight()を使うのは正しいのか?
結果的に動いてはいるが、何故こうなっているのかがイマイチ判ってない・・・
ソースはこんな感じ
public class xxxxView extends View {
:
public void onDraw(Canvas canvas){
int width = canvas.getHeight();
↓
int height = this.getHeight();
メインの方は、onCreate()内でViewをインスタンスしてsetContentView()してるだけ。
xxxxView = new xxxxView(this);
setContentView(xxxxView);
リストビューに
name と msgが表示されていたとします
そのリストビューをクリックした時にnameだけ取得したいのですがどのように記述すれば良いでしょうか?
nameだけの配列を用意しておいてそれを参照
723 :
>>705:2015/03/08(日) 14:11:36.92 ID:95SCGuaE
>>716 >>718 イベントの流れはわかったんですが
ListViewをどうやって書いたらいいんでしょうか?
内部クラスを作って extends Listviewとしてみましたが動きません
>>722 ありがとうございます。
サーバーに格納してあるログをjsonでパースしてリストビューで一覧表示してる場合でもnameの配列を別で用意して参照する事は可能ですか?
725 :
デフォルトの名無しさん:2015/03/08(日) 14:56:12.71 ID:OitgB2a2
時計のウィジェット作成してる人っている?
分毎にウィジェット更新したいんだけど、
AlarmManager使って毎分ひたすら更新するのってあり?
sleep中も更新してて無駄だと思ってるんだけど、ほかにいい方法も思いつかない。
>>725 sleep中に更新されるのがイヤなら、sleep中は更新しなけりゃイイ
sleep解けたらまた更新させるようにすればイイ
いまどきisdn使ってるとは
addxxListenerとか呼んでるのかな
>>723 ここは質問スレであって、お前の代わりにコードを書いてやるスレではない
>>724 そりゃお前の組み方次第だ
>>725 スリープ中にアラームが呼ばれるかどうかは指定できるだろ
そうか、じゃあ厳格に質問だけオケ、回答禁止でいこう。
もうヤレできて、ネットで探せば解決出来るから質問スレなんか不要なんだけどね
732 :
>>705:2015/03/08(日) 19:32:25.35 ID:95SCGuaE
>>729 コードを書くんでなくてどうやって作ればいいかわかりません
例ではフラグメントのメソッドの中にtrueをかいてましたが
自分の例ではリストビューなのでかきかたがわからないです
プログラミングにはある程度の頭が必要。
そして、
もしそのある程度の頭があるのなら
こんなところでそんなレベルの質問をしても非効率であるばかりでなく
ここの人達にメイワクをかけるだけである
ということくらい分かると思うんだが。
数行のコードで分かりそうな(かつ、自分なりに理解してアレンジできる)質問者にはコードで答えるけど、
>>705 には数十〜数百行のコードを書いてやる必要がありそうだし、しかもそれを全く応用できそうにない
(ちょっと挙動を変えるだけでも自分では出来なくてソースを全部書いてやる必要がありそう)だもんなぁ。
735 :
>>705:2015/03/08(日) 22:05:27.96 ID:95SCGuaE
するとやっぱりこれって難しい事柄だったんですね
ありがとうございます
リストビューにidを振って
クラスを作ってextends リストビューをして
oncreateメソッドでidを取得してその変数をcontextにいれて
みたいな日本語で書いてもいいんですが
736 :
>>705:2015/03/08(日) 22:07:34.13 ID:95SCGuaE
>>734 そういうことができるようになるには
勉強はどういうことをやったらいいんでしょうか
最初は誰もがそれをできませんでしたよね
Google先生に質問しながら試行錯誤すんだよみんなそうしんてんだおよ
>>736 自分に分かるレベルまで事象を分解して、手に負える所から潰していくんだよ
上記の方法は小学校から大学の間で学んでいる
学生の間にべんきょーをしてこなかったカスは知らん
親の金を溝に捨ててたんだなぁと途方にくれることをおすすめする
739 :
725:2015/03/08(日) 23:13:03.84 ID:CNjIyLwK
>>729 返事ありがとう。
ごめんでもその設定見つけられないです。
もしかしてrtcとrtc_wakeupの違いの話をしている?
時計ならどっちかっつうと android.intent.action.TIME_TICK じゃね
ActivityのLoaderManagerにお任せ
>>741 そんなもんキャンセルするべき処理としないほうがいい処理があるだろうに
>>741 処理次第だと思うけど、俺はなるべくキャンセルするようにしてるな。
その方が低スペック端末に優しいし、画面OFFでネットワーク接続が切れるとかでデバッグがめんどくさい。
FragmentのなかでHttpURLConnectionを使うときはAsyncTaskを使うところまではわかったんですが、AsyncTaskの中で使ってもNetworkOnMainThreadExceptionが消えません。。
なにかヒントをお願いします。。