Androidプログラミング質問スレ revision53 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
つーかAndroidでビューを絶対配置する方法ないの? >>3
ない
そもそもまともに設計していれば
解像度がまちまちなAndroidで絶対配置をすることは100%ない
絶対配置にすれば確実におかしな表示になる 重複誘導
Androidプログラミング質問スレ revision53 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1487994370/ 絶対配置する必要性があまり感じられないだろ。
だいたい相対配置に置き換えられるよね。 SO-05DでOpenGL ES2.0を使うと、
4頂点スプライト(テクスチャ256*256)を40個も表示しないうちに
カクカクします。
こんなものでしょうか? >>9
古いスマホならそんなもんだろ
2.0からはシェーダ必須だから
固定パイプラインで処理してた1.1までより処理能力を要求される
完全2Dなら1.1使えば解決するかもね 質問させて頂きます。
最近、入門書を購入して、勉強を始めようとしているのですが、公式ホームページにはアンドロイドスタジオver2.3が公開されていますが、入門書では2.2を使用しています。
試しに2.3をインストールしてみたのですが、2.2と2.3では、ボタン配置等を記述するxmlファイルの記述方法が少し違うと思ったので、入門書と同じ2.2をインストールしたいのですが、入手方法など、教示いただければと思います。
また、入門書のサンプルコードを実行する場合、SDKのバージョンも合わせる必要があるのでしょうか?
宜しくお願いいたします。 >>12
SDKのバージョンは合わせたほうがいい。
Androidスタジオは最新版でいいと思う。
xmlとか書籍と違う部分があっても、一応公式が出してるものだから、公式推奨なわけで、
結局最終的にはその推奨されてるものに合わせていかなければならないわけだし。
違う部分だけネット検索で対応していく形でいいと思う。 おそらく2.3からボイラープレートのrootのlayoutがrelativeLayoutからconstraintLayoutに変更になったことじゃないかな
書き換えてrelativeLayoutにしても大丈夫だよ スマホ界隈はまだまだ変化が早くて激しい分野だから
最新の本1冊完璧にマスターしても1年後にその知識が使えるかどうか分からない >>14
ご回答ありがとうございます。
sdkはできるだけ入門書に合わせるようにしたいと思います。 >>15
まさにその部分でした。
ありがとうございます。 Galaxy S7 edgeなんですが、Android StudioでRunしようとしても、
「No USB devices or running emulators detected」と表示されて、
対象ターゲットリストに表示されません。
「Tools」⇒「Android」⇒「SDK Manager」⇒「SDK Tools」で「Google USB Driver」はインストール済みで、
デバイスマネージャの「ポータブルデバイス」の項に「Galaxy S7 edge」と表示され認識されています。
エクスプローラでGalaxy S7 edge内のファイルにアクセスできるので、
USBケーブルがおかしいとも思えません。
どうすればAndroid Studioで認識されるでしょうか? あ、それと、
「Tools」⇒「Android」⇒「Enable ADB Integration」のチェックも入っています。 実機側で開発者オプションを出してUSBデバッグをオン 自己解決しました!
MTP接続になっていたことが原因だったようで、これをPTP接続というものに変えたら認識されるようになりました。
失礼しました。
>>21
USBデバッグはオンにしていました。
ありがとうございました! 作業中のアプリを途中で落とした場合、
再起動したときに続きから続行できるようにするためには、
落ちるシグナルが来たときに必要なデータを保存しておく必要があるとのことですが、
これって突然電源が落ちたりいたときって当然保存されませんよね?
例えばうっかり落としてバッテリーが外れたときとか。 そりゃそうだ
そんな物理的なトラブル、ソフト側ではどうしようもねえよ >>24
ですよね・・・。
ありがとうございます。 >>26
Edit -> Macros の中にマクロの保存や再生をする項目がある。
マクロに名前を付けてを保存したら File -> Settings の Keymap の Macros の中に
それらが表示されるようになり
マクロに任意の Keyboard Shortcut を割り当てて実行することもできる。 スマホのプログラムを書いたことがないのですが、
バッチみたいなものをバックグラウンドで常に回すようなことはできないのでしょうか ビューを切り替える場合と、アクティビティを新規に作る場合は
どのように分けていますか?
ビューをすげ変えても新しい内容を表示できますし、
前のビューも破棄しなければまたすぐその内容に戻ることができます。
アクティビティを作っても新しい内容は表示できますし、
そのアクティビティを破棄すればまた前の内容に戻ることができます。 button.setOnClickListener〜とかのリスナーって破棄時に全部外す必要あるの? えっ、外すの?
アプリ何本かリリースしてるけど外したことなんてない >>32
UIトランジッションと画面としての独立性、外部に公開するかどうか
Activityをもたないならviewを切り替えるのではなくfragmentを切り替える >>33
buttonとかUI要素なら外さなくていい >>35
ありがとうございます。
ちょっと難しいのでそれらのキーワードをもとに調べてみます。 ファイルとか何でヒープぎりぎりまで読ませてくれないんだよ
今の時代1MBまでとかおかしいだろ 1Mしか読めないのなOSのせいではなくおまえの頭のせいだろ ビットマッピとかサウンドプールとかで読み込むときだよ Binderにも1MB制限あるだろ。
っていうか、全部これに由来してるんだっけ? binderはIPCの制限なのでassetsとはまた別
IPCはandroidに限らずだ コード書いてただけなのにアンスタが30秒近くフリーズしたマジ糞 Androidはバグが多くて話にならない。
画像ファイルを10個ばかりダウンロードして読み込むだけのことすらできないお粗末なOS。
10個ダウンロードして表示すると10個目が表示されないから、
11個目のダミー画像を用意しておく必要がある。
あまりにもバグだらけのお粗末なOS。
画像の読み込みすらまともにできないOSとか。 いや、現実に画像の読み込みすらまともにできないんだよ。
画像の読み込みなんてかなり基本的なところだろう。
加工表示云々以前のただ読み込むだけの段階。
たったそれだけのことすらまともにできないOSとか異常すぎる。 出来ないのはお前が何も理解していないからだ...
>>47 の書き込みから察するに、お前そもそもiOSとか他の環境もまともに理解してないだろ?
違うってんだったら動かないっていうソース晒してみろよ。 OSも何もかも完全に理解したうえで言っている。
仕事とってくるときの売り文句の一つがそれだしな。
理解していないのはお前のほうだよ。
理解していればアンドロイドを妄信した発言なんかできるわけがない。
かなりいい値段で引き受けてる仕事のやつだから、再現できる最小コードに書き直してくるわ。 最小コードを書き直すまでもなかった。
File file = new File( filepath );
if (file.exists()){
Log.v("sonzai",filepath);
}else{
Log.v("nai",filepath);
}
これで"nai"のほうが出力される。
filepathはフルパス。
ファイルが存在しているにも関わらず、"nai"が出力される。
実機で動作確認しており、シェルでログインして該当ファイルを確認すると確かに存在する。
ウェブからダウンロードして保存したファイルだが、ファイルサイズも一致している。
10個ダウンロードしたら10個目が存在しないことになる。
ダミーを1個増やして11個ダウロードすれば10個目までは存在が確認されるから、
それで何とかしのぐしかない。
ダミーを増やせば10個目の画像は全く同一のfilepathで存在が確認できることから、
filepathが間違っている可能性もない。
明らかにアンドロイドのバグ。 新たに判明した内容。
ダウンロード直後に間髪いれずにチェックすれば"sonzai"が表示される。
少し間を置いてからチェックすると"nai"が表示される。
どっちの場合もシェルでログインして確認すると当然存在してる。
これで丸1日潰れるとかアンドロイドは本当に使い物にならない。
>>53
馬鹿乙。
まあそうやってバグアンドロイドを信仰してるのが馬鹿にはお似合い。 >>54
馬鹿はお前だろ。
低脳は一生貧乏でいろ。 お前保存するディレクトリのパスどうやって取得している?
変な所に置いているか、容量圧迫状態でContext.getCacheDir()で取得したパスに
置いているのであればお笑いだぞ。 ダウンロードした直後だったら大丈夫
って答え出てるじゃん。バカなのか。 ダミーファイルをダウンロードすれば何とかなるから、後回しにするかな。
アンドロイドとかゆうバグまみれのゴミOSは本当に迷惑だ。
>>56
filepath = "/data/data/" + activity.getPackageName() + "/files/" + filename;
・ ダウンロード直後はFile#exists()で存在確認できる
・ 1秒後にはFile#exists()で存在確認できず
・ シェルにログインし、該当ディレクトリにおいてlsコマンドを使用すると、ダウンロード後は常に存在確認できる
・ 確認できないのは、ダウンロードするファイル数nとすると、必ずn番目
・ ダミーファイルを1個用意し、n+1個ダウンロードすると、n番目の存在はFile#exists()でも確認できる
>>55
お前貧乏だったの?
かわいそうに、それで頭の中まで貧しいのか。 OSも何もかも完全に理解した人ならハードコーディングしないと思うの やはり、OSも何もかも基本から理解していないやんけ。
まずアプリが使用できる各ディレクトリパスの取得方法と役割を調べろ。
あと冒頭からこのレベルとなると、他の箇所もボロボロだろうから勉強して見直しておけ。 OS完璧に理解していい値段の仕事取ってきてる凄腕の方みたいだしな
そんな方に指摘をするなんて釈迦に説法もいいとこだよ OS完璧に理解できてたらAndroidにまとも動作なんか微塵も期待しないだろ
期待しなければ文句もでないはず
つまりOSを理k(ry バカのふりも何もバカだろう。
この程度の事も判らなくてこんな所で騒いでいるようでは、そもそもエンジニアに向いてない。 OSに詳しすぎてDLテンポラリとか公開されてない場所指定しててシステムが手離してないファイルを
取得しようとしてコケてるとかだったりしてなOS詳しくないから知らんけど そもそも存在してるファイルが存在しないことになるようなAndroidの案件を引き受けてる時点で
エンジニアには向いてない
不完全なOSを使うのはあくまで趣味の範囲で遊ぶときだけにとどめておくべき エクスプローラアプリを変えると見えたり見えなくなったりするファイルはたまにあるな
mp3converterってアプリで変換してできたmp3ファイルがesfileexplorerだと見えるけどたまに他のアプリからは見えなくなる
Windowsに接続しても見えないがカットアンドペーストすればどれ使っても見えるようになる >>71
Androidの基本中の基本。
ContentProviderを勉強して来い。 グラフィックメモリに直接アクセスとかできないのか
録画アプリでも作ろうと思ったのに こう見るとAndroidのキャッシュファイルの振る舞い以前に、
Linuxのファイルシステムの排他処理の仕組みと、パーミッションが分かってない奴って結構居るんだな... Windowsしか使えないボンクラが開発に手を出そうが
それはGoogle様の意向なんだから仕方がないだろ。
お前らが勝手にストレスに感じてるだけ。
嫌ならAndroid開発なんかやめてしまえ。 iOSからandroidにうつるとフラストレーションたまるのは理解できる >>80
iOSなんて、できないことだらけのガラケーOS使って楽しい? 普通はアンドロ/アイフォ両方作るから楽しいとかフラストレーションとか関係ない
そんなことをガチャガチャ言ってるのは池沼だけ
普通は仕様に従って粛々と作るだけ ここはアンドロで仕様を満たす機能の実装方法が分からない場合に質問するスレッドだ
アンドロ/アイフォどっちが優れているとかそういう話は
荒らしの立てた隔離スレのほうでどうぞ
http://echo.2ch.net/test/read.cgi/tech/1487994370/ Android Studioは重すぎてマジで糞すぎる。
こちとら3.4GHzクアッドコアなのにGradleのBuildが裏で走るだけで
YouTubeで流してる音楽が途切れたり不安定になる。
Android Studioを作ってる奴はどうせ頭の悪い七流プログラマなんだろうな。 >>87
ソフトバンクがiPhone独占戦略でごっそり客を持っていって成功したので他の大手キャリアもiPhoneを取り扱わざるを得なくなった
しかしAppleからのノルマがかなり厳しい
そのためiPhoneだけ優遇して安くせざるを得ないから今の状態になった >>87
ミドル、ローレンジの市場が小さいのとブランドネーム料を払うことに抵抗がない、むしろステータスと思う人が多いから >>87
日本人は他人と同じであることで安心感を得る民族だからだよ もう少しAndroidもシェア増えてくれ。
OS乗り換えたいほど面白いアプリ作ってAndroidだけで出したところで
もしそれが本当に面白いアプリなら誰かがiOS版クローン作るだろうしなあ。
まあAndroidのシェア伸ばすのはアプリ開発者ではなくGoogleが考えることか。 >>91
Androidのシェアが低いのは極東の小国の特殊な事情だから、グローバル企業のGoogle様には些末なことなんだよなぁ。(*´∀`*)ノ
GoogleJapanはバカばっかりだしなぁ。 日本だけ林檎に染まってもgoogleは痛くも痒くもないからな >>87
名目0円と実質0円が区別できないほど日本人は馬鹿だから。 Androidは管理画面をもう少し使いやすくして欲しい
というかデベロッパーコンソールとファイアーベースの管理画面を統合して欲しい AndroidのBLE対応端末はどの程度普及してますでしょうか? Androidは何かにつけて遅れてるから5%くらいだろ
オリンピックまでに3割いけばいいほう Googleは買収してパクるが基本だからな。Apple同様技術力はない。 >>98
そのGoogleの方法が正しいことは技術力自慢を自称してきた日本がIT分野でボロ負けの現状が証明している 国内投資するたびに金融引締されたらどんな優秀な経営者でも失敗する。
Google、MS、Appleでもね。 日本のITが世界で勝てない理由は待遇が悪すぎること
なぜかプログラマーよりプロジェクトマネージャーが偉いという良く分からない思想があり、
プログラミングはより薄給の下請けへ丸投げして高給貰う人は管理するだけ
本来プログラマーは座りながらにして普通の肉体労働者の何倍もの利益を出せるはずなのに
こんな状況で優秀なプログラマーが日本のIT企業で働きたいと思えるわけがない >>101
その何倍もの利益を出せてないから人足商売にしかならないんだろう。 必要なのは、優秀な奴に10倍の報酬を払って月数百時間働いてもらうことと
無能な奴を解雇すること >>101
それ普通の土方も同じだよね。座りながらってのが違うけど、本来であれば下層でハイリスクなきつい仕事をしてるやつがもっと高い給料貰うべき。 >>102
プログラマーとしてそんな優秀な人間がわざわざ日本のITで働こうと思わない
高い給料貰おうとすると大好きなプログラミングができなくなる、プログラミングやろうとすると安い給料で我慢せざるを得ない
結局専門知識も何もない文系の素人でもいいから頭数揃えるために雇って人月商売に甘んじる
この方法は土木業界と同様で経営者としては頭を使わなくても人数さえ揃えておけばそれなりに儲かるが、
優秀な人は近付かず、その代わりに更に素人を雇うループに陥る かといって言語の壁があるので優秀でもそちらの方がダメなら日本から脱出不能 個人的には学習するならプログラミング言語より英語の方が何倍も楽だと思う 楽も糞もIT関連はアメリカからくるものが多いから、
IT系エンジニアなら周回遅れでやってくる翻訳文書待つより英語の一次資料をあたるべき
つまり英語はできて当たり前
周回遅れで誤訳の可能性がある翻訳文書しか読めないような
英語ができないエンジニアなんか低賃金の土方扱いで当たり前 そうかなあ?俺はプログラミングの方が楽だったよ。
だって使う単語少ないし例外的なこともないからな。 PHPプログラマとかもはやエンジニアじゃないしw
刺身に菊の花乗せるバイトと同レベル
アメリカではPHPはとうとう将来性のない言語になったぞ >>109
かといってネイティブのやつと英語で仕様の打ち合わせとかできるか?
これができなきゃ脱出は厳しかろう。 それと英語は英語でもアメリカとかだと色々なものの単位が違ってたりして慣れるまで面倒だよね。
距離がフィートで温度が華氏だもんな。 >>108,>>110
英語は自然言語でコンテキストの理解が要求されるから右脳が強いやつには簡単
プログラミング言語はゴリゴリのロジックを文字に落とし込むから左脳が強いやつには簡単
>>112
脱出しなくても英語の一次情報に当たれるだけでかなり違う
少なくとも「土方と同じ扱いで当たり前」ではなくなる
>>113
そうだよ
>>114
若い人の間や電子部品関連ではメートルやセシになりつつある
よく考えたらここ何年か見たアメリカ製電子部品のデータシートは全部セシだわ
長さもほとんどがメートルだけどたまにインチが混ざってる、とはいえ減少傾向 連絡先から指定した電話番号を取得したいのですが、
下記コードだと複数ヒットした中で最初に見つかった電話番号しか拾えず、
一意に定まらなくて困っています。
下記方法が根本的に誤っているのか、クエリーのキーが不足しているのか分からない状況です。
アドバイスをよろしくお願いいたします。
public void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == REQUEST_PICK_CONTACT){
if(resultCode == Activity.RESULT_OK){
CursorLoader cursorLoader = new CursorLoader(getActivity(), data.getData(), null, null, null, null);
Cursor cursor = cursorLoader.loadInBackground();
if(cursor.moveToFirst()){
String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
String phoneNumber = "";
Cursor phoneCursor = getActivity().getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[]{ id }, null);
boolean isEoF = phoneCursor.moveToFirst();
while(isEoF){
phoneNumber = phoneCursor.getString(phoneCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
if(!TextUtils.isEmpty(phoneNumber)){
break;
}
isEoF = phoneCursor.moveToNext();
}
phoneCursor.close();
}
}
}
} 結論を書くと
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?" ではなく
ContactsContract.CommonDataKinds.Phone._ID + " = ?" が正解でした。
これで選択した番号を拾ってこれました。 うむ>>117はできる子
そいやスラドで見たが日本ではアイポンが伸びてるけど世界的にOSシェアで泥がwinをぬいたそうだ(寿 Googleは無料サービス乱発と仕様を公開しまくるオープン戦法
Appleは一般顧客もアプリ開発者も取り込んでいく囲いこみ戦法
Microsoftはしばらく独走状態だったからノーガード戦法 ボタンタップしたときにデフォルトのサウンドが鳴るんだけど
これって変更できないの? スマホの電源スリープ状態から、音量UPボタン長押しで録音開始できるアプリ…とか
アンドロイドの仕様上可能? 超初心者なのですがAIDEでアプリ製作ってありでしょうか? そりゃ完成させられればなんでもアリよ
完成できなきゃどんだけ高級な環境つかってても無駄
で、AIDEと普通のたとえば AS とか比較してどっちが制作しやすいかっていえば
やぱっぱり素直に AS とかにしとくべき >>128
「アンスタ軽量化する裏技とか」の「とか」は、「アンスタ軽量化する裏技」以外の何? 調べなくても感覚的に分かるはずだけど、曖昧な表現するのに「とか」って使うだろ >>131
なんで曖昧な表現をしなくてはならないの? 文字が真っ白で背景と同化して見えないことがあるらしいけど何で?
知り合いからそう言われたけど俺の環境では見えてる コンテキストの何を確認すればいいの?
コンテキスト自体が抽象的すぎてよく分からないんだが Themeの問題じゃないの?
継承元がシステム側のものだと、機種とかバージョンによる違いを受けやすい。 そうだよ。
だからContextを確認しろって言ってんの。
Activityインスタンスを渡してるか、ApplicationContextを渡してるかで使ってるテーマが違って一部にテーマが適用されないとかは初心者あるある事例だから。 一応Manifestもか。
ActivityでTheme指定とかあんまりやらないような気もするけど(LayoutとかViewで切り替えられるし)。 androidのドライバってLinuxのドライバそのまま流用してるんですか? 別のアクティビティから戻ってきたときに、戻ってきたアクティビティのメソッドが呼ばれますが、
アクティビティではなく任意のインスタンスのメソッドが呼ばれるようにするにはどうしたらいいでしょうか?
アクティビティで呼ばれるメソッドの中に分岐を大量に書くのに疲れました。 アプリが高解像度にならなくて困ってます。
職場のオンボロPCで開発してるんですが、AndroidStudioは起動に数分かかるくらい重いんで、
android create projectで作ったxmlをAntでビルドしてます。
いま自宅なんで正確な事書けないんですけども、
例えば1920x1200の機械で実行しても800x400とかの低解像度になってしまいます。
getWidth()/getHeight()が800,400になって、canvas.drawLine(0,0,800,400,paint)すると、
ちゃんと角から角へ線が引けますが、ドットが粗いです。
なんかxmlを作る時にTargetIDで指定した仮想マシンの解像度に固定されてる感じなんで、
ADVを作成すれば1920x1200は出来そうなんですが、すると今度は800x400の実機でダメそうです。
アドバイスおなしゃす。 >>140
そういうAPIなんだからできるわけないだろうボケナス
頭と設計が悪いだけだから諦めろ >>142の頭が悪いから知らないだけではないんですか?
そういうAPIだという根拠も何も示さないので、そうとしか思えませんね。
頭が悪いから自分の発言に根拠を添えるという発想も出てこないのでしょうけれど。
そこまで頭が悪いとエンジニアに向いてませんよ。 ww
startActivityForResultの結果はそれを実行したActivity、もしくはそれを実行したfragmentのonActivityResultで受けとります
つまりおまえの頭と設計が悪いだけ
理解した?w Androidアプリなんか開発してる低能に根拠を要求してる辺りやっぱり頭が(ry >>139
ていうか、AndroidはLinuxの上で動くたたのアプリだから、いかなる入出力もLinux経由でしかできないよ。つまり全てLinuxのドライバ経由。
流用じゃなくてそのまま使ってるだけ。 >>144
結局頭が悪くてソースも出せないわけですね。
根底には「俺が言うんだからそうなんだ」的な思い上がりがあるのでしょう。
絡み目的のウザいレスしかしてこないのでNG入れておきます。
日常生活では、刺激すると面倒だから当たり障りのない対応をされてるだけなのに
社会に受け入れられてると勘違いしてる痛いタイプ。
迷惑がられているのに自覚がないから始末が悪い。 具体的なAPI名まで出してもらってるのにソースが出せないとは一体どういうことなんだ…
誰か解説してくれ 教えてもらったAPI名で検索すればいいだろうに、難癖付けてNG入れますとか・・・ URL出さないと納得しない人とか?
これほどわかりやすい解説はなかなかないと思うのだが・・・ Android Studioの32ビットverって上手く機能しないものなのでしょうか?仮想端末が表示されず止まってしまいます
それとこれ以外におすすめのアプリ開発ソフトってありますか? androidstudioとエミュレータは別です
エミュレータが他にあるかという問いならGenymotionが有名
エミュレータとは関係ないが他にIDEがあるかという問いにも一応答えるとintelliJでも可能
もしくはもうスマホアプリ開発はxamarinでもいい gemymotion使えよ
標準より遥かに軽くていいぞ >>156
よしじゃぁまずはそいつを一言一句間違えずにGoogleの検索窓に入力してEnterキーを押すんだ 渡してるコンテキストってビューを作成するときのやつだよね?
アクティビティを渡してる場合とコンテキストを渡してる場合がある
確かコンテキスト渡してたけど何か不具合起きて、アクティビティを渡したら直ったから、途中でアクティビティを渡すようになって混在してるんだと思う >>158
出るのはオナラなので、入力はできません。 >>155
>>158
アドバイスありがとうございました 背景色と同じになって見えなくなる文字は、文字色を指定してなかった
指定してないからテーマ(?)の色がデフォルト色として使われ、それがたまたま背景色と同じだったってメカニズム?
文字色を指定すればとりあえず解決できる感じ? アプリがバックグラウンドや何らかの理由で終了した際に、
次の起動時に続きから再開するにはデータを全て保存しておいて
それを起動時に反映させるとのことですが、
その管理をしやすくするコツ等はありますか。 main_activity.xmlが次のような構造で、
<LinearLayout>
<RelativeLayout>
中身1
</RelativeLayout>
<LinearLayout>
中身2
</LinearLayout>
</LinearLayout>
プログラム側にて、RelativeLayoutを取得し、
CanvasBasicViewで作った図形をaddViewで追加すると、
中身2のLinearLayoutが表示されなくなってしまいます。
ただ、CanvasBasicViewの図形ではなく、ボタンを追加した場合は、問題なく中身2が表示されました。
どのようにすれば中身2のLinearLayoutをちゃんと表示できるでしょうか。
アドバイを頂けると幸いです。 >>166
linearのheightをdp指定して、relativeはhightを0、weightを1にする >>167
中身1のRelativeLayoutと中身2のLinearLayouにそれぞれweightでの指定をしたら出来ました。
ありがとうございました。
CanvasBasicViewを使う場合はwrap_contentじゃだめなんですね。
細かい挙動は理解がまだ出来ていないのでなかなか難しいです。 OpenGLでゲーム作るときのタッチの排他処理について質問
描画スレッドで処理も全部やってて
タッチだけは別のところから飛んでくる
synchronized (this){}使えば排他処理できるが、どの言語でも排他処理ってだいたい重いから、
これで毎フレーム排他処理するのは不安が残る
どうすりゃいい? >>165
ありがとうございます。
読んでみます。 自己解決しました
失礼しました
一応変更した点を書いておきます
//View view= getLayoutInflater().inflate(R.layout.activity_sub, null);
View view= getLayoutInflater().inflate(R.layout.activity_sub, linearLayout, false); なんかAndroidがスリープになってしばらくしてからGCM送るとすぐに反応してくれないんだけど ソケットプログラミングでAndroidをモバイルサーバーにすることは可能ですか? VisualStudio2015でネイティブなアプリを作ろうと思うのですがエラーなくビルド出来ますがエミュ、実機でも起動で落ちます
試しに新規プロジェクトを作ってそのままビルドしましたが同じように起動で落ちてしまいます
何か原因わかりますか?
もう2日悩んで疲れてしまいました >>175
Visual Studioで作ったことはないけど、ARM⇔x86でビルドするの間違えてるってことないよね? iPhone向けアプリまで作るのでなければAndroid Studioで十分 VisualStudio2015でXamarinを今仕事で使ってるけど、はっきり言ってこれまだベータ版だな
未完成度はAndroidStudioどころじゃないぞ
VisualStudio2017でどの程度良くなってるかはまだ知らない 実機で動作確認しながら開発するときってAndroidどこに置いてる?
キーボードの手前に置くとUSBケーブルが左にきて、USBケーブルに手が当たるから抜けることがあるし、
左下のパソコン本体の上に置くとちょっと遠いし。 昔のマイクロソフトは「なんじゃこりゃ、宣伝はフカしでまだまだベータレベルじゃねーか!」
とか思ってるとゴリゴリと改善されていつのまにやらデファクトになってるみたいな事がちょいちょいあったけど
今のマイクロソフトはだいぶ弱体化してるからどうなるやら >>184
ああ、みんな今それでやってるの?
設定が面倒か面倒でないかちょっと調べてくるわ。
サンクス。 コマンド2発だから面倒じゃないよ エイリアスとかpecoで作れば1発だし >>183
既にマルチプラットフォームモバイルアプリ開発のスタンダードになってきてるよ
xamarinがここまで普及しだしたのはMSがxamarin買収して個人向けを無料化したおかげだよ
Formsはまだまだこれから ザマリンで開発する場合って何言語になるの?
通知の仕組みとか、アンドロとアフォンでかなり違うけどそういうところも共通化できるの?
実際の動作速度は問題ない? >>189
C#。F#でも一応。
OSによって機能そのものが異なる部分は当然共通化はできないよ
共通化出来るのは通信、DBなど一般的技術含むドメインロジックのみ
それ以外はxamarin上でそれぞれ作ることになる
UIも共通化できるFormsというSDKがあるけど出来ることはまだ多くはない
androidとiOSでデザインポリシーが違うからなかなか難しいと思う
性能はnativeなので基本的には問題にはならないよ >>190
ありがとう
C#とF#ってのが俺の使える言語を見事に外してるw
動作速度は安心みたいだけど、その他がまだ様子見かな
C#はやっとこうかかな 騙された。
騙されたというかはめられた。
Wi-Fiインストールどころか今までできてた有線インストールすらできなくなった。
最悪だ。 2chの書き込みを真に受けた俺が馬鹿だった。
まともに開発ができなくなって最悪だ。
こんな余計なことに時間使うとか。 何とか直ったがかなり焦った。
Wi-Fi経由のインストールはやろうとする時点で危険だということが分かった。
Wi-Fi経由のインストールは金輪際何があっても絶対にやらない。 何があったか知らないがwifi経由のインストールは関係ないと思うぞ Wi-Fi経由インストールのためにコマンド打ったらこの状況になったんだよ。
一時は認識どころか充電すらできなくなった。 おまいらがハイレベル過ぎてついていけないわ。さすがLinux技術者だわ。 adb install で指定する apkファイルのパスに、
日本語やスペースが含まれている場合に、エラーとなってしまうのですが、
対処方法はないでしょうか?
ダブルコーテーションでくくってもうまくいきません。。 >>201
Windows?
WindowsのコマンドラインはShift-JISでadbがUTF-8だからじゃない?
日本語をパスに含まない一時フォルダ作ってあらかじめ作っておいて
インストールするときにはそこにコピー、そしてそこからインストール
2ステップだけどバッチファイル書けば1ステップでしょ >>202
環境はWindowsです。
たしかに、一時フォルダにコピーして、
ファイル名を英数字にして、
adb insall ならいけそうですね!
ありがとうございやす!! ファイル名・パス・ユーザー名などのシステムには、半角英数字だけを使う。
日本語・半角空白などは使うな
もし使うと、圧縮解凍アプリなど、多くのアプリで、バグる。
外人の開発者は、日本語ではテストしていないから https://goo.gl/Y4tSAe
これは嘘でしょ?
本当なら落ち込むわ。。 なんか同じスレがもう1つあるような…
どっちも伸びてるし、どちらを使えば良いのでしょう?? 向こうは荒らしが立てたスレッドだから荒らしの方はあちらへどうぞ すいません、AndroidならBluetoothのバージョン3辺りの通信も自由なのでしょうか?
iPhoneはBLEくらいしか手軽に通信できず、それ以外の通信をしようとすると
Appleに高いライセンス料を払う必要があり絶望しました。
写真などをBluetooth通信を使って保存できるモバイルデバイスを開発したいと思っています。
SDカードを複数枚挿入でき、RAID1のような構成のできるデバイスを開発する予定です。 androidは独占主義の腐林檎と違うので機器ライセンスとかはないですよ >>209
機器ライセンスどころか、AndroidもGMSも売り物じゃないという。 >>209
「機器ライセンスとか」の「とか」は、「機器ライセンス」以外の何? ありがとうございます。
ではAndroidのほうで頑張ってみようと思います。 横からビューがスッと入ってくるような表現って簡単にできない? >>216
サンクス
ちょい調べてみる
スクロールビュー乗せて右半分に内容を表示してから
左にスクロールさせるのやってたけど、なんか微妙だったから スクロールビューといえば縦スクロールか横スクロールしかないな。
上下左右自在にスクロールできるビューも用意してくれ。
でないと画像ビューアすら作れない。 RSA暗号化通信でサーバーとやり取りしたいのですが、サーバー側の公開鍵はAndroid側のどこに保存すれば良いでしょうか?
ゲームのチート対策に使いたいので利用者にも鍵を見られると困ります DBに保存してSQLCipherで暗号化するのはどうかな Androidって組み込み系にも使えるはずなんだが、
そっちの話題は全くないな。 ポメラのD200ですらカスタムしないとAndroid重過ぎて検討されなかったぞ。
カスタムで目処が立ったからD200出せた。
組み込みからすればAndroidですら重い。 組み込みって言ってもどういう組み込みかだな。
遅くても大丈夫なら使えるかも知れない。
しかし普通は Linux そのままでも困らんからなあ。
わざわざ Android 乗せる意味があるのか?
あるものもあるだろうが、それは限定的だろうな。
画面が必要なものとかな。 AndroidのUIを使う必要がなければ
組み込み向けのLinuxディストリビューションでいいからね
ラズパイとか盛り上がってるし 初歩的な質問をさせてください。
独自のViewクラスを作成しfindViewByIdで取得しようとするとNULLが取れてしまいます。
引数がContextのコンストラクタと引数がContext、AttributeSetのコンストラクタを
2つ用意しましたが改善しませんでした。
ほかに何が原因でありますでしょうか。 引数二つの方のスーパークラスを呼び忘れてるとか…
初歩的すぎてコードないとわかりません >>228
回答ありがとうございます。
スーパークラスはコールしてます。
コードをかいつまむと下記のように記述しています。
■MainActivity.java
public class MainActivity extends AppCompatActivity {
TestPaint tstPt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tstPt = (TestPaint)findViewById(R.id.viewTest);★ここでnullが取得される
…その他処理…
■TestPaint.java
public class TestPaint extends View {
public TestPaint(Context cn){
super(cn);
}
public TestPaint(Context cn, AttributeSet attrs) {
super(cn, attrs);
}
…その他処理…
■activity_main.xml
下記を追加
<com.example.paint.TestPaint
id="@+id/viewTest"
android:layout_width="wrap_content"
android:layout_height="wrap_content" /> >>229
id="@+id/viewTest" は android:id="@+id/viewTest" じゃないの? >>230
おっしゃる通りでした。。。
idの部分をandroid:で修正することで治りました。
ほんと初歩的なところでミスっててお恥ずかしい…
相談に乗っていただきありがとうございました。 組み込みといえばAndroidウォッチだかGoogleウォッチだかも全く聞かないな
日常的に使ってる人いるの?
リアルで1人も見たことないが ウェアラブルデバイスは3Dテレビと一緒で業界関係者が一生懸命流行らせようとしてるが結局オワコン。 価格.com のランキング見るとカシオ Smart Outdoor Watch PRO TREK Smart WSD-F20 が
現在一位なのだが値段が49000円と出ていて、こんな高いものが一位ということは全体が
ほとんど売れていないということだと思う。
http://kakaku.com/keitai/wearable-device/ranking_7745/ ダイアログが出ずにクラッシュする場合ってlogcatのどこを見たらいいんでしょうか?
画像の読み込み時にたまに起きます >>235
「ダイアログが出ずにクラッシュする」の対処をしたいんですよね?
「画像の読み込み時にたまに起きる」をログ見て確認したいって事でしょうけど、
そこまで解っててlogを見ようとしてる事が、そもそも間違いですよ。
要は「画像が読み込まれてない」のに表示しようとしてません?
表示する所で画像データがnullかどうかチェック忘れてるでしょう。
起動時は初期化の為に色々な物が無効な状態で何度かonDraw()されます。
getWidth()/getHeight()で0が帰ってきて画面サイズ解らん等は有名な話です。
具体的には…onDraw()でDrawBitmap(bmp...)のbmpがnullなら
super.onDraw()だけしてreturnしないとダメです。
かなりエスパーなレスですけど、言いたい事は解ります?
もし図星なら、今まで動いていた事の方が偶然ですので以降は注意してくださいね ダイアログなしのクラッシュって遭遇したことないが、そんなことあるのか >>236
いろいろと説明不足でした
Picassoを利用してImageViewにbitmapを入れていたのですが、処理中にメモリが足りなくなりアプリごと落ちているようでした
Picassoの使用メモリを減らし、同時に処理する数を減らしたところ落ちなくなりました
ただOutOfMemoryExceptionなどが出ずに落ちた原因はわかっていません recyclerviewで現在スクロールが発生するだけのデータが表示されているか
否かの判定って計算するしかない? android開発の入門書でおすすめありませんか?
activity fragmentとかの概念がよくわかりません
半日くらい本気読んで、開発はじめられるようになりたい
cの開発経験はありますが、guiまわりはandroid以外でも経験ありません 半日読んで開発は無理
アクティビティはパソコンソフトで言うところのウィンドウのようなイメージ フラグメントは小さいスマホと大きいタブレットで表示を差し替える機構
スマホのみなら不要な概念だからActivityのみ継承しとけば良い
古いサンプルだとそんなのが多いしシンプルで理解しやすい
フラグメントは解説サイトによってサンプルバラバラで実装が汚い個人的に嫌い どちらかと言えば考えずにfragmentを使うべき >>240
オレは近くの本屋に行って、自分にとって読みやすいと思った本を1冊買ったよ。
「はじめてのAndroidプログラミング」(SB Creative)(初版 2016年5月)
本では Android Studio 2.0 を使っていたので、以下から 2.0 をダウンロードして環境を作った。
https://android-studio.jp.uptodown.com/windows/old
最新の 2.3 でやるべきかもしれないけど、2.0 のサンプルがそのままでは動かないとか
色々面倒だったし、Activity が表示できればいい、作ったアプリは誰にも公開しないから 2.0 で十分。となった。 実装する内容にもよるが、WebView貼り付けてHTMLとJavaScriptでやるって手もある。 >>238 これでも貴方が恥をかかないようにと気をつけて書いたんですけどね…
「処理中にメモリが足りなくなりアプリごと落ちているようでした」
貴方が「画像の読み込み時」と書いたのでbmpと書きましたが、
要は、何か読み込もうとして失敗し、失敗してnullになったオブジェクトを
参照した結果、落ちたんです。nullチェックはnullになる可能性のある
全てのオブジェクトに対してするのは基本中の基本です。
「使用メモリを減らしたら落ちなくなった」と言う事は、
貴方の環境よりメモリが少ないと落ちる状態のままですね。
最低必要なメモリ容量を大きく宣言すれば言い逃れはできるでしょうが、
「メモリが足りません」等のメッセージも出さず「落ちる」のはバグです
これはC/C++板なら変数の初期化を忘れるのと同等の初歩的なミスなんです
「落ちる」大半の原因はnullオブジェクトにアクセスする事じゃないですか?
何処でチェックを忘れたかを探す為にlogを見るはずなのに、
そもそもチェックをしていないなんて質問以前の問題でしょう。 >>246
最近初めてunity使って2Dゲーム作ってたんだけどこれなるんだよなぁ
非正規品のバッテリーに換えてるとはいえ、PCにつないでアプリ実行させたままにしてるとだいぶ熱くなっちゃう
AndroidStudioでツール作ってた時はこんなならなかったと思うんだけど… パズドラとかやってても熱くなる。
熱くなるだけならまだしも熱のせいで動作もカクカクになるから
保冷剤引っ付けてやってる。 熱くなるということはバッテリーの消費も早いってことなんだよな。バッテリーも痛むし。
対策はFPS落とす、半透明、アニメーション減らすとか? Unityとか使わずに時前で全部実装したらそのあたりだいぶ対策できるよ
ただし、開発期間がどんどん伸びる諸刃の剣
諸刃の剣てひさしぶりに聞いたな unityってFPSの調整とか
アイドリング時の工夫ねーのか? PokeGoみたく画面表示させないようにするしかない。 FPSの固定はApplication.targetFrameRateで指定するか、Project Settings>QualityのVsyncCountを変えることで出来るのか すみません、文法とは違いますが制作上の質問です。
基礎知識で申し訳ありません。
ユーザーが何らかの文字列を入力・保存するアプリを開発するとします。(例えばメモアプリ)
このアプリを海外ユーザーにも使ってもらう場合、
現地の文字種類が自動的に反映されるものなのでしょうか?
それとも何か開発側で処理が必要でしょうか?
アプリに表示する文字列の各国言語対応ではなく、(それは本にも載っていました)
ユーザーが記入・保存する場合どうなるか知りたくて質問させて頂きました。 国内国外関わらず殆どの国の言語が表示できる文字コードが標準になってるから問題ない IMEは言語別に選べるもんね日本語しか使ったこと無いけど >>256
なるほど、、
言われてみると私も日常、androidアプリで特に何の設定もせず日本語を使って保存していますよね。
海外でも同様という事でしょうか。
ありがとうございました! ユーザーがFCMを有効にしてるかどうかって取得できる?
(そもそも有効/無効あったっけ) push message自体の受信をユーザーが無効にすることはできないと思いますよ 初心者です、AndroidStudioを使っています
今までMainActivity内に全部書いていたんですが分割してきれいに書きたいと思うようになりました
クラスを作成してそこでMainActivity内で定義したTextViewを操作したいのですが
クラスのファイルでimport static 〜.R.id.textViewをしてもtextView.setText("〜")のsetText部分が赤くなって上手くいきません
どうすればいいのでしょうか?
レベルの低い質問だと思いますが、よろしくお願いします 追記です
クラスの使い方がまだよくわかりません
作ったアプリは簡単なクイズを解いていくものなのですが
もしクラスを使って見やすくする場合どのように分けていくものなのでしょうか?
メニュー画面の処理を担当するクラス、クイズ画面の処理を担当するクラス、・・・という風に分ける感じで合っていますか? クラスなんて見やすくするために作るもんじゃないからな >>261については自己解決しました
クラス内でTextView textViewをしてfindViewByIdでいけました
すみませんでした
>>263
そうなのですか……
今はMainActivty内に色んなメソッドがあって読みにくいので、役割ごとにソースを分割したいのですが
メニュー画面の処理を担当するメソッド集、クイズ画面の処理を担当するメソッド集・・・という風に分けるのはどうすればいいのでしょうか? >>264
庶民がゼロから考えるよりも天才たちが考えてくれたデザインパターンを適用する方が早いよ
それぞれ好き嫌いあるけど他人と共通認識を持って整理できるメリットがある
基本にMVCがあってCであるActivity肥大化をAndroid的にまず解決するならFragmentの導入、ようするにCの分割
Fragmentの肥大化を解決するにはMVPなどが使えるよ
MVPの場合V的なものがFragmentになるから肥大化しやすいPを役割ごとに分割させやすいよね 素人設計で参考にしていいのかしらんけどうちはこれ
public class MainActivity{
GameMain gamemain = new GameMain();
}
class GameMain{
//アクティビティと同一ファイル(同じ境遇で分離独立したからね
//あとで完全別ファイルにしてもいいけど面倒だからやってない
//ここにゲーム関係
} 基本は仕様書に出てくる名詞をmodel classにしてく
その名詞に働きかける動詞をmethod
形容詞はmember変数 仕様書書いてやるプログラムをやってるようには見えないが 皆さんレスありがとうございます
Quizってクラスを作ったらメソッドはset()とかそんな感じですかね?
何を言ってるのかよくわからないレスもあったので単語をググって理解できるようにします
ありがとうございました 2chのレスのうち約半分は何を言ってるのか分からないレスだ 10年以上趣味でプログラミングやってるが、
結局のところ仕様書をしっかり書いてから開発に入ったほうが早いんだよな
仕様書書いてると頭の中だけで整理しにくい部分まで明瞭になるし、
コーディングはコーディングで集中できるから速い
1. ぼくのかんがえたそふとうぇあ
2. どうしても実装したい機能一覧
3. 機能仕様書
4. 詳細仕様書
の流れでドキュメント書いてから開発入ったほうが早い
ドキュメント書くのも時間かかるが、その代わりコーディングが爆速になるから総合的に見ると早い
それにコーディングから入ると開発環境の前でしかあれこれできないが、
仕様書作成は通勤電車の中でもできる
まあ俺の出勤時間が一般社会より1時間遅いから座ってノートPC開けられるってのもあるだろうが、
スマホでもある程度作れるだろ >>272
規模がでかいほど仕様先決め有効なのは同意
ただ仕事でなく日曜グラマーならいきあたりばったりで組んで壁にぶつかるのを楽しむのも一興 >>273
それ単に手抜きして無駄に時間かけてるだけじゃないか >どうしても実装したい機能一覧
最初これしか書かないな残りもソースのコメ 最低限クラス図
あとはユースケース図とシナリオ
複雑だと他のUML
基本とか詳細とか人によって書く範囲が違うから困る SQLiteのデータベースのテーブルはSQL操作時に常にテーブル有無をチェックして、
存在しなければ再作成するのが当たり前?
ユーザが故意にアプリの情報をクリアした事を考えると
常にチェックした方がいいのかな? 手持ちのAndroid 7.0端末で試しにデータベースクリアしたら
アプリとバックグラウンドサービスが停止された
新規インストールと同じ状態だからテーブルが存在しない場合は考えなくてもいいか 動画の扱いが難しい
もっと簡単に扱えるクラスとかないのか そう言うのはiOSが強いって日経ソフトウェアに載ってたな。
代わりにガジェットとの通信とかがAndroid強いとか。 >>279
ないなら作ろう
具体的にどんなとこが難しいと思う?
私はエラーメッセージなどがわかりにくい 自分で広告会社と交渉契約すればおk
実際、ラブひな全巻はその方法で無料公開された。 ファイル1つ保存するだけでも難しすぎて死ねる
なんとかうまくいっても端末で認識しないし泣きたい
本の通りにやってるのに何故… Androidプログラミングは資料にでてない落とし穴すげーいっぱいあるよ
新規で始める人はしねると感じるだろね >>285
SDKと一緒にインストールされるサンプルを参考にしなさい DB使うのに便利なというか流行ってるOSSライブラリはなんですか? 質問失礼します。
UnityでAndroidアプリを制作しています。
ビルドしたAndroidアプリ(*.apk)をサーバーにアップして、Androidスマホでダウンロード、インストールという手順で行っています。
Androidのインストール先の指定のやり方が分からず困っています。
一般的なゲームはインストールすると、バックエリア(なんて呼んだら良いか分からない)のゲームカテゴリーの中に納まり、
フロントエリア(なんて呼んだら良いか分からない Androidのデスクトップ?)にアイコンが表示されます。
自分が作ったゲームはバックエリアに入りはしますが、ゲームカテゴリーの中には収まらず、フロントエリアにアイコンは表示されません。
どうやったら他のゲームのようにインストール先を指定する事ができるのでしょうか?
まだgooglestoreには登録できていない段階です。
分かる方、よろしくお願いします。 >>291
Realmとか
ただ、GoogleがRoomとかいうの投入してくるみたいだからそっちが主流になるかも? >>291
自分はOrma
今日Roomが発表されてサラッと見たけど生クエリがっつり書いてみたいな感じなんかな。
それだったらOrmaでいいかなあとか思いつつも痒いときはガッツリクエリ書けるRoomのほうがいいのかとも思っている。 >>293
インストールしたときにトップ画面にアイコン出るようにしたいってこと? トップ画面にアイコン作るのはPlayストアのアプリがやってる >>298
ありがとうございます!
お蔭さまで解決しました! defaultって日本人は標準という意味で使っているけれど、本当は『不履行」とか否定的な意味の単語だよ
de factoと間違えて使っている defaultを間違って「標準」という意味で使う、それが日本人のデフォ GoogleがKotlinをAndroidアプリ開発言語として正式採用
Javaしか書けないお前ら全員失業wざまあwww あー。これな。
[速報]「Kotlin」がAndroidの正式な開発言語に。開発元のJetBrainsとGoogleが「Kotlin財団」の設立も計画。Google I/O 2017 − Publickey
http://www.publickey1.jp/blog/17/kotlinandroidjetbrainsgooglegoogle_io_2017.html
でも誰も困らんだろう。じわじわ移行して行くだろうがJavaが使えなくなるわけじゃなし。 そもそも未だに言語の習得をコストに感じる奴いるん? Kotlin使ってるけどJava使えるなら使えるぞ、むしろJavaより簡単 Javaコードコピペでkotlinに変換されたとかされないとか
今更だけどfindViewByIdにキャスト要らなくなるとか テストコードをKotlinで書き始めるとアプリ本体に影響ない場所で書くことに慣れることができるぞ。
Kotlinプラグインがそれなりに自動変換してくれるぞ
findViewByIdはDataBinding使うようになったら全然使わなくなったからもうどうでもいい感あるな……。 >>306
エッセンスを学んでない君は言語が変わると死ぬんだろうねぇ これからはKotlin, MVVM, リアクティブプログラミングが基本だからな
普通の古臭いコードしか書けないお前ら全員失業wざまあwww >>313
標準になればいいねぇ
まあならないんだけどね このスレにはRUBYMOTION使っている人いないのか。 >>314
kotlinは知らんがMVVMとリアクティブが使えないのは論外 >ぼくはMVVMを使っててよくViewModel(MVVM)の情報をonSaveInstanceStateで保持して、
>onCreateで復元するってのをよくやるんですけど、これが不要になってきます。
え?
こいつMVVMでこんなんやってたの?なんのためのMVVMなんだかw ついにMicrosoft公式Xamarin入門書の日本語版が出るな
プログラミングXamarin 上 Xamarin.FormsとC#によるクロスプラットフォームモバイルアプリ開発
ttps://www.amazon.co.jp/dp/4822298868/ref=pd_sim_14_4?_encoding=UTF8&psc=1&refRID=XJ1RG2WMKG8Z78S5509J
これからはXamarinを使ったクロスプラットフォーム開発が基本だからな
Androidアプリしか作れないお前ら全員失業wざまあwww 稀にUchinoサーバーと通信できなくなるユーザーが居るんだけど
原因がわっかんねー >>323
アンドロイドってスリープからの復帰直後に通信しようとするとつながらなくない? >>321
Android Architecture Componentsと考え方は基本的に一緒だよ。
ViewModelとかPresenterは、AppContext内のオブジェクトとして作られるから(大概DIコンテナ経由で)、Activityのライフサイクルから分離される。
あとはObserverパターンの要領で、AcitivityはonCreate/onResumeでViewModelに自分を登録、onDestroy/onPauseで解除するようにするだけ。
ActivityがViewModelの状態を気にする必要はない。 >>325
プロセス死んでActivity再生性された時はどうすんの? あのー、すみません。
自分のPCのメモリーが4GBなのですがシミュレータ動かせないのでしょうか。。。 [ある時]前までは回転していたのにスマホを傾けても画面が固定されたままで途方に暮れてます
mainActivityだけでなく、ほかのActivityも同様です
エミュでも実機でも同じ症状
別のプロジェクトではちゃんと回転します
以下試したところ
・android:screenOrientationは設定していない
・エミュや実機で自動回転はオンになっている
・setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
などもしていない
・一応android:screenOrientationをsensorにしたら回転はします
しかし本来設定しなくても回転するわけで、気になります
他に原因はありますでしょうか
よろしくお願いします >>327
わざわざApplicationとActivityのプロセス分けてなんのメリットがあるんだ? >>329
もしかして他のアプリは全て閉じた状態でまずシミュレータだけ先に
立ち上げてしまえばよいということでしょうか?
Visual studioのHyper-Vで動かそうとしたらメモリーが足りない的なことを
言われてしまったのですが、みなさんの開発用マシーンは8GBくらいは
普通に積んでる感じなんでしょうか? >>332
8Gでもstudio同時だと厳しい
16Gは欲しい >>330
>エミュでも実機でも同じ症状
ソースコードがおかしい
イベントをキャッチしていないとか?
そのイベントに、ブレークポイントを貼って、1行ずつデバッグする activityを保持しない設定でアプリ起動して、
別activityに遷移するとonDestroyが呼ばれているのに、
遷移先からバックキーで戻るとhome画面に戻らずに
最初のactivityの画面が出るんですが、
そういうものなんでしょうか Activityのインスタンスが保持されないだけだそ。
Activityスタックさせたくないならそれ相応のフラグを立ててstartActivityしよう あるアクティビティAからフラグメントダイアログ(YES/NOのみ)を呼び出して、
YESを押した時に、アクティビティAを終了させたいです。
フラグメントダイアログは独立した他クラスです。
Aに静的変数を用意したり、YESのonClick内で色々試したのですが、うまくいきませんでした。
どのように実装させれば良いでしょうか?
可能な範囲で押して頂けたら幸いです。
A内部にダイアログを書くのは、長くなるため極力避けたいです… YES NOで選んで画面を閉じる(戻る)なんて
あらゆるアプリで見かけるし超初歩かと思っていたのですが、
これほど難解に入り組んでいるとは泣きそうです
これ以上難しい問題は無いと思います。
本を買ったり公式を読んだり、検索しまくっているのですが、
載っていなかったり非推奨になっていたり、事例が微妙に違ったりしてだめでした。
別に丸写ししたいのでなく勉強したいだけなのですが、それも載っていないという…
>>339
ありがとうございます。
実装方法がよくわからず難しいですね… >YES NOで選んで画面を閉じる(戻る)なんて
>あらゆるアプリで見かけるし、超初歩かと思っていたのですが
当たり前のことで、誰でも出来るだろ。
できない君は、チュートリアル・本などを読んでないから
UIスレッドと、それら以外のスレッドを、つまりコンテキスト・流れを、
君はどう考えているの?
異なる流れを同期・非同期処理して、データの整合性をどうやってとるの?
疎結合のパターン。
オブザーバー、発行・購読
中央管制塔ありのメディエイター
メッセージキュー >>340
最初からJavaに用意されてるのをわざわざ自作。。。(showDialogだったと思うが、ドキュメント探してみ)
でもまあ、そこまで大変でも無いと思うんだが。
大変だと思うなら設計がおかしいか、根性無しか。 こういった当たり前のUIがシロウトにも簡単に実装できないところが
androidたる所以だな >>345
んにゃ。
実装自体は至極簡単。
ボタン毎に違う値返せば良いだけで、受け取った側が値によって挙動を判断すれば良いだけ。
値は整数値でも良いし、独自に作りたいならenum型でも何でも好きにすれば良い。
要はダイアログと受け取る側で値を共通にすれば良いだけ。 俺がいうシロウトにも簡単にできるっていうのは
Dialog dlg = Dialog.createYesNo("終了しますか?",0,0,240,200);
if ( dlg.show() ) {
// yesの処理
}
このレベルのこと >>350
>>341
で十分だと思うけど
onAttach(Activity)は古いけど アプリの名前を<string name="app_name">ABC</string>で変更してタイトルバーの方も変更して
アイコンのとこの名前も新しいのに変わったのですが
設定のアプリの管理でアンインストールするところを見ると旧名称のままでした
いろんなファイルを調べてもう旧名称はどこも残ってないはずなのに
この旧名称はどこか別のキャッシュか端末側の何かに残ってるんでしょうか?
ユーザーのマイドキュメントあたりも見ましたが特に残ってないようなのですが
これはどこが原因で変わらないのでしょうか? AndroidManifest.xmlのapplicationのところを見よう
FragmentからActivity閉じるだけならgetActivity().finish()
ちょっと荒業かも >>349
それをライブラリが用意してるって言うんだろ。
上でもライブラリに用意されてるよって教えられてるだろ。 便所で尻を拭くのにウォシュレット使うのと紙だけで拭くのの違い
といえば分かるのかね プログラミング初心者です
AndroidStudioを使っています
linearLayout内を削除してxmlファイルのR.layout.activity_testを入れたいのですが
この文を自作クラス内でやるにはどうすればいいのでしょうか?
MainActivityのonCreate内では機能するのですが
自作クラス内だとlinearLayout.removeAllViews();については問題なかったのですがgetLayoutInflaterが赤くなってしまいます
よろしくお願いします
linearLayout.removeAllViews();
getLayoutInflater().inflate(R.layout.activity_test, linearLayout); >>357
プログラミング以前に日本語めちゃくちゃやな アドバイスしないで文句だけ言う人ってなんでスレ見てるんだろうな
わからないけどとにかくレスしたいのかね
>>357
contextでググれ >>361
おまえもまともなアドバイスしてるようには見えないけどw getLayoutInflater()がどのクラスにあるメソッドなのか調べてから出直してきなさい
とかの方が優しいかね? 戻り値を即座にもらうから、当然モーダルだよ
素人のダイアログ表示ならモーダルである程度ことたりる。
モードレスにしたいならsetListenerでリスナー用意するんだろう
わかりやすいこと、このうえない。 新しく出るエクスペリアのプレミアムは開発側で4kに切り替え出来るんだろうか
誰か買う予定の人がいたら検証してほしい >>368
アプリが対応してなかったら4kにならないってだけちゃうかな
4kでゲームってカクカクしそうだし
せいぜい写真眺めるぐらいか
モニタならまだしも、5インチで4kって
展示見てみたけど、HDと見分けつかなかったわ
まあ4k対応ってのを売り文句にできるぐらいかw >>367
それなら別Activityでいいじゃん >>372
移植を考えずアンドロイド固有のコード書きたいならそれでいいよ 5インチだとFullHDでも持て余すだろ。
GPUの処理能力もあるから、細かければいいってもんでもないし。 だって、androidスレで汎用性を語ることがいけないなって僕知らなかったもん DialogFragmentがめんどくさいわな。
コールバックを引数として直接渡すことができないから(Bundle)、
いちいち呼び出し元を判定(Activity/Fragment)しなきゃいけないし。 質問
横2列のリストをつくろうとしています。
(例:2chmate,Janestyleの板一覧)
LinerLayoutでListviewを横に2つ並べてみましたが、当然それだとサイドバーが同期せず、それぞれのリストが別々に動きます
Listviewを2列にできるオプションがあればいいのですが、そのようなものは見当たりません
検索しても複数列のリストに言及したものが見つからず困っています RecyclerViewでGridLayoutManager >>380
要素をペアで持って
1アイテムを左右に分割
クリックリスナーは個別につける >>381かGridViewを横2列で使えばいいな GridViewは時代遅れだからRecyclerViewを使おう activity遷移をするためだけにViewModelから一旦Viewに処理を戻してViewでactivity遷移させるのが面倒臭いんですが、
ViewModelの中でactivity遷移させるにはどうしたらいいんでしょうか
DIとか使ったらできるんでしょうか Context持っていいならcontext.startActivity() そうするとnew Intent()の第一引数にContextを指定することになると思うんですけど
そこはActivityじゃなくてもいいんでしょうか
この場合のContextっていうのは実態がactivityのContextなのか
getApplicationContext()で取得したContextなのかどっちなんでしょうか 何年かぶりにandroidの勉強でもしようかと思ったのですが、androidの開発って今でもjava一択ですか?
何年か前に少しかじったけど、javaがネックになってやめてしまった
c++か、せめてc#使えるようにならないかなー。 無理? これからも期待薄? >>390
androidstudio3からkotlinを選べる
kotlinはいい言語だよほんと >>391
kotlin調べてみたらオペレーターオーバーロード使えるじゃん! やった!
>>392
マジかよ!? 知らなかったorz C++で組めるは嘘ではないが正確でもないので無視でいいよ kotlin使えるけどosレベルで対応はしてないからjavaの仕様に足引っ張られてる感は否めない そもそもkotlin自体がJavaのバイトコード吐くだけだしな >>390
xamarin使ってC#で開発するがええよ 最近始めたんだが
VSよりAndroid Studioのが優秀だな
文字列補間機能や、コードからのxml要素への操作、自動importなど楽だわ
言語自体はC#のが優秀だけど
ただ、レイアウトやActivityの種類が無駄に多い気がする、もう少し絞れないのかなと思うが、まだ発展途上ということかな。
ある意味進化し続けているからそうなったとも言えるし
あ、それとeclipse時代のブログ全部破棄してほしいです。 >>398
本当に使ってる?
iPhone版も同時に作れて自分は本当に便利に使ってるわ
xamarinさまさま! Visual Studio for Macはgitでブランチを切り替えるとビルドに失敗して
IDEを立ち上げ直さないとビルドできなくなったり、ビルドできても
変更が反映されないままアプリが実行されたりするからな
Android Studioではそんなことはまずない
まともにビルドができないIDEとか頭おかしい VSはデバッグ機能が優秀だけどそれ以外はAndroid Studioの方がいいな
ただAndroid Studioはビルド時のCPU使用率をもう少し遠慮してほしい Xamarin は UI部分が Xamarin Forms で完結できないから、
Android SDK の Java API を C# へ頭の中で変換して書くことになる
Javaがネックになってるような人が使いこなせる代物ではない GridLayoutってAndroid4.0からですよね?
googleコンソールのリリース前プレビューで、
5.0.とかそれ以上の端末で、GridLayout(他XML)が表示されてない様子なんです。
自分の端末と同モデル(の英語版)まで含まれています。意味不明…
Inflaterでたくさん読み込んでるからダメなのか、
それとも何か設定値忘れてるんでしょうか?
手元のnexsusや中華端末では問題なく表示できてるんです。ここが一番の謎です。
一体なぜなのでしょう 例外吐いてるわけじゃないなら上げたapk間違ってるとかしか考えられないな
特に同じモデルでそうなってると android初心者です、2点質問があります。
1.privateなコントロールのfindViewByIDは、MainActivityの下が良いのでしょうか?
それとも、onCreate()の時に行うのがよろしいのでしょうか?
2.finalは付けた方が良いのでしょうか?無くても問題無いのでしょうか?
色々なサンプルコードを見ましたが、サイトによって書き方がバラバラなので混乱しています。
よろしくお願い致します。 class MainActivity : RxAppCompatActivity(){
override fun onCreat(){ 〜 }
}
Kotlin では、onCreat の中で、findViewByID を呼んでる findviewbyidは時代遅れ
data bindingを使え 僕はButterKnife派
>>389
どっちでもいいけど個人的にはActivityを開始するのならApplicationのContextを使うべきだと思ってる 各activityで日本かそれ以外のlocale別処理が必要になった場合って
boolean isJapanみたいにapplicationクラスでグローバル変数として保持する方がよい?
該当activityそれぞれで変数宣言しちゃってるんだけども DataBinding使える今になってButterKnife使う利点って何。 >>409
data bindingの方が良いのですね!
調べてみます。
ありがとうございました。 日本と海外のユーチューバーは収入の仕組みが違う?!どっちが儲かるか?
http://youtube-youtuber.com/360.html
日本の従来型のユーチューバーは、広告収入をメインの収入源としています
1.動画にのせる広告(動画広告+画像広告)からの報酬や
2.スポンサー収入(企業からの依頼を受けて商品を紹介)
海外のユーチューバーの傾向として、広告収入ではなく、自分のビジネスを
メインにすることによって広告収入を遥かに超える収入を叩き出しています。
例えば、beauty guru(美のカリスマ)と謳われる、ユーチューバーのミシェル・ファンは
広告収入は1800万得ていますが・・他方で美容化粧品会社Ipsyを立ち上げて、
年収1億ドル(約110億円)を売り上げました。
彼女は「メイクのチュートリアル動画」を投稿していますが、動画の中で自分の会社の商品を
使っているんです。
そしてその中で使った商品を、online shopで買える仕組みにしています。
他人の商品を紹介して、そこから「おこぼれ」を貰うより、自分の商品を売った方が
遥かに儲かりますからね。
リンジー・スターリングは踊りながら、バイオリンを演奏する、アーティストですが・・・
彼女の場合も、あくまでも動画を投稿するのは、自分のビジネスである、
ツアーチケットやアルバムの販売のためなのです。 Kotlinでは、Kotter Knife, Kotlin Android Extensions, Data Binding
それと、XMLを使わず、Builder みたいにソースコードでレイアウトを定義する、Anko 質問です
android sdk24
ViewPagerにSeekBarを数本配置してます
SeekBarはFragmentで入れててadapterでPagerにセットしてます
呼び出し元のactivityのonStartの後にSeekBarがinstans化されてるみたいで(FragmentManagerが呼ばれるタイミングが不明)
このSeekBarのイベントを取りたいのですが、Listenerをセットするタイミングが分かりません
詳しく人お願いしますー!! もしくはFragmentのonCreateViewでListenerをセットしてしまって、値が必要な時にゲッターで参照する
というのは問題ありますか? テーマによって設定するレイアウトが違うしButterKnifeのままだなあ Bluetoothについて質問があります。
http://qiita.com/HideMatsu/items/6a6758eca86500881126
このサイトを見本に繋ぐことが出来たので、接続したことを通知しようとしましたが、
_txvBLEが一つした実行されません。(1.だけ表示)
setText(1.)とsetTextColor(2.)を入れ替えたところ、色(2.)だけ変更されました。
この場合、何を確認すれば良いのでしょうか?
// 接続成功し、サービス取得
if (newState == BluetoothProfile.STATE_CONNECTED) {
bluetoothGatt = gatt;
discoverService();
_txvBLE.setText("CONNECTED"); // 1.これは適用される
_txvBLE.setTextColor(Color.GREEN); // 2.これは適用されない
} すいません、自己解決しました。
try〜catchを行ったところ「only the original thread〜」と表示されたので、
そもそもここに書くこと自体が間違いでした。 特定の端末にだけ出る不具合が報告されたんですが、
都内で数日スマホレンタルできる店舗型のお店ってありますか ContentProviderで取得した着信履歴・リダイアルの名前を
常に電話帳に登録された名前で取得したいのですが不可能なのでしょうか?
以下サイトのサンプルで着信履歴情報は取得できました。
ttps://techbooster.org/android/application/6736/
情報を取得後に電話帳の名前を変更しても、変更前の名前しか取得できません。
端末内蔵の着信履歴表示をしたり、端末を再起動すると変更後の名前が取得できますが
プログラムで更新処理などはできないのでしょうか? custom tabsを静的にxmlにレイアウト配置することは可能なんでしょうか Playストアの公開して4日目なんだけど
タイトルと全く同じじゃないと検索ヒットしない
例えば、「 あかしろ」ってタイトルだと
あかだけじゃ検索できない、赤でもだめ
他の同じようなタイトルのアプリはヒットするのに…
それとカテゴリにも表示されてない
時間たたないと無理なのか何かミスってるのか… 残念ながらそれが現実だ
ある程度DLが増えた後とか既に名のあるデベロッパーならまだしも、特にゲームアプリはまともに検索にすら引っかからない印象 もうgoogleさんお腹いっぱいなのね
始めるのが遅すぎた
ブログとか見ても個人で2016年以降から始めた記事ないし
みんな掲載ページにすら訪問されないまま消えてったのか >>428
俺はアプリ公開して2年ぐらいになるが
アプリ名に含まれる一般的な単語1語でランク十番台に並ぶようになるには1年かかったよ
サジェストされる一般単語2語の組合せでランクトップになったら、かなり人が来るようになった >>426
全文検索してるわけじゃなく形態素解析してんじゃないの
平仮名とかだと区切りわからなそ
あかシロにしてみるとか
知らんけど R.id.monster
このidの画像を半透明にしたいんだがどうやれば良いのでしょう? xmlで表示されている画像をタップされた回数に応じて徐々にしていきたいのです。
Android Studioで作っています。 >応じて徐々にしていきたいのです。
応じて徐々に透明化していきたいのです。 >>432
透明度=alpha
ってことはわかってる? すいません。
できました。
setAlphaにintが入っていました。
floatでないと駄目ですね。 BLEしかやったことないけど、
Bluetoothメモリって簡単に作れる?
Androidで撮った写真を片っ端から転送して保存できる
ワイヤレスデバイスを作りたい。
デバイス方面が作れるかって心配は無用。
純粋にAndroid側のプログラミングが難しくないかどうかという話。 受信側作れる人なら作法もわかってるから平気だろ
まあ泥側は作らなくてもBT送信できるアプリはある
片っ端から持ち主の許諾無しとかならセキュリティにかかるかもな ゲームでGCが発動しまくるから調べたらループ内のfor(int i=0;i<64;i++)が原因だった
これ駄目なのかよ 単なるfor文で…
誰もが可能性あるので怖いですね。
中の処理の問題?? intはプリミティブ型だしGC関係ない気がするけど 多重ループ内でfloatingbufferとか生成しまくってるとか? ゲーム自体ループさせて処理するわけで
その中でforで重い処理やったらそりゃ落ちるでしょって話なのでは? 落ちてはない
もう布団入ったからコードを出すのが面倒だ
とりあえず、for内のint宣言を消して、クラスのメンバとしてint iを定義したら数秒に1度という高頻度のGCは全くなくなった
この状況から考えて、60fpsで毎回呼び出してたfor内のintのたびにメモリが確保されてたとしか思えない >>448
intじゃなくてIntegerだったんじゃないの? ほえええ
ループカウンターってフィールドにした方がいいんですかね
自分もfor使いまくってるのでこわい はにゃーん
一時的なループカウンタがメンバー変数だと無駄だからループの外で
int i;
for(i=0;i<64;i++)
とやっとけばいい って60フレでゲーム回してる人がはまるかしら
あと布団の中でごろごろしながらコーディングだろ環境セッティングがなってない どっかでメモリリークしてて再起動で解放された的な?
知らんけど えー。int i がどこでメモリ確保されるかが違うだけで同じだと思うけどなあ。
何か別の問題があるのでは? 全体がわからないから何とも言えんが。 gcが動く原因になっているかは知らんが
javaは、変数をループ外に宣言したほうが速くなるっていうね
実際、自分では試したことないけど 両方のパターンでコンパイルして、中間コードを見れば? これだけ盛り上がってれば誰かが確かめてくれるだろうとみんな待ってて結局誰も確かめないオチ >>455
しかしforの直前かforの中かでは全く同じだと思うんだがなあ。
最適化がどのように掛かるかにもよるだろうが、しかし、最適化されたなら同じにならない方がおかしいと思えるぐらいに単純な話だよなこれ。 ローカル変数もループで再定義しまくると悪さするのかしらね
そういう気味悪いコード書かないから知らんけど >>457
100%そいつのコードの問題だから。
ソースも出さずに判断できるわけない。 for (int i = 0; i < 64; i++)
と
int i;
for (i = 0; i < 64; i++)
はコンパイルしたクラスを javap -c で見ても同じなんだがなあ。 メンバー化したiではなくループの中身が悪かったのか でもいじったのは前者か >>462
昔のjavaはローカル変数をスタックに詰まずヒープで確保してたから劇遅だった。
今は理想とか信念とかすべて捨ててるから。 >>466
てか、ただ当たり前の最適化がちょっと掛かってるだけではないか? スタックだとデータがでかいとインスタンス作るからボトルネックになるだろ。
だから、ケースバイケースでしょ。 スタックポインタずらして変数の領域として使う方がヒープ確保するより速いのでは?
まあしかしスタックにはプリミティブ型とクラスのインスタンスへの参照しか積まんだろうから
でかいデータが作られることはないだろうけどな。 アンスタ重い
便利だけど重いからなかなか立ち上げる気にならない そう言えば、今年は横浜でやる開発者イベントやらないのかな?
案内来た人いますか? スクロールビューをループさせてみようと思ったのですが、
これはどうやれば良いのでしょう? android studioは気に入ってるけど、
起動時にいきなり前回のプロジェクト立ち上げるのやめて欲しい
それで便利な時もあるけど困る時もある
せめて設定で選ばせて欲しい >>476
全部じゃないけどRealmが載せてるぞ
勉強になって良かった 知ってる。Room1とRoom2がまだ。
3週間くらい更新がない >>474
File > Settings > Appearance & Behavior > System Settings
Startup/Shutdown -----------------------
[ ] Reopen last project on startup
[ ] Confirm application exit 去年>>474と同じ疑問を書いたら、設定方法教えてもらった。
どこをどう設定するのか忘れたけど。 MVVM設計でのRecyclerViewにセットするadapterの扱いはどうしたらいいんでしょうか
ViewModelに持たせるべきなんでしょうか
setAdapterはどこでやるのが正しいんでしょうか 色んな意見あるから一言でどれが正しいとは言えんが、
俺的にはビューだな。
AndroidのアダプターはListViewやRecyclerViewに依存しまくってるし、
むしろListViewやRecyclerViewと一体として扱ってもいいくらいだし。
つか、逆にビューモデルには基本、プラットフォームに依存するような事(RecyclerViewのadapter)
を理想としては持たせるべきじゃない。
そうすりゃ、iOSやAndroid毎に変わるのはビューだけで、ビューモデル・モデルは
完全に使いまわせる。 ViewでAdapterを持つとして、
Adapterの中のListItemのデータを格納するListはAdapterの中で持っていいんでしょうか
MVVMじゃない普通のやり方だとAdapterの中でもって、
public int getItemCount() {
return mList.size();
}
とかしますよね
このmListだけはViewModelで持つべきなんでしょうか >MVVMじゃない普通のやり方だとAdapterの中でもって、
>public int getItemCount() {
> return mList.size();
>}
それは確かにAdapterの中でもってるけど、元のリストは他から与えたんじゃないの??
それとも何か、Adapterの中でリスト組み立てたりしてるの??
まぁ、その場合はAapterの中で持ってると言えるけど・・ まぁ、本題とはずれたとこ指摘したけど、
>のmListだけはViewModelで持つべきなんでしょうか
持つべきなんだけど、このレベルも分かってないようじゃ、MVVMなんか完全に
わかってなさそう・・ 分かってないすね。。むつかしいっす。
もうマッチョActivityで良いような気がしてきた。 mListはViewModelでもって、更新したらActivityに渡して
Activity内でsetAdapterする感じかな。 >>473
スクロールビューだと難しい
ListViewやRecyclerViewで良いならループするアダプター作ればいい ViewModelからViewにRxで通知を送るにはどう書いたらいいですか
ViewModelにObservableを作って、何かの処理を実行したら
ViewでSubscribeしてる部分のonNextが呼ばれると思っているんですが、
ネットで検索してもリスト操作とretrofitの通信処理ばかりが出てきて目的の実装に辿りつけないです いつ頃からか、HTTP通信を別スレッドにしないとエラーが出るようになったからマジで困る
通信中にユーザーに操作させたくないときとか、UIスレッドでHTTP通信してたのに、
別スレッドにしたらわざわざユーザーに操作させないようなコードを書かなければならなくなった エラー起きないようにもできるけど
固まると何もできないからいやだな 通信中にUIスレッド占拠してまで操作させたくないっていう状況がいまいち分からない
送受信中に動かなくなるブラウザとか嫌だな
送受信中のみ触れない部分が多少あってもいいが、それこそUIスレッド占拠せず非同期で対応して
一部だけ触れなくする処理を入れるべきだろう ファイルのアップロード中とか他の画面に遷移したら困るだろうが池沼
アップロードでエラーが発生したらどうするんだよ
ユーザーが遷移して別の内容読んでる最中にエラー表示すんの?
別の内容読んでる最中にまたアップロード画面に遷移すんの?
アップロード画面に戻したとしてユーザーが読んでた遷移先の内容はどうすんの?戻すの?
戻すとしてスクロールするような内容だった場合、スクロール位置はどうすんの?
読むだけならいいが、チェックボックスとか操作可能な内容だったらどうすんの?
わざわざ全保持してまた戻すの?
表示内容からスクロール位置から部品の状態までわざわざ保存して戻すとか手間かかりすぎだし、
ユーザー側から見てもこんなに不親切な挙動はありえない
実際に開発したことがあればこういう問題には必ず直面する
操作させたくない状況なんかいくらでもある
開発したこともなく脳内設計だけで完結してる雑魚は口を出すな 使う側からしたら時間の掛かる送受信ならストップさせられるボタンを出して欲しいところだ。 ストールしているかわからないuiじゃ、ux最悪だな。業務用かね? >表示内容からスクロール位置から部品の状態までわざわざ保存して戻すとか手間かかりすぎだし、
>ユーザー側から見てもこんなに不親切な挙動はありえない
ユーザー側から見たら君が書いた通りに全部の状態を保存して遷移後に再現するのが一番親切だろう
そしてその作業は大して頭を使う必要のない単純作業だ >>500
だらだら文句言ってる暇あったらモーダルダイアログでも出しとけよアホ >>500
実際に開発してるなら
通信中にUI操作されたら困る!せやUIスレッドで通信、ブロッキングして操作できないようにすればええんや!
なんてバカなことはおもわないww タッチ画面デバイス向けアプリってタッチしても無反応なのが最も避けるべき状態だからね いくらmodalやViewをdisabledにしたところで、Homeボタンもあるしな。
中断を考えない設計自体がありえない。
ユーザによる中断も通信エラーもやるべきことに大差ないから手間が増えるわけでもないし。 仕様決める奴が神様だぞ
どんなうんこ仕様にも従わないと金がもらえない 作業員「どんな糞仕様でも指示通りに何でも作って人月で料金貰います」
プロフェッショナル「指示内容を元に、提案料を頂いた上でお客様のビジネスに最適な実装を提案してから製作します」 >>510
指示通りになんでも作れるんやったらそれはもうプロフェッショナルやろ どんな糞仕様を提示されても「お客様が仰るのだから」と、文句1つ言わず受注するのって日本に古くからあるIT業界の典型例だね
客は金儲けのためにアプリ作ってほしいのにも関わらず、その目的を達成できない仕様が出てきたなら修正案を考えられるだけの能力がなくちゃ駄目
第一、客の糞仕様をそのまま間違いなく実装した結果、全く客の金儲けに寄与しなかったら「あのソフト開発会社は駄目だったな」と次から相手にされなくなるだけ
目先の利益しか見えていない 本場のプロは謝るのが仕事
一日中、結論の出ない会議して謝って終わる
そして不具合の嵐
これが本物よ。 元請けと交渉して仕様変えられる下請けグラマがいたら
それはもう色んな意味で最強だろ 単なる下請けで甘んじてる本人が悪いとしか言いようがない Unityを使わずにGearVR用アプリを作る方法ってありますか?
やりたいことは、GearVRの高精度ヘッドトラッキングセンサの値をWindowsPCに飛ばして、
それに応じて生成した映像をGearVR側スマホに飛ばして(H264)デコードするというものです。
Unityを使いたくない理由は色々ありますが、主に
・極力開発環境をインストールしたくない(ごちゃごちゃと色んなものをインストールされるのがイヤ)
・バージョンアップ対応とか面倒そう
・ライセンスとか面倒そう
といった理由です。
よろしくお願いします。 UIスレッドを占拠したら、Android側から文句いわれなかったっけ?
このアプリ動いていないよ的な すみません、教えてください。
電話の発信時に BroadcastReceiver 内で ACTION_NEW_OUTGOING_CALL を捕捉しようと
していますが、何らかのタイミングですり抜けてしまいます。
タイミングは、ブート後の初回起動時なのか、ビルド後の初回なのか、いずれにしても
初回時が多いような気がしますが、何度か試行しているとうまく動作し始めます。
コードは
---
<activity android:name=".MainActivity" android:excludeFromRecents="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".PhoneReceiver">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
<!-- <action android:name="android.intent.action.PHONE_STATE"/> -->
</intent-filter>
</receiver>
---
つづく つづき
---
public class PhoneReceiver extends BroadcastReceiver {
@Override
public void onReceive( Context context, Intent intent ) {
if( intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL) ) {
setResultData(null);
Toast.makeText( context , "ACTION_NEW_OUTGOING_CALL", Toast.LENGTH_SHORT).show();
}
}
}
public class MainActivity extends Activity {
@Override
public void onCreate( Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
setContentView( R.layout.main );
}
}
---
すみませんが、アドバイスをお願いします。 >>500
>ユーザーが遷移して別の内容読んでる最中にエラー表示すんの?
わかるようにアプリ名+エラー内容出せばいいんじゃない http://qiita.com/ushi3_jp/items/ba0df2df6b0b77278f14
上記URLの記事を参考に制作したRecyclerViewにクリックイベントを実装しようとしていますが、うまくいきません
省略
public void setOnItemClickListener(OnItemClickListener listener) {
mListener = listener;
}
@Override
public void onClick(View view) {
if (mRecycler == null) {
return;
}
if (mListener != null) {
int position = mRecycler.getChildAdapterPosition(view);
Item item = mList.get(position);
mListener.onItemClick(this, position, item);
}
}
省略
原因は、上記のsetOnItemClickListenerが使用されていないため、リスナーが取得されておらず、その下のif文に入れないと解釈しました。
問題は、setOnItemClickListenerをどこでどう呼び出せば良いのか、わからないことです。
手探りで既存のコードを繋ぎあわせている動作を確かめているレベルで見当違いのことを言っていたら申し訳ございません。
何卒宜しくお願い致します。 adapterを使って何かしたいところ(ex. そのItemに対応するデータを操作する)。
MVCとか考慮しなければ、まずはActivity/Fragmentになると思う。 プログラミングの前にググり方を学べよ
そんなのいくらでもサンプル出てくるだろ Developer consoleで登録したアプリを消して、
ページに表示されないようにしたいんですが可能ですか AndroidStudioのUpdateを実行してからDesignタブで表示されるアンドロイドの中身が真っ白になってしまいました
エミュレータではしっかりと表示されます
どうすればAndroidStudioでも以前のように表示できるようになるでしょうか?
http://i.imgur.com/1tTKn79.png
http://i.imgur.com/sCceK8z.png >>500
操作させないようにしても
電話かかってきたらどうすんの?
遷移するよね >>529
レンダリングするときのapiを下げるとかは?
targetより高くなってたり >>527 解決しました
app内の
implementation 'com.android.support:appcompat-v7:26.0.0-beta2'
が原因だったみたいです
よく見ればbetaと書いてありますし、不具合が起きてもおかしくないと思うのですが
そもそもbeta版のインストールを許可した覚えがないので気づきませんでした
勝手にbeta版がインストールされることなどあるのでしょうか? implementationとか君AS3.0とgradle3.0使ってない? compileSdkVersionが26になっていて、
プロジェクトのgradleやpluginのアップデートをstudioまかせでやってしまうと、
そっちも勝手に解決しちゃうとかかな?
gradleファイルを手で修正しているときは、警告されるだけだと。 アプリ作っていて、だんだん規模が大きくなってきてプログラムを把握しきれなくなってきた...
やっぱりクラス図とかのUMLを書かなくてはダメなのかな?
そもそも、どうやって設計をして、どんな図を書けば良いのかわからない....
今は趣味だから良いけど先々の事を考えるとしっかり学んでおきたい。
でも何を学べば良いのかすら分からない.....助けて UML の内、幾つかは描いておかないと、
設計段階での打ち合わせ・話し合いができない いわゆる業務における仕様書とUMLは違うものですか?
あるいはUMLは、仕様書の書きかたの一つなのでしょうか UML は、内部設計・プログラミング設計
たいてい、プログラマー募集の欄に、UML 必須って書いてある >>535
きちんとパッケージ分けなりして同時に把握が必要なクラス数を絞れてれば問題ない
がクラス間の関係を見るときにクラス図あると楽
その場合でもパッケージ図書くとわかりやすいが
OMTとか"開発手法"を学ぶと分析設計から見えてくるぞ
Androidだと複雑になるから普通のJavaのUI少ないプログラムで学んだ方がいいと思うけど >>538
UMLは図を共通化するための書式
代表的なものにクラス図やユースケース図がある
別に何に使おうが自由だよ
仕様書は独自の書式で書いてもいいが、
UMLだと図毎に矢印の意味とか決まってて説明を省ける
描画ツールもUMLの記号を用意してるから楽
業務で詳細設計書をクラス図といくつかの図で済ますことはよくある
が偉い人はペラ数枚だと納得せずにMSWordで紙束何cm以上を要求したりする AndroidアプリごときでUMLやら必要ない
MVVMを学べ >>541
クラス図描くためだけでも、共通化されているのか?
点線矢印は何に使う? プログラムを把握できなくなって来た時、
おれなら、ctagでタグジャンプできる様にして、
TagList, TagExploreでクラスリスト、メソッドリスト、interfaceリストを眺めるなぁ。 Code Readingを行うのに、UMLを書くってのは
ちょっと違うのでは? >>542
MVVMだってある程度の規模になるとModelは複雑化するんだから図式化するのは有効 皆レスありがとう
図式を用いずに設計する場合もあるの?
仮にUMLとか書く場合はどんなツールを使うの?
asthaとかで書いて見ようとしたけどあんま情報出て来なくってandroidの開発ではあまりポピュラーじゃないのかな... みんな意外と大業だな
俺は適当な画面遷移図とコードのコメントからAPIドキュメントを作るだけでUMLなんて書いてないわ UMLの棒人間、
どうしても、あれだけは受け入れ難い 5万行以下のスマホアプリなんか設計なんかいらない
なんのために設計するんだ
分かりやすくて変更しやすくてバグが出にくいソフトウェアを作るためだろ
いきなりクラス図とかシーケンス図とか作り出して完璧を目指しても挫折するだけ
まず小規模なのでいいからコードを書いて経験を積め >>543
クラス図だと依存かな
ツールによっては選択することで意味を表示してくれたりするから最初から暗記する必要もないよ
前半の質問は意味がわからない 簡単なAndroidアプリなんかはフレームワークべったりだから
作るとこだけクラス図書いてもあんま意味ないかも
フレームワークも含めて書くと複雑すぎ クラス図→後から自動生成
シーケンス図→コード一歩手前過ぎて書く時間がもったいない。
ユースケース図→必要。ビジネスの人でも読み書き簡単。 かっこつけんなって
どーせお前らソースコードが仕様書なんだろ? オープンソースでgithubにコード上げてる奴らとか設計書なんか書いてないだろ
あんなのはコードが書けないパワポマンのSEとかいう偽物のエンジニアがやることだぞ ソースより正確な仕様書なんてないわな
ドキュメントは他人に見せるもので個人開発なら必要ない
今回はプログラムが巨大で把握できなくなってきたから作るということらしいが、
パッケージ、クラス、メソッド、コメントが整理されていればなかなか起きないように思うぞ 一人で作ってるならまだしも仕事ならコード書く前に設計をレビューするために設計書は必要 >>557
全く持ってその通りです....
行き当たりばったりで変更しすぎた... >>559
設計書を書くよりもリファクタリングをしたらどうか?
行き当たりばったりで全然良いと思うが、それは後できれいに直す工程が必要だ
そしてそのタイミングは多分今だ >>553
客にユースケース図見せると機能と画面遷移書き込まれちゃうわ
クラス図は不足やバランス見るのに必要
この2つ以外の図は複雑なとことか必要に応じて描く そういやブラスカの服に聖強化ついてた
こいつ炎じゃないのか
あとカリバッツにも聖強化あるけどバッツには意味無し
何も強化付いてないよりいいけど、謎ではある 質問します。
自作アプリに、GooglePlayStoreへのアプリ評価誘導機能を実装しようと思っています。
できれば、過去に高評価をいただいた方には誘導画面を表示したくないのですが、そのような実装は可能でしょうか? >>564
どういう評価を付けたか知る方法が無いでしょ webviewに表示するhtmlのレイアウトをmedia queriesを使って個別のcssを読ませている
ブラウザ上でiframeを使った解像度別の振り分けはできている
一方で、android studioのエミュレーターだとうまくいかない
例えば、xhdpiの仮想端末を起動して
media="only screen and (min-resolution: 320dpi)"
と設定してあるhtmlをwebviewに読ませてもcssを読んでくれない
100dpiとかに下げると読んでくれる
エミュレーター上のWebviewは仮想端末ごとに設定された本来の解像度やdpiを基準にmedia queriesを読みに行くのではなく、
現在表示に使っているPCディスプレイに依拠した解像度やdpiを基準にcssを読みに行ってるとか? >>565 >>567
ご回答ありがとうございました。
既評価の有無やレート詳細を確認する方法は無さそうだということが分かり安心しました。
アプリ側で誘導画面からGooglePlayStoreへのリンクを踏んでいただいた方は、実際の評価の有無はともかく、評価をいただけたと判断し、以後、誘導画面は出さない実装にしようと思います ダイアログの下に、今後一切表示しないっていうチェックボックスをつけるといいかもね そういう気配りのできる人が作るアプリを見てみたいものだ ダイアログ出すライブラリあるけど
・評価する
・後でする
・評価しない
の3ボタンが出るな BLEの説明を読む時、NotifyとNotificationは同じ意味って考えていいのかな? MainActivity.javaで
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
Log.d ("MainActivity", "x=" + String.valueOf(event.values[0]) + "y=" + String.valueOf(event.values[1]) + "z=" + String.valueOf(event.values[2]));
}
ってメソッドで3軸加速度センサを値を所得して、(xの値だけ)これを画面表示に出したいけど、やり方がわからない。
なお3軸加速度センサの値はlogcat上では正常に所得できてる。
Activity_main.xmlに「textView2」の記述をしたのち、MainActivity.javaに
TextView text = (TextView)findViewById(R.id.textView2);
text.setText("あああ");
って書いたら「あああ」と画面に表示されたので、"あああ"を適切な表示にすればいいことは予想つくので
text.setText(event.values[0]); とか text.setText(SensorEvent.event.values[0]); とか20パターンくらい試したけど
ぜんぜんうまくいかない。
いったいどうすれば・・・ 自分で
String.valueOf
って書いとるやないかーい 何をどう試しても「Cannot resolve symbol 'event'」っていう警告を解消できず
他の方法で何とか実現しました。キャストはString.valueOf(値)でできました
Androidは
strign 変数;
変数 = (string)値;
でキャストとかできないんですね・・・ 内部クラスなり無名クラス内でfinalでない引数を参照してるパターン キャストとかできないんですかねってテストすればすぐわかるじゃん そもそもString#valueOfはキャストじゃねえし 作り途中のアプリの開発環境をWindows(SP4)からimacに移したんだけど(ソースファイルをコピーした)
実行しようとすると、
古いapkが残っているけど消すか?ってダイアログが出て、OKを押したあと
Unknown failure (at android.os.Binder.execTransact(Binder.java:565))
Error while Installing APKs
って感じのエラーが発生しちゃう。
開発環境移すときどこか設定とか書き換える必要がある?
エラーが出そうな気はしたんだけど....案の定ね... 端末側でアプリを消して、再度実行してもダメですかね それと関係あるか知らんが、アンインストールしたのにapplicationIdが衝突して使えなくなるバグ?はあった。
エミュなら作り直せばいいけど、実機だと初期化しない限り同じIDが使えないので、名前変えないとダメだったな。
最近のバージョンでも発生するかどうかは知らん。 >>585
https://m.imgur.com/vjXxR3Z.png
消してある部分はディレクトリ。
windows側で作成したであろうapkにアクセスしようとしてる public void onClickButton (View view) {
TextView textView = (TextView)findViewById(R.id.textView)
textView.setText("ボタンがタップされました")
}
っていうコードが「はじめてのAndroid」とかいう本に載ってるんだけど、これ
public void onClickButton (@View Aview) {
BTextView CtextView = (DTextView)findViewById(R.id.EtextView)
FtextView.setText("ボタンがタップされました")
}
@変数の型 A何なのか分からない。android.view.Viewのこと? Bクラス名でandroid.widget.TextViewのこと C変数名 Dキャスト後の変数の型
EID名 F変数名(Cで宣言したやつ)
という理解で良いの?
「I think that that that that that boy wrote is wrong.」
(あの少年が書いたあのThatは間違いだと思う)
に通じる分かりづらさで死にそうなんだけど…
Androidってこういう文化なの?? AndroidというよりJavaの文法かな
Aは引数の変数名で この場合引数には押されたViewが入ってる 使う言語の文法の基礎ぐらい分かってないと読めないでしょ
はじめての〜、っていう本なら必要な文法ぐらい説明あるんじゃないの?
自分はむしろ型名と同じ変数名の方が分かりやすいと思う
実際のアプリでは単なるviewじゃなくて○○viewみたいに頭に何か付くだろうけど このコードじゃ引数意味なくない?
view.findViewByIdか、view.setTextならわかるけど その本は良い本だが、帯や説明に書いてあるように入門書レベルのJavaを理解してる人が対象
お前は多分まだ対象ではない android studioのアプデ頻繁にあるけどゴミファイルとか出てないんかね?
勝手に消してくれるん? SwipeRefreshLayoutのrefreshingがnotifyPropertyChangedを使った場合はdataBindingが効くのに
BaseObservableのObservableBooleanを使った場合はうまくいかないんですがどうしたらいいですか OnPropertyChangedCallbackを指定していないからでは? >>592
何かのインタフェースなのだろう
使わないなら無視するのも自由
しかしインタフェースを勝手に変える自由はない
もう一個引数なし用意して引数ありから呼んでもいいぞ
ただこの説で教えたいことからは逸脱するのだろう
>>589
型とか言うなら6はJava的にはIDから自動生成された定数じゃないかな
もっと適切な変数名をつければわかりやすいと思うぞ
単に著者のセンスの問題 1画面に100個のTextEditがあって
すべてのTextEditが入力されたタイミングでアラートを表示したいんですが
どうしたらいいですか? すべてのTextEditを見て全部入力されたらアラート出せばいいやん Android はよく知らないけど、
普通は、数個以上のウィジェットに対する、イベントハンドラーは、
各ウィジェットに直接つけないで、
すべてのウィジェットをまとめる、1階層上・親のウィジェットに対して、付ける
<div>
<input>
<input>
</div>
各入力ウィジェットではなく、親のdiv に対して、付ける
イベント伝播, propagation により、
子孫から先祖方向へ、イベントが伝播されるので、
子孫のイベントも、先祖がキャッチできる
イベントを処理して、さらにその親へ、イベントを伝える必要が無ければ、
stopPropagation で、イベント伝播を止めれる
詳しくは、イベント伝播・イベントを参照 webはよく知らないけど
親のdivで子のtextchange拾えるの?
androidでやるなら適当にリスナーイベント作って
全部のedittextに突っ込んでやればいいかと 単純に各エディタの入力終了イベントをリスナーでキャッチして
文字が入っていたらカウントアップ、空欄になったらカウントダウン、
最後にカウンタが100になったらアラート表示ってするんじゃだめなの? >>589
Javaのコードだけ見ててもわからん。
public void onClickButton (@View Aview) {}は、
レイアウトの方で、andorid:onClick="onClickButton "と指定しているから。
そのViewをClickしたときにこのメソッドが呼ばれる(引数のviewは、そのインスタンス)。
もちろん、同じことをJavaのコードで明示的にやることもできる(View#setOnClickListener())。
どっちがいいかは好みによるけど、他人のソースではどっちも出てくるので覚えておく。 >>601
HTML, JavaScript のイベント伝播, propagation では、
子孫タグから先祖タグ方向へ、イベントが伝播される
子タグが百個もあれば、各タグにイベントハンドラーを付けると、
ハンドラーだけで百個も付ける事になり、メモリも無駄だし、速度も下がる
だから、親タグにハンドラーを付けると、1つで済む
アプリのウィジェットでも、同じ。
親ウィジェットにハンドラーを付ければ、1つで済む >>602
毎回100個見て回った方がよくね
そんなコストかかんないだろ 何こしらえてるか知らんけど100個必要なんだろまあ設計見直したほうがいい場合もあるか
ボタン100個並べて押したらエディット画面に遷移して戻ってきたら総チェックみたいなのが普通かもな 一画面に100個もあったら、使用者側が混乱して使いにくいものしかできないと思うんだが?
画面分けるとか設計考え直したら、チェック個数減りそうだが… 今日android studio アップデートしたら、ビルドエラー連発でどうしたら良いかわからない
グーグルで二時間調べたが解決せずに…
GPU#1とリソースが無いとか出て来るのですが解決策ありますか? 使ってるOS、Android Studioのバージョン、エラーメッセージ(要約せず)
を書かないと解決策の提案できないだろ macでeclipseのandroid開発環境を整えないといけないんですが、
sdk managerが起動しないんですがどうしたらいいですか >>614
エラーメッセージ要約しただろ日本語くらい読め eclipseとSDKが別々だった頃の設定解説してる所昔あったけど今もあるんかな
そういうの見てやるしかeclipse用のリポジトリが無くなってたらさらに難易度が跳ね上がる
地味にスキル高い人向けだよね コールバックメソッドを引数としてわたしたいんだけど
androidのjavaでどうやって書けばいいかわかりません
どなたか書き方教えてください
↓ちなみにこんなふうな感じにしたいです。よろしくお願いします。
class MyClass{
private onCreate(){
test(test2);
}
private test(callback a){
a();
}
private test2(){
Log.d("hello!"):
}
} javaでやるならlistener作るとかリフレクション使うとかしないといけない
kotlinならprivate fun test(a : ()->Unit)でできるけど コールバック用のインタフェースを定義すりゃOK。
interface Callback
{
void method();
} >>622
ありがとうございます
それをextendすればいいんでしょうか? まちがえた
×それをextendすればいいんでしょうか?
○それをimplements すればいいんでしょうか? >>615
少し前にMacのVisualStudio for MacでXamarinやるためにAndroid SDK環境整えようと
思ったらSDKマネージャが動かなくて、
しょうがないからAndroid StudioインストールしてAndroid SDK の更新したよ >>626
AndroidStudio使ってSDK更新して、Eclipseで使えるはずだよ?何も問題無いし、
実質的には今はそれしか方法が無い可能性もある >>624
そうだ。それをimplementsしてそのクラスのインスタンスを渡せばよい。 >>628
こんな感じであってますでしょうか?
class MyClass{
private onCreate(){
test(new MyCallback());
}
private test(callback a){
a.method();
}
}
class MyCallback implements Callback{
public method(){
Log.d("hello!"):
}
} ちなみにこれってinterfaceが必要な理由って何なんでしょうか?
単なるインナークラスだけじゃだめですか? Android Studio用とEclipse用でSDKは分けて保存したいんだ
共通で使うとどうも問題が起こると同僚が言っているもので。 >>630
インナークラスは、そのクラスだけで使うもの
interface は、様々なクラスで使える、共通処理 >>631
Android studioの設定を変えてEclipse用のAndroidSDKを更新して、
そのあと設定を戻せばいい Eclipseで作られてるアプリの保守をしないといけなくて、
新しいのも0から作り直してるので
Android Studio用に変換するのも微妙っていう mozcをAndroid Studio対応にしたい……どっかに転がってないかな?
自分には無理でした。 いや新規作成のはAndroid Studioです
移行するのもエラーを解決しないといけなくて >>637
日本語入力?普通にできてるな
>>638
春先入れた時macのリポジトリはSDK14以前が無かったけどそこらへんの問題かしら
今見たらSDK2までDL出来るから相当古いのもビルドできると桃割れ >>637
追記 最初の日本語入力onだけタスクバーのfcitxアイコンクリックね
(14.04のときはこんな儀式不要でエディタ上で直入力出来たけど仕様が変わったのかな picassoやglideってローカルの画像でも使えるでしょうか 横レス
>>622ってjava.lang.Runnable#run()じゃダメなの
もっとわかりやすい具体的な名前のがいいという以外の理由で TextViewをextendしたクラスを共通クラスとして作成のですが
そちらのクラスに対してActiviti側でクリックイベントを
オーバーライドしたいんですが
どういう書き方したらいいでしょうか?
TextViewをextendしたクラスというのは例えば以下のようなものを想定してます
http://qiita.com/tanase-t/items/3e99a0f11088c16abf1d Roomって使ってますか
ormaとか使うよりRoom使ったほうがいいすか すいません質問を修正させて頂きます
以下にあるAutoLinkTextViewクラスにsetOnClickListnerを設定するには
どうしたらいいでしょうか?
http://qiita.com/tanase-t/items/3e99a0f11088c16abf1d
目的としてはActivity側からOnClickの処理を変更出来るようにしたいです
どなたか教えてください 端末内の画像をすべて取得して表示したいんですが、
ContentProviderを使うより簡単な方法はありますか
storage access frameworkというのはこの用途で使えますか
サンプルを見ているとどうも指定したパスのものしか取得できないようなので storage access framework は画像を選択するUIまで提供されるので、
画像一覧を表示するという用途には使えないようですね。。 >>646
setOnClickListenerでぐぐったらトップに答え出てきたんだけど一体何がわからないの? 473非決定性名無しさん2017/08/03(木) 15:21:30.71
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。
446非決定性名無しさん2017/08/02(水) 22:12:48.95
JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む 完全に自分で案件獲得するのは不安がある。
今エージェント介して仕事とってきてるが、
法的な問題が発生したときにエージェントが間に入ってくれるんよ。
いざというときに自分より法的な知識のある専門職が間に入ってくれたり
相談に乗ってくれたりすることを考えると、
エージェント介するのもありだと思う。 http://d.hatena.ne.jp/sigwin/touch/20090606/1244317619
このブログのsubject.txtを取得するプログラムのwhile文のSystem.out.printlnの部分をListViewに置き換えたんですが
表示されません
何が原因なんでしょうか? 具体的にListViewにセットするコードとか書いてくれないとわかりそうにありません subject.txtと関係ない適当な文字列を追加してみて表示できるかどうかである程度絞れるかと すみません
ソースです
public class MainActivity extends Activity {
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listView = new ListView(this);
listView = (ListView)findViewById(R.id.listView);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
try{ URL u = new URL("http://tsushima.2ch.net/newsplus/subject.txt");
HttpURLConnection http = (HttpURLConnection)u.openConnection();
http.setRequestMethod("GET");
http.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(http.getInputStream()));
String line;
while((line = br.readLine()) != null){
adapter.add(line);
}
}catch (Exception e) {
e.printStackTrace();
}
listView.setAdapter(adapter);
}
} 慌ててましたw
>>656
この2chのurlは2009年のになってます
直すの忘れました...
現在のurlに直しても表示されません
while文と ページめくりのアニメーションを実装したいんですが、
何か定番のライブラリとかありますか catch文消して別の文字をadapter.addするとそれは表示されるんですが >>659
オリジナルのprintlnのコードはあなたの環境で動いたの? >>662
AIDEというアプリでやってるいるのですがJavaのところでオリジナルのコードを実行すればできたんですが... >>655
たぶんwhile文あたりだと思うんですけど
なんでできないのか分かりません >>664
adapter.add(line);
の後ろに
Log.d("MyApp", line);
を追加してみてちゃんとログでlineの中身が出てくる? いや起きてそうだしまずlogcatで確認するのがよろしいかと >>666
ログはlogcatで見るんですよね
あんまり見方分からないんですがlineという文字列はなかったと思います... >>671
そうlogcatで見る
当然ながらlineという文字列は表示されないと思うけど
なぜならlineはあくまであなたが定義したStringオブジェクトの名前だから...
知りたいのはlineの中に期待する文字列が入っているかどうかでしょ?
もし何も入っていないならそもそも文字列が取得できていないので
br.readLine()が期待する文字列を返していないことになる
一つずつ問題の切り分けをしていかないといつまでたってもデバッグは完了しないよ すいません。ページめくりのアニメーションを実装したいんですが、
何か定番のライブラリとかありますか AndroidってUIスレッドで通信できないんじゃ RxJavaのObservableを公開する例として、フィールドをpublicにして直接アクセスする例ばかりで、
ちょっと前までフィールドはgetter, setter経由でアクセスするものだと言われていたと思うんですが、
問題ないんでしょうか。 ページをめくる、アニメぐらいあるだろ
確か、jQuery UI にも、あったはず >>674
勘違いしてました
lineの中身でしたね...
LogCatにlineの中身はなかったです.. >>688
ならばどこまで正しく動いているのかを後ろから一つずつ潰していくのです
lineに文字列が入っていないということはreadLineから文字列が渡されていないということになる
>>653のソースをそのままコンパイルして実行してみたが文字列は正しく取れている
(もうずっと人大杉がのhtmlデータが得られるのはここでの問題とは別問題)
そして、>>656のソース中のtry{ }およびcatch{ }ブロックはコピペであるところを勘案すると、HttpURLConnectionクラスかURLクラスで意図通りの処理が行われていない可能性が高くなる
ソースコードが正しいとするとネットワークの問題が浮上するだろう
実機で動かしているのかシミュレータ上で動かしているのか不明だが、シミュレータ上で正しくネットワークに接続できているのか確認してみてはどうだろう >>689
Android端末でプログラミングしているのでアプリもその端末で動かしています
正しくネットワークが接続されていればネットに繋がって正しくネットワークに繋がってなければネットに繋がらないのでしょうか?
だとしたら今もその端末でネットできてるのでネットワークに問題ないと思いますが...
このスレの方のアドバイス通りに頑張ってみたいと思います >>690
だとするとこれが原因かな>>663
http://shirusu-ni-tarazu.hatenablog.jp/entry/2013/01/20/033030
とりあえずわかんなーい、って喚いてないで一つずつ潰してくんだよ
そうすればいつかは絞り込まれて原因が判明する
慣れてくれば当てずっぽうで予測してみて言っても当たる確率は上がってくるがそうじゃない時は地道にやる
デバッグの基本だよ
説教くさくてうぜぇと思ったならもう何も言いません Androidで可変長配列を使って、
任意の要素を追加したり削除する場合、
ArrayListが一番速くて使い易いのでしょうか? >>695
場合による
巨大なListに要素を追加する場合とか
データ構造のいい勉強になるからいろいろ試してみるといい
androidの貧弱な機器だとわかりやすいだろう >>692
別にうざいとは思っていませんよ
丁寧に説明してくれてるのでありがたいと思っています
教えてもらったとおりに頑張ってみますね スレッド作ってそれに処理させたら
文字化けしていますが取得できました
ありがとうございました >>698
よかったです
文字コードはすぐ解決できるでしょう
おつかれさまでした アンドロイドは暇そうなアプリを停止するとか、サービスも止まるんでしょうか?。 質問です
Google Play Developer Consoleで作ったアプリを非公開にしたいのですが
どうすればいいでしょうか?
いつからか知らないけどGoogle Play Developer Consoleって仕様変わりましたよね?
新しい仕様での非公開方法がわからないんですけど 自己解決しました
「ストアでの表示」の「価格と販売/配布地域」の中にありました 372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子が求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ
それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
473非決定性名無しさん2017/08/03(木) 15:21:30.71
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。 こんばんは。
ホームスクリーンで
1、アンドロイドはホームスクリーンも暇と見るや止めてしまうのでしょうか?。
2、全く動かないハンドメイドのホームスクリーンをデフォルトにしてしまった時、元に戻せるのでしょうか?。
セーフモードで起動して見たらいつもと同じなんで。 AS 2.3.3
PC AMD Phenom2X6 1055T, RAM16GB, win10 64bit
実機(zenfone3)を接続して動作確認
「はじめてのAndroidプログラミング」(初版)を参考にサンプルプログラミングをやってみた。
新規プロジェクト→Basic Activityで実行してみると、Hello Worldがきちんと画面中央に表示される。
しかし、新たにテキストボックスとかラジオボタンとかをいくつか貼り付けて(activity_mainのデザイン画面にD&D)実行すると、全てのパーツが左上に集中して表示される。
また、content_mainが生成されるときとされないときがある。
みたいな状況に遭遇しているのですが、一体どうなってるんでしょうか。 >>707
レイアウトは
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="Hello world"
tools:layout_editor_absoluteX="8dp"
tools:layout_editor_absoluteY="8dp" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
tools:layout_editor_absoluteX="128dp"
tools:layout_editor_absoluteY="230dp" />
です。 こんな感じの選択肢のあるアラートダイアログを作りたいんですが
http://www.migapro.com/wp-content/uploads/2015/01/dialog.png
ここにTitleだけじゃなくMessageを追加したいんですが
どのように実装すればいいでしょうか?
ダイアログのレイアウトとしては以下のような感じです
↓
Title
Message
選択肢1
選択肢2
選択肢3 >>712
ありがとうございます
ただ選択肢は縦がいいんですが
setViewでないとだめでしょうか? >>713
AlertDialogには横しかないから自力で実装してsetViewするしかなかったかと
今は分からんから違ったら訂正たのむ setMessageじゃダメなの
alertdialogにあったと思うけど checkboxのチェック欄のサイズ変更のやり方教えてください dialogはAlertDialogFragmentつかったほうがよさそう。
onCreatedViewでdialogにstringのArrayListつっこめばそれらが表示されるよ >>707
その本は Android Studio 2.0 を使って開発方法を解説しているので
学習が目的なら下記アーカイブから Android Studio 2.0 (April 7, 2016) を入手、インストールして
開始した方が結果的に早いよ。
https://developer.android.com/studio/archive.html
2.3 以降 ConstraintLayout が標準レイアウトになったので、その本の言う
「ボタンを layout_centerHorizontal="true" で画面中央に配置しましょう」
とかは 2.3 以降できなくなった。
Hello, world 段階なら ConstraintLayout は気にしなくていいと思うけど
Google は ConstraintLayout を以下で勧めてるように思う。変換機能もあるらしい。
https://developer.android.com/studio/write/layout-editor.html >>710 すみません、外側、って意味がわからないので、content_mainの中身を全部書きます。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="rasskal.myapplication.MainActivity"
tools:showIn="@layout/activity_main">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
*--------------------------------説明用に追加。元ソースにはなし
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
*--------------------------------説明用に追加。元ソースにはなし
app:layout_constraintHorizontal_bias="0.047"
app:layout_constraintVertical_bias="0.027" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintHorizontal_bias="0.049"
app:layout_constraintVertical_bias="0.971" />
</android.support.constraint.ConstraintLayout> >>710
つづき
で、説明用に追加、ではさんだ部分の記述をButton側にも記述すると、どうやら思い通りのレイアウトになるらしいことはわかりました。
であれば、自動的にこれを記述される(あるいはどこか一箇所に記述されれば自動的にプロパティが継承される)ようにしたいのですが、解説書にはそんな記述がありません。
zenfon3(android 7)の他、zenpad(android 6)機でも同じ症状だったので、機種やバージョンに関係ないかもしれません。
一応、該当するSDKは全てインストールしています。
こんな説明でよろしいでしょうか。 どなたか>>716お願いします
ググるとscaleX(Y)で小さくしているのが出てくるのですが
パディングを設定したように元々のサイズのなかに小さく、という風になってしまいます >>721
綺麗なやり方は知らないけどmarginを-に設定でいけるはず ヘイティーチャー始めて3日くらいでぺろぺろしながらやってます
チェックボックスやチェックボタンのオンオフで内容のオンオフに応じたトーストメッセージ出すよというサンプルがあったので
「そうだウィジェット両方とも同じ画面に乗せてオンオフを共通化しよう」と思ったんだけど、そのオンオフの状態って誰に覚えさせればいちばんいいんでしょう
onCreate:
2つのスイッチ揃える(OFFに)
チェックボックスが変化する:
2つのスイッチ揃える(変化先に)&トーストメッセージ出す
チェックボタンが変化する:
2つのスイッチ揃える(変化先に)&トーストメッセージ出す
可能ならだいたいこんなつくりにしたいです
なんかsavedInstanceStateっていうのに初期状態登録してオンオフ起こるたびに書き換えるってのでもいいですか? >>723
viewModelにobservableBoolean作ってdatabinding Android Studio 2.3を入れて、
http://s3wordpress.wpblog.jp/2016/05/18/android-studio-2-0-%E3%82%92%E6%97%A5%E6%9C%AC%E8%AA%9E%E5%8C%96%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/
で、日本語化したのはいいんだけど、なんか全部日本語化してないんだけど。
まあこれはこれで仕方ないとして、
ボタンをクリックしたときに何かダイアログを表示するという簡単なアプリを作ってみたいのだが、
http://androidstudio.hatenablog.com/entry/2014/07/24/114318
を参考にしてみたのだが、どこに何をすればよいのか具体的に書いてないので全然わからないのだが、
MicrosoftのVisual Studioみたいに、配置したボタンコントロールをダブルクリックしたらコード画面(OnClickイベント)に画面が変わらないから
なにどどうすれば良いのか全然わからない。
もしかしてボタンのクリックイベント自体も全部自分でタイピングしないといけないの?
もしそうだとしたらJavaって糞。
というかJavaって初心者に不親切すぎでしょ。 糞だからVisual StudioでXamarinやればいいよ >>724
丸1日使ったけどKotlinではDataBindingは動作しないという結論に至った
特定のバージョンでは過去にも動作したみたいなので覚えてはおくことにする 最新KotlinでもDataBinding普通に動くわ KotlinのkaptまわりはAndroidStudioの都合とかで動いたり動かなかったりするので初心者にはまだあんまり勧められない Android Studio 3.0っていつ出るんすか
Kotlin正式サポートしてJava8も使えるようになるんですよね Preview版あるじゃん
これでやればKotlinでdatabindingできるんじゃないの >>731
実はアノテーション関係だけ見ると報告上はできる可能性が高い
他の部分が動かん場合もあるしネット上の解説とも食い違うので「最近始めました」な人に積極的に勧めるものではないが
早く正式で出て欲しいわ AndroidStudio3.0でフルKotlin、ガッツリdatabindingしてるけど全く問題ないよ 安定してるバージョンのAndroid Studioなどというものは存在しないなんてオチとはいえ3.0の動作不明瞭っぷりは群を抜く
本体更新するたびに本当の意味で謎のエラーが出る…
回避回復する手段がぐぐっても公開されてないという点で初学者にはまったくおすすめできない…
1週間前の手法が全く通用せず毎回手探りだw なんで初学者がβ版使って右往左往してるんだ
安定版使ってなよ 初心者がKotlin使ってんなよ
普通にJavaでやってりゃ2.3でもdatabinding動くだろうがよ うまいパッケージ分けの方法がまとまっている本かサイトある?
githubに上がっているプロジェクトとか見ると、repositoryとかusecaseとかあって、
何をそこに格納すべきものなのかとかがいまいちよくわからない >repositoryとかusecaseとかあって、何をそこに格納すべきものなの
それはclean architectureだからしらんが何かのパターン使ってる場合でしょ。
他にもMVVMやらいろいろあるし。
まずは、君がどんなパターンでアプリで設計をするか決めなきゃいけないと思う。 初心者ですまんせんが、コントロールのプロパティ(ウィンドウ?)が表示されないんだけど、
どこから表示のON/OFFをさせられるの? IDEAやAndroidStudioのウィンドウ畳みは独特で、横方向(稀に縦)への巻き取りになってる
Linuxのデスクトップで「ウィンドウを巻き上げる」ってやったことないかい
ないか
xmlファイルを表示してデザインタブを指定した状態でその右端を首曲げて注目
Propatiesという縦書きが見えるはずなのでそこをぽちっと >>741
ありがとうございます。
activity_main.xmlタブの下にある "Design" タブをクリックしたら出てきました。
初心者だからかもしれませんがAndroidStudioって使いづらいですね。
クリックできる場所が多すぎませんか?それともこんなもんですかね。 jetbrains製のIDEにケチつけるとかお前向いてないよ IDEはできることが多いのが正義だから、みんなこんなもんだよ
jetbrainsのIDEはその中でも抜群に使いやすい方なんだ
これで辛い人がもし昔みたいにEclipseで開発したとしたら、あっという間にぶち切れてると思うよ 決して使いやすくはないのだが、表示させなければならない情報量と操作盤の関係でこうするしかないのだ
飛行機のコックピットのようなものだ
これでも実のところデザインとしてはかなりマシなほうである
過去概念との互換性無視したものすごいパラダイムシフトが起これば変わるとは思うのだけど、いつになるやら ボタンとメニューの半分くらいは半年たっても一度も触らない可能性が高い
そしてバージョンアップが来てそのうち半分の外見が変わる
Android Studio 3.0対応!とか黄色い字で書かれた差分くっつけただけの本がまた売れるのだ
いやまあ「画面齟齬のない」IDE解説はすごく貴重で重要だけどね、他意はないよ 直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は70万払ってる) 客:短期延長していい?
5次受けの50万(客は110万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ
長時間労働 高稼働 高スキル要求が多い
零細フリーランスサイトは5次受けから誰もできない難易度の高い仕事 余り物の仕事を紹介してくる。40万円代でやってくれと
これならJIETから3次でいったほうがいいな
446非決定性名無しさん2017/08/02(水) 22:12:48.95
JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした
473非決定性名無しさん2017/08/03(木) 15:21:30.71
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ
それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む すみません、文法の質問ではないのですが、
個人でアプリ公開されている方、よかったら教えてください。
google playで有料アプリを置く場合、
たとえ安価なものでも、住所が公開されてしまいますが、
個人だと、事務所兼住居という場合も多いかと思います。
公開されたからといって別に困る事はないのですが、
やはり昨今の治安を考えると、好ましく感じません。
これについて、皆さまどのように対応していますでしょうか?
やはりレンタルオフィスでも借りるべきですかね
あるいはもっと安上がりな方法などありますか? 番地書かない
「○丁目」に1軒しかないレベルのド田舎の場合は知らんw なるほど、区や市までしか書かないのはいいですね
BAN対象にならないか不安ですが…
しかしたかだか100〜200円のアプリで住所晒すのもどうかと思います >>751
金額の多寡が問題ではない
商取引には住所氏名の明示が本質的に必要
たとえ1円であっても他人様から金もらってる事業者としての自覚を持て
身バレが嫌なら自営相当ではなく雇われで働くことだ
で、まあ、郵便で封筒届くレベルであればなんでもいいと思うのでギリギリ削った住所でいいんじゃないの 番地を書かないって、同じ番地の人に迷惑とは思わんのかね 同じ番地じゃなかった、さらにその上の範囲に該当する大勢の人だな
たとえばマンションやアパートの部屋番号まで書かないとすると、
同じマンションやアパートの人に迷惑がかかるという意識がないのかな?ってこと。 なるほど〜
それもそうですね
では番地ケズるのは保留にするとして、
郵便局かどこかに私書箱持てばいいんですかね
それかやはりレンタルオフィスか >>754
手紙一発で済むというのに「実地で探偵ゴッコ」なんてするような輩に何を気遣う必要があるというのか
迷惑の苦情はそれを起こした主体へどうぞ バーチャルオフィスマジお勧め
月1000円ぐらいで住所くれる
探せばもっと安い所もあるかも知れん 金額ではない、という意見はもっともなんだけど、
いきなりストアに住所載るのは違和感ありますよね
一番の問題は、購入してない人までデフォで見えてしまう事ですね
購入者だけ見れるならまだ納得もいくけど。
世の中クレイジーなユーザー多いからなあ
まあそんな心配する前に私はアプリ完成させろって話ですね!
皆さまどうもです Japan Tokyoにしてるが何も言われたことない
日本人は馬鹿正直すぎるよね 無償配布であれば住所氏名を告知する特商法的義務はなくなる
あと「実際のカネの流れ鑑みるとGoogleが知ってればいいのでは」という考え方もあるようだ
気になるなら弁護士にでも相談するといい 有料で公開する勇気無い
自分がちゃんとしたもの作ってるとは思えないし >>753
住所で番地書かないってのは、ほんと困るんよねぇ。
法事のお返しを送ると、宅急便業者さんが、電話して来るんだよねぇ。 >>757
そんなん、あるのかぁ?と調べたら、5,000円/🈷だった。 MVVMでonClickイベントを受けるときに、データバインディングしてviewModel受け取ったんですが、
引数がonClick(View view)になっていて、viewModelでViewを意識するのは良くないのかなと思ったんですが、
気にしなくていいんでしょうか。こうすべきとかありますでしょうか。 スレチかもしれないけど失礼
自分でアンドロイドのアプリが作れればなと思ったんだけれども、センサーとかGPSとか面倒な機能は無視する前提だとしたら、
以下の条件で何をするのが一番習得簡単そうだと思います?
調べてみても情報多すぎて……
○ 自分のスキル
・普段はC#やRubyを愛用
・Pythonなど有名で便利そうな言語はつまみぐい
・JavaScriptはTypeScript経由したい
・Javaはすみません……どうしても身体が受け付けない
今回は無視していただけると助かります
○ 確認した代表的な手法
・Xamarin
素敵と思ったけどネイティブ部分を書く手間が激しそう?
・HTML+JS
制限が多すぎて微妙と言われた
・Kotlin
まだ発展途上? 情報が交錯する
結局ネイティブの部分を理解しなきゃろくなもの作れないというのならXamarinやKotlinで何かいいのがないか探してみるし、
そこまで微妙ではないというのならHTML+JSが手軽かと判断したのですが、
手軽でいいのならばもっと何か簡単なのがあるとか、ネイティブ部分に触れるのならこれがいいとか、
アドバイスいただけたら嬉しいのですが、いかがでしょうか? JavaやりたくないならUnityかSwiftでiOSじゃないの >>766
その通り、ViewModelからViewを参照すべきじゃない。というか、理想はViewModelからプラットフォームに依存する部分も
排除。そうすりゃ、ViewModel、Modelは再利用できてプラットフォーム毎にViewだけ切り替える。
つか、データバインィングでそもそもメソッドの引数合わせなくてもバインドできるんじゃねぇの?? 引数無しにしてみましたが、
Listener class android.view.View.OnClickListener with method onClick did not match signature of any method mainViewModel.onClick
とエラー表示されてできません。
レイアウトファイルでMainViewModelとMainActivityの両方をバインディングするようにして、
android:onClick="@{mainActivity.onClick}"
で一旦activityでイベントを受けて、activityの方から
public void onClick(View view) {
mMainViewModel.onClick()
}
で、mainViewModelのメソッドを呼ぶというのが正解なんでしょうか https://developer.android.com/topic/libraries/data-binding/index.html
Listener Bindingっての使えばいい。
君が使ってるのはMethod References ってやつでこの場合はメソッドのシグネチャが一致しなければいけない。 android:onClick="@{() -> viewModel.method()}"
ViewModelに引数なしのメソッド追加するとこんな感じか? android:onClick="@{() -> mainViewModel.command()}"
としてみましたが、
Cannot find the setter for attribute 'android:onClick' with parameter type lambda on android.widget.Button.
と表示されます。 >>768
iPhoneだといろいろ困るので……
昔はJavaということで諦めてたんですけれども、最近は代替品も多いから必ずしもJavaを利用する必要はないと聞いたのですが、苦しいですか? >>773
android:onClick="@{(view) -> viewModel.method()}"
こうか。viewパラメータはonClickのシグネチャに合わせなきゃいけないのか。で、それを無視する。 android:onClick="@{(view) -> viewModel.method()}"
こうか。ラムダ式のパラメータはonClickのシグネチャに合わせなきゃいけないので1つ指定(view)して
。で、それを無視する。 GPSから緯度経度の情報を得たい
https://akira-watson.com/android/gps.html
このページのプログラムをandroid 5.0の実機で動かしたいが動かない
調べてみるとonLocationChangedやonRequestPermissionsResultにとんでいないみたい
requestLocationUpdatesがうまくいってないのでしょうか >>767
お手軽簡単と言えばベーシックインタープリタ。 viewとviewModel以外が全てmodelだとネットの情報で見たんですが、
そうするとパッケージ分けというのは、
model
|- usecase
|- network
|- storage
|- repository
viewModel
view
|- activity
|- fragment
っていう感じでいいんでしょうか
あとオープンソースのプロジェクトを見ていると
パッケージ名の最後にsを付けているものと付けていないものを見掛けるんですが
どういう判断で付けたり付けなかったりすればいいんでしょうか おまえ>>737だろ。
返信もろくにしねぇで質問してんじゃねぇよ。
どうせ答えても無駄なのでスルー。 >>781
分からないならレスしないでください。うざいだけです。 複数形はtypoの原因になるから止めろ、って命名規則本に書いてあった >>778
権限許可になってる?
Log細かく出してどの行まで進んでいるか見てみ オンラインアプリで日本以外でのアプリ利用を完全にシャットアウトしたいんだけど、
端末のロケールだけだと不完全だし、現在繋いでいるネットワークの国種別なんてわかるかな? 当アプリは起動時使用地域認証を行います地域認証の表示が出たらGPSを入れてください
表示が消えて認証が終わったらGPSを切ってくださいもしくは勝手に切れるみたいな 俺もclean architectureとやらの質問したかったが、
空気読めない君のせいで質問し辛い空気になっててワロタ
しばらく時間置いてから来よう ストップウォッチで時間まで表示させたいのですが、質問があります。
Date dt = new Date(3000L);
CharSequence csTime = android.text.format.DateFormat("kk.mm.ss", dt); // HH:mm:ssでも同じ
_txvTime.setText(csTime);
と、やると表示が「09:00:03」と、時間が9になってしまいます。
これは最初から日本の標準時刻として9時間が足されているので、
9時間分引くだけで良いのでしょうか? そうするとJSTの設定のときしか正常動作しないねえ エミュだかの地域設定が日本じゃないとかいうオチじゃないよね >>789
タイムゾーンが GMT+00:00 になるようにしとけばいいのでは?
これは Android のクラス使わないでやる場合。
https://paiza.io/projects/iBgPWPL5veMqFevCKYpRZg
android.text.format.DateFormat() を使う場合は第二引数を Calendar にしちゃって
それのタイムゾーンを GMT+00:00 にしてしまえばいいのではないか? (試してないが) 回答待ちのスレ停滞を場の空気と勘違いした>788が真・空気読めない君 万国共通の表示方法1個だけなら、自分でフォーマットしてしまう方がてっとり早いと思うんだが。 retrofit2とかRxJavaとかretrolambdaとか入れたらリリースビルドでproguardのエラーが出るようになったんですが、
proguard-rules.proに何を記述したらいいかってどうやって調べたらいいんでしょうか >>795
使うライブラリのREADMEにだいたい書いてあるか、リポジトリのどこかに書いてあることがほとんど
無くてもググればすぐ出るぞ。 >>795
なるほどgithubのREADMEですね
ググってもなかなか出てこなくって レイアウトをいじっていたら、いつの間にかレイアウト「R.id.」の「R」が見つからなくなってしまいました。
参照を設定しているのはどこになりますでしょうか? すまん、クリーンビルドやキャッシュ無効とかを繰り返すのね GridViewをマウスオーバーすると
GridView上の指定の位置にImageViewを表示するような
GridViewの拡張クラスを実装したいのですが
どのように実装すればよろしいでしょうか?
ImageViewの表示は拡張クラスのソース上で指定出来るようにしたいです
どなたか分かる方いたら教えて頂けますでしょうか? 主にImageViewの表示方法が知りたいです
ヒントだけでも結構ですのでよろしくお願いします 画面に沢山のTextViewやButtonを配置し、出来るだけ均等にしたいのですが、
Gridlayoutだと横8個、縦6個が最大なのでしょうか?
またより細かく配置出来るレイアウトってありますか? スマン、自己解決した。
rowを多めに取ってたんだが、一番下のコントロールがrowSpanを増やしても大きくならないんで、
縦の数が足りなくて潰れたと思い込んでたんだ。
実際は他にコントロールが無いと、rowSpanを増やしても伸びてくれないんだな。 仕事でandroid studioを初めてやってるんですが、皆さんどう勉強しましたか?
おすすめのリンク集見るしかない? 気が向いたときにGoogle先生の力を借りて
最初は参照辿れる便利なエディタ扱いしてたくらい 通常使用する機能なんてビルド実行デバッグだけだし他の環境の経験あれば勘でなんとかなる
不具合あってもドンピシャの検索ワード思いつくスキルがあれば勉強なんぞいらんよ レスありがとうございます!
参考になりました
とりあえず仕事しながら覚えます githubにあるサンプルソースが
だいたい実行出来ないんですがどうやって実行したらいいんでしょうか?
環境はAndroid2.3.3です
実行出来ないものというのは
例えば以下のサンプルソースです
https://github.com/twitterdev/android-samples >>810
そのサンプルのたとえば twitter4j-sample-app だと、
app/build.gradle に minSdkVersion 11 となってるから、
API11=Android3.0以上の端末でないと実行できない
いまだと新しいコードはAPI11か14以上になってることが多いんじゃないかな
minSdkVersion を下げてビルドできるようにするのは初心者には無理だから
その端末で動かすのはあきらめろ >>811
そうですか・・・
check for updatesで最新に更新しても無理でしょうか? >>811
確認するとアンドロイド4だったので問題なさそうです まず実行できないの意味がわからない
何を行ってどうなったのかを事実ベースで書いてくれ >>814
すいません実行できないというかビルドが出来ない状態です
ソースコードをダウンロードして
AndroidStudioで開いただけだとビルドできないんでしょうか? 骨董品みたいな環境を窓から投げ捨てるほうが楽だと思うけどなぁ アプリをアンインストール→再インストールされた際に、
元のインストール情報を端末内に残しておくことってできるかな? >>818
一部のアプリがやってるみたいにストレージ直下にディレクトリ掘ってそこに色々保存しとくしかないと思う 通知をタップした時だけ特別なページ(ページB)を開いて、その後ハードウェアの戻るボタンを押すとメインページ(ページA)に戻るようにしたくて
通知生成の際に設定したintentがMainActivityのOnCreateで確認できた場合だけページBが開くようにしたんだけど
アプリキル後に通知タップ→戻るボタンでページB→ページA→アプリ終了、とした後にアプリ履歴のところから再起動させるとページBが開かれてしまう
履歴から起動されてもメインページであるページAが開いてほしいんだけどどうしたらいい? flag_secureな設定でもyoutubeとかで配信できてるのはなんでなんだろう
違う手段があるのか、抜け道があんのか >>821
フォアグランドに戻った時はonStartから始まるからそこでAから始まるように書いてみれば >>823
OnStartで通知用intentがある場合はページAを開くようにすると、通知タップで起動した時にBに行かずAが開かれてしまう 同じ通知は一度しか出ずタップしたら消えるようにしているので
とりあえずは直前にタップされた通知情報をファイルに記録し
通知以外から起動された場合にそのファイルをクリアして、
そのファイル内容に一致する場合のみ処理を分ける方針でいくことにする
もっとスマートな方法があるといいんだけど
アプリキル状態で通知から開いたアプリをバックキーで閉じて履歴から再起動すると
通知タップしたのと同じことになると考えていいのかな?
2chmateでも更新して新スレの通知やレス通知が来た際に、
アプリキル→通知からスレ開く→バックキー押してアプリ終了させる→履歴から開く
とすると通知で開いたスレ開くしそんなものなのかなと思えてきた 起動中アプリのpid取得ってlolipop以降からできないんでしょうか?
各アプリのCPU使用率を取得したいのですが… https://anharu.keiji.io/lesson1/step8/
上記のチュートリアルを見ながらAndroid Studioで開発の勉強をしているんですが、おかしなことになるので教えてください
・「Buttonの配置」のところでXmlファイルの記述を変更しようとすると強制的に「tools:layout_editor_absoluteX・Y」が付加されます
・そもそもXmlの一番初めが違う記述になっている
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.owner.myapplication.MainActivity">
これはなぜこんなことになるのでしょうか?解決策などを教えてください RxJavaとRetrofit2を使ったAPI通信の処理を書いているんですが、
最初にjsonのURLが10個書かれたAPIにアクセスして、
その後、その10個のURLアクセスを待って、結果を格納するという処理を書こうとしています
var network = Network()
network.fetchFirst()
.subscribeOn(Schedulers.io())
.flatMap { jsons ->
jsons.forEach { id ->
network.fetchSecond(id)
}
}
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object: SinleObserver<FinalData>) {
override fun onSubscribe(d: Disposable) { }
override fun onSuccess(t: FinalData) { }
override fun onError(e: Throwable) { }
})
こんな感じだと思うんですが、flatMapのところでエラーとなってしまいます。
どう修正したらいいでしょうか。
jsonsはURLを格納したList<String>です。 エラーを貼れ
あとKotilnつかえないならjavaで書け サーバー上にユーザーデータを保存したいと思っているんですが、
Realmというのはfirebaseと違ってサーバーは提供されていないんでしょうか ○次受けが多いほど退場率が早くなる。高くなる
直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は90万払ってる) 客:短期延長していい?
5次受けの50万(客は150万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ
長時間労働 高稼働 高スキル要求が多い
フリーランスサイトを運営している零細ITの自称エージェントは労働市場から流れてくる案件を転売してるだけだった。
労働市場に加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×3 = 言い値50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×1 悪質な言い値で50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - JIETに加入して公表価格で応募できる
eJobgo JIET JISA で検索
優良エージェント・優良サイト
首都圏IT(PE-BANK) プログラマーズ インストール直後のアプリは、状態がstoppedになっていると
思いますが、これを解除する指定やオプション等はありますでしょうか?
初回はアプリを起動すれば良いのは分かっていますが、何か方法が
あればご教授いただきたく、よろしくお願いします。 databindingを使ってるほぼ同じ機能のfragmentABC〜の共通機能を
BaseFragment的に継承させたいんだが、Bindingインスタンスどうすりゃいいんだ?
binding.hogeview.hoge〜みたいに書けないぞ。 Kotlinを使えば使うほど、Kotolinってええ言語やなと思う
サーバーサイドでも使われているようだし、この言語はやる価値があるね 文法が簡潔で同じことを実装するのに少ないコード量で記述できる
Null安全によってヌルポが劇的に減る
ラムダ関数が使える
Collection操作にfilterとかmapとかC#のLINQみたいな処理が使える
拡張関数で既存のクラスにメソッドを追加できる
コルーチンの仕組みが入ったら非同期処理を上から普通に順番に記述していける
などなどメリットばっかり
Android StudioにJavaのコードを張り付けるだけで自動でKotlinに変換してくれるので学習が容易なのもナイス
Kotlinやるしかないっしょ ついでにコールバックというか匿名クラスを簡潔に書けるからコールバック地獄のAndroidにはいいんじゃないかな >>845
IDEのサポートがKotlinの方が手厚い とにかく何かをバカにし続けないと生きていけない人種 >>845
javaからシームレスに使えないだろ。
それに、フリーの実装あったっけ? >>842
Kotlinて独自ハードウェア制御もちゃんと変換してくれるの? ネイティブコンパイラができればできるんじゃね?
でも面倒だからCでドライバ書いてOSに組み込んでからそこと通信した方がいいかもな。
Linuxなら/devとか/proc以下の特殊なファイル経由にしちゃうとかな。
すると普通のファイルアクセスで読み書きできるようになる。 全然違うだろ
Cに贅肉を付けてぶよぶよにしたのがC++ その点Objective-Cは身軽なCにオブジェクト指向を付加するポッドを装備しているイメージ iOSアプリもjava使わせて欲しい
勿論swiftよりもパフォーマンス落ちてもいいので つぅかなんでプログラミング言語がこんなウジャウジャあるんだ
数えきれんほどあるやん
2〜3個で良くない? >>856
Xamarin使えば?
C#だけどJavaわかってればすぐできるかと Uri uri = TvContract.buildChannelsUriForInput("com.example.android.sampletvinput/.rich.RichTvInputService");
String[] projection = {TvContract.Channels._ID, TvContract.Channels.COLUMN_DISPLAY_NUMBER};
Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
これを実行すると、
/data/data/com.android.providers.tv/databases/tv.db
をselect してくれると思っていますが、なぜ、この db ファイルがselectされるのでしょうか?
#この dbファイルを select してっていう指示はどこにあるのでしょうか? ちなみに、uri の中身は、これです。
content://android.media.tv/channel?input=com.example.android.sampletvinput%2F.rich.RichTvInputService&browsable_only=false アプリをストア申請したら、
アプリ名にある会社の商品名が含まれているためにリジェクトされたんですが、
「○○ for 商品名」というアプリ名だったら問題ないでしょうか Xamarinが、NativeScriptの様な方式だったら興味あったかな。 >>864
ダメ
なんで、そんなせこい方法取るの? 商標登録されてるものは不味そうだけど社会経験だから試してみればどんな法的処置喰らうか Youtubeアプリとかであるような項目毎の三点リーダーメニューってどうやるんだ 項目毎に︙画像セットしてonClickでメニュー呼び出す >>857
好きなの使えよ
ただしMSのは新しいのが出てきたらパクって互換性をなくして潰すのが目的だからやめた方がいい NASからbyte配列で受信した動画データをストリーミング再生しようと思っています。
とりあえず最初の段階として途中まで受信して、受信した分だけ再生するする様にしました。
File tf = File.createTempFile("TEMP",PATH.substring(PATH.lastIndexOf(".")),
TempFolder);
RandomAccessFile fileCash = new RandomAccessFile(tf,"rw");
fileCash.setLength(Size);
fileCash.seek(0);
fileCash.write(data);
MP.setDataSource(fileCash.getFD());
MP.setDisplay(holder);
MP.prepare();
MP.start();
しかしこれで再生した場合再生できる動画と再生できない動画があり、保存した一時ファイルを
他の動画アプリでチェックしてみると再生できない方は動画ファイルが壊れてしまっているようです。
byte配列で途中まで取得した動画データをストリーミング再生できるように保存するにはどうしたらいいでしょうか? >>872
それ、たぶん、ファイルディスクリプタを共有してるのが問題じゃねぇかな。
>MP.setDataSource(fileCash.getFD());
これで、一時ファイルに書き込んでる最中に、再生の読み込み側でファイルの読み書きの位置が変更されてデータが破壊されてるのかも??
だから、新しく再生用にファイルを開く。
MP.setDataSource(新しく開いた一時ファイルのファイルディスクリプタ); つか、本当に>>872のプログラムだけなら、ディスクリプタ共有してても問題ないけど、
一時ファイルに書き込む部分が再生ながらループして書き込むようになってた場合ね。 webviewで作ったブラウザにユーザースクリプトを読み込ませたいのですが難しいでしょうか? >>873
現在のコードは動画データの最初の数MBだけを読み込んだら>>872のコードを一度だけ走らせるというものなので
共有は確かに問題ないはずなのですが、一応MediaPlayerにわたすものは新規で開きなおしてみました。
しかしやはり再生できません。
念のためsetDataSource移行を無効化しwriteまでを実行して終わるようにしたのちに作成された一時ファイルを他のプレイヤーで
開いてみたところ再生できず、やはり一時ファイルを書き込んだ時点で壊れてしまっている(もしくは何かが不完全で足りていない?)ようです…
(逆に再生できる動画はやはり当然この段階の一時ファイルでも問題なく再生できます) >>876
まず、ファイルが壊れてるって、本当に壊れてるの??
元のファイルとバイト毎に比較した??
他の動画アプリは独自のコーデックとかもってたりするから、MediaPlayerと再生できる
ファイルが違う可能性あるよ。 >>877
検証に使った動画(AとBとします)をWEBスペース上に置いた状態(httpからURIを指定)での再生ではAB両方ともMediaPlayer機能及び動画アプリで再生できます。
スマホのストレージに保存した状態でもAとB両方ともMediaPlayer及び動画アプリでも再生できるので、アプリで再生できないコーデックであるということはないはずです。
しかしNASからバイト配列で受信してストリーミング再生しようと途中まで受信してRandomAccessFileを作成したときだけBのファイルがMediaPlayerで再生できなくなってしまう状態です。
この作成したAとBの一時ファイルを前述の動画アプリで再生しようとするとAは問題なく受信した部分まで再生できるのですが、やはりBは「このファイルは再生できない」といった類の
エラーが出て再生できません。
受信したバイト配列を元のファイルの物とも比較しましたが少なくとも受信した範囲までにおいて差異はありませんでした。 単純にストリーミング再生に対応してない形式だったとかは? >受信したバイト配列を元のファイルの物とも比較しましたが少なくとも受信した範囲までにおいて差異はありませんでした。
じゃ、壊れてるわけじゃないのね。
ということは後考えられるのは、フォーマットはmp4?だか知らんが、MediaPlayerで再生するに必要なデータが
受信したデータのもっと後ろにあって再生できないとかそれぐらいしか思いつかんな。 >受信したバイト配列を元のファイルの物とも比較しましたが少なくとも受信した範囲までにおいて差異はありませんでした。
じゃ、壊れてるわけじゃないのね。
ということは後考えられるのは、フォーマットはmp4?だか知らんが、MediaPlayerで再生するに必要なデータが
受信したデータのもっと後ろにあって再生できないとかそれぐらいしか思いつかんな。 パス・ファイルのアクセス権が無い。
パス・ファイル名に、英数字以外の文字が入っている。
ファイルのサイズが大きすぎる。
Aが再生中のままだから、同時には再生できない
もっと詳細なエラーメッセージが、取れないの? >>880
ありがとうございます。
>受信したデータのもっと後ろにあって再生できない
これがビンゴでした。
最初に動画の最後尾からある程度のバイトストリームを引っこ抜いてRandomAccessFile作成時に最後尾に書き込んだ後
Inputstreamを初期化してあらためて取得したデータを最初からそのRandomAccessFileへ書き込んだところ無事再生できました。 あとなんかメル欄のsageが消えててアゲてしまいました。 すみません。 MediaPlayerにURI渡せば勝手にストリーミングしてくれてたから気づかなかったけど自前でやろうとしたらそんなめんどくさいことしなあかんかったのか… >最初に動画の最後尾からある程度のバイトストリームを引っこ抜いてRandomAccessFile作成時に最後尾に書き込んだ後
>Inputstreamを初期化してあらためて取得したデータを最初からそのRandomAccessFileへ書き込んだところ無事再生できました
でもそれじゃ根本的な解決にはならんよね。動画ファイルによっても、最後尾じゃなくて中間あたりのデータが必要になっちゃったりとか。
まぁ、具体的に何をしたいのかわからんが。 >>887
中間に必須データを置く動画フォーマットは無いんじゃないかなあ…
動画って基本サイズバラバラだしどこにあるかわからんデータでは面倒なだけだし大抵は先頭か尻ではないかと。
まあ世の中には無数のフォーマットあるから断定はできないけども >必須データ
その必須部分の定義が問題なんだよな。パーサーによっても変わったりするからな。パーサーがエラーで落としてるのもどこで落としてるのか
すべて実装次第だし。 つか、>>872をしっかり読むと
>動画データをストリーミング再生で
カスタムストリーミング再生アプリ作りたいならその方法じゃ行き詰って無理だと思う。
API Level 23の
MediaPlayerのsetDataSource (MediaDataSource dataSource)
を使って、カスタムMediaDataSourceを実装するしか方法ないような気がする。 modelのあるプロパティの変更を、viewModelが中継して、
databindingでviewに反映させたいんですが、
単に中継するためのObservableFieldはviewModelにどう書いたらいいんでしょうか 単にmodelにObservableFieldを持たせてそれをviewModelで参照するだけでできました sw600dp〜はタブレット用レイアウト、みたいなのって
マルチウインドウ使うと破綻しねぇ? 数年ぶりにAndroidアプリ作ろう思ってAndroidStudio2.3.3入れたんだけど
ProjectウィザードにC/C++supportチェックボックスとかあるけど
これEclipsの頃のめんどくさいcmakeとかやらんでええの? API通信で可変個数のIDの入ったlistを取得して、
その後、そのIDを引数にとる別のAPI通信をIDの個数分実行(それぞれ非同期)して、
全てのIDの分API通信が完了したら次の処理を実行する、
としたいんですが、RxJavaでどう書いたらいいでしょうか 現在稼働中のプロセス一覧ってもう瞬間できないですか? Android Studio 2.3.3ってリソースから dimens.xml なくなっちゃったの? AutoBackupについて質問です。
自作アプリのバックアップがAutoBackupにバックアップされません。
それ以前に、GoogleDriveのバックアップアプリデータを見ると、Google純正アプリしかバックアップされていないように見えます。
何か原因として思いつく方いますか?
なお、OreoのPixelです。 >>890
でもAPI23以前でも問題なくSAMBAサーバーからのストリーミング再生可能にしてるアプリあるから
MediaDataSource使わない方法でも行けると思う…
というか互換性考えたら一番確実なのは自前でバイトストリームを操作するしかないんじゃないかなぁ… >>890だけど、
>>903
MediaPlayerのAPIを見る限り、MediaDataSourceを使わずにMediaPlayerだけをいじくって実現するのは無理だと思う。
質問者が初心者ぽくて書かなかったけど、API23以前でやりたければ、
内部で自前のHTTPサーバーを立てて、SAMBAサーバーから受信したデータをトランスコードして
MediaPlayerが再生できるHTTPストリーミングに変換してMediaPlayerに渡すぐらいしか方法はないような気がする。
とクソめんどくさい。
MediaDataSource使えば、5分で実装できると思う。 一つの画面にlistになっている部分とlistじゃない部分を混在させて表示したいんですが、
その場合にどうレイアウトするのが正しいでしょうか
recyclerViewを使ってviewTypeで分けて作るでできそうですが、
複雑になりそうなので。
NestedScrollviewでは画面外のviewはrecycleされないでしょうか >>905
やりたい事の説明がそれで十分だと本気で思ってるなら
javaの勉強より日本語勉強した方がいいと思う
何をしたいのか全然わからん >>906
ListViewってあるじゃないですか、同じ項目のセルが複数個並ぶやつ。
画面の要素がListViewのみであれば、
<ListView/>
で配置すれば終わりなんですが、ListView以外のViewも同時に表示して、
スクロール領域は画面全体にしたいみたいな場合に、
<ScrollView>
<TextView/>
<ListView/>
<TextView/>
</ScrollView>
ってなると思うんですけど、ScrollViewの中にListViewを入れていいのかよく分からないのと、
TextViewが画面外に行った場合に、ListViewの項目が画面外に行った場合と同じように、
TextViewを確保していたメモリ領域を解放してくれないように思うんです。
それで、全体をRecyclerViewを使って、adapterの中で、
override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): RecyclerView.ViewHolder? {
}
のviewTypeで、TextViewの部分とListViewの中身の部分とTextViewの部分で3つのviewTypeで分けて
配置すればスクロールしたときに、TextViewの部分の領域も解放されてよさそうなんですが、
この方法だとadapterが複雑になって分かりづらいので、もっと良い方法はないかなと。 TextViewと言っていますが、実際はImageViewとかその他複数のviewがセットになったviewです ListViewとかは項目をたくさん表示するからリサイクルしようってことで、ListView以外の部分は
実際はImageViewとかその他複数viewがセットになったのかもしれんが
どうせ上と下の2個でメモリ気にするほどすごいことになってるの?? 画像を使っているので、画面外に行った場合は解放した方が良いように思います
それと、現状は上下2個ですがさらに項目は増える可能性があり、
ListView部分がなくても画面に入りきらなくてスクロールさせないといけないような感じです。 Nexus5xがOSV終了
Pixel2日本発売予定なし
リファレンス機消滅のお知らせ
グーグル日本軽視しすぎで草 技適取ってなくても通信しなきゃ違法じゃないんでしょ MVVM設計だと、
ActivityとそのViewModel
Activityの中のFragmentとそのViewModel
Activityの中のFragmentの中のRecyclerViewのadapterの中のViewModel
ってなって、ActivityのViewModelでonClickを受けた後に、
Activityの中のFragmentの中のRecyclerViewのadapterの中のViewModelのプロパティを
いじりたいみたいなときに凄くアクセスがしづらくて設計が間違ってるような気がしてくるんですが、
こういうものなんでしょうか 簡単なゲームを作っているんですが
ジャイロセンサーとと自キャラの動きを同期させるやり方がわかりません・・ >>913
Fragment使ってるなら、ActivityはただFragmentをホストするだけでActivityのViewModelは
いちいち作らんけどな俺は。 ジャイロセンサーとの同期が何を指しているのかいまいち分からないが
onSensorChangedで得た値をキャラクターの更新時に反映させるだけじゃね そもそもActivityからFragmentManager経由でfragmentを取り出して
is で型をみてダウンキャストして直接ActivityからFragmentのメソッドを呼び出すのって
普通にやっていいことなんでしょうか android端末上で(adb shellを起動した状態で)システムコールを使いたいのですが、時間精度が良い方法はありますか?
シェルスクリプトをpushして動かしたり、NDKのCでsystem()やpopen()は試しましたがいまいちでした 時間精度というかオーバーヘッドが一番小さい方法探してます Retrofit2とRxJavaでAPI通信してます
Singleの場合でもdisposeすべきでしょうか 場合によるでしょう。
subscribeでviewにAPIから返ってきたデータ反映させたりしてるなら、onPauseとかでdisposeしないと発火して落ちるでしょ。 >>918-919
システムコールをlibc経由で呼び出すC言語のプログラムを書いて、
NDKのCでコンパイルして実行ファイルを作って、adbでpushして実行すればいいだろう データバインディングでViewModelのプロパティを書き換えてるだけなら問題なし? >>922
これが確実なんだが動作確認できるまで環境整えるのがすんげーめんどくさいな
あとCPU毎にモジュール必要だし >>924
すごい簡単よ?こんな五行のAndroid.mk用意して、
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello
LOCAL_SRC_FILES := src/hello.c
include $(BUILD_EXECUTABLE)
全アーキテクチャ作るならApplication.mkファイルをこの一行書いて
APP_ABI := all
あとhello.c用意して各ファイルを適当に配置してndk-build叩くだけ プログラム的に時計合わす方法ってある?
ntpdateを呼び出すのと同じ結果を得たい
今は、ネットが有効になったらOSが(?)勝手に時計合わせてくれるのを待ってる
これだとタイミングが分からなくて困ってる
長いときで二分くらい待たされる 過去にウェブサイト上のアドセンス広告の不正利用(恐らくウェブサイト検証中に行った広告クリック操作でBAN)でアドセンスアカウントが停止されています。
Googleplayのデベロッパー登録をこれから行おうと思うのですが、ユーザ課金(DL課金、ゲーム内課金、ゲーム内広告出稿料)などが停止された状態でスタートとなるのでしょうか? getExternalFilesDir(null) で 外部ストレージパス取得して作成したファイルですが
実機では見えるのに、
エミュレータで実行して
Android Studio の Tools > Android > Android Device Monitor の File Explore から
見れないのはなんで? うちも同じトラブルくらったな
独り言だが "gglは外部ストレージという概念を消したい"のかもね
API16のエミュなら辛うじて古いフォルダ構成で拾える それ以降のエミュだとフォルダ構成が
変わっているけどファイルは拾えるチマチマ探してちゃぶだい >>929、そうなんですか、ググってもよくわからんでした。 >>928
メディアストアにスキャンされてないと表示されないんじゃなかった? >>931、メディアストアですか? 自分Androidプログラミング経験1週間なんでわからんです(汗;
AVDでAPI Level変えながら試したら、どれも/storage/sdcard/Android/data/パッケージ名/files/を返し、
API Level 22、23は見えましたが、25、26はダメでした。
23以降は、/storage/にxxxx-xxxx(何かの16進数?)というディレクトリもあり、
そちらにも Android/data/パッケージ名/files/というディレクトリができてましたがファイル実体はないです。 4.4以降のOSだとSD廃止で外部ストレージ使う意味がないんじゃない
外部ストレージなんて名前だけで古いアプリの互換性のためにあると
俺は思ってる >>933、そうです、便宜上、外部ストレージと呼ばれているだけで、実機は殆どオンボードNANDです。
自分は以下のページみて外部ストレージを選択しましたです。
開発 / トレーニング / ファイルを保存する / 内部または外部ストレージを選択する
ttps://developer.android.com/training/basics/data-storage/files.html?hl=ja#InternalVsExternalStorage
> アクセス制限を必要としないファイルや、
> 他のアプリと共有したり、ユーザーが
> コンピュータ経由でアクセスできるように
> したりするファイルの場合、外部ストレージが最適です。 あれアクセス権で別れてんだ講釈たれたのに教わってちゃ面目ねーなw androidアプリってソースを解析されたりすることってありますか?
暗号化キーをソースに直書きなんだけど危険? そりゃ、ありまくりだわ。俺と似たようなソフト作ってるアプリの逆コンパイルしたりしてるわ。
まぁ、大半は難読化されてるけど。たまに難読化されてないのあったりした。 暗号化キーってどうやって管理してますか?
あと難読化ってどうやるの? androidのパッチってどうすんの
今でも4.4のパッチは提供されているというがgoogleは自分で出さないことで有名だし
そうこうしてるうちにどんどん危険な状態になっていくしで FrameLayoutの直接の子として2つのLinerLayoutを置いて
そのそれぞれに幾つかのビューがある状態なんですけど
手前に表示してあるLinerlLayoutを無視して後ろにあるLinerLayoutだけタッチやフリックに反応するようにしたいんですけど
どうやったら手前のLinerLayoutを完全に無視するように設定できるのでしょうか Xamarinを4.7.10.22にアップデートしたら、エミュレータのリストが表示しなくなったんだけど
こういう仕様になったのですか?
以前は4.2.2.11を使ってたのですが、その時はエミュレータマネージャーに登録しているものが表示
していました。 ザマリン使いはここで見たこと無いなステマしてるザマ厨はいたけどな C#を多少使えるからXamarinに手を出したけど敷居が高そうですね。
無理そうなので、Javaに戻ります。 むしろ、なにか薬局で売ってそうなイメージ
風邪にはザマリン!みたいな ImageViewの画像を丸型にくり抜きたいんですがどうしたらいいですか? ImageViewからBitmapを取得して加工すればいいんじゃね Rounded ImageViewでぐぐれば誰か既にそういうビューつくってんじゃん。 質問です
ViewPagerでフリックしたときに
子ViewにonTouchEvent()が送られないようにするにはどうしたらいい? kotlin + proguardだとクラッシュログがjavaになるんだけど、kotlinに戻す方法とかある? NDK の c でグローバル変数って使っていいの? LoadするMainActivityが生存している間であれば永続性は保証されてるの?
/* native-lib.c */
#include <jni.h>
static int gvalue = 0;
void Java_com_test_MainActivity_setValue( JNIEnv* env, jobject thiz, jint value ) {
gvalue = value;
}
jint Java_com_test_MainActivity_getValue( JNIEnv* env, jobject thiz ) {
return gvalue;
} >>955
それ static の変数だからグローバル変数じゃないよ。その変数を直接名指しで使えるのはそのファイル内の関数だけ。他のファイルにある関数からはポインタを渡さない限りアクセスできない。
で、static変数ならリンク時にはその他のオブジェクトとは無関係なのでリンクする相手がJavaに関係してようがしてまいが大丈夫だ。
ただ、Java の場合マルチスレッドなのでその点に注意した方が良いと思う。つまり複数のスレッドが同時にほぼ同じ箇所を実行する可能性があるということだ。
その時にvolatileになっていない変数は最適化の対象になって値がおかしくなる可能性がある。(レジスタに保持している最中に他のスレッドが書き換える等)。 androidのリファレンス英語で困ってる
本でも買いたいのだが、2014年のやつしか見つからん
もう少し最近のリファレンス本ありませんか?
それに近いものでも構いません
参考書は沢山売ってるので、あくまでリファレンス的なやつが欲しいです TextViewの装飾ついて質問です (Android5.0↑)
SpannableString spannable = new SpannableString( "1234567890" );
spannable.setSpan( hoge, 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE );
spannable.setSpan( hoge, 4, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE );
テストとして二箇所にsetSpanをしてみたのですが
複数の場合に最後のsetSpanのみ装飾されて前方の装飾が元に戻ってしまいます
これはどのような原因で解決する為にどんな処理が必要でしょうか?
よろしくお願い致します >>956さん、レスサンキューです。 変数、そうでしたわ、自分でstaticつけてましたわ、モジュール内スタティック変数です。
ところで、この場合、native-libにマルチスレッド等の再入ってありうるんですかね?
native-libは自アプリのapkにパッケージされているので他のアプリから呼ばれることはない?
また、自アプリは複数同時起動することはない? 自アプリからもnative-libを多重ロードしない、と仮定できればいいんですけど、
CMakeLists.txtの、add_library( native-lib SHARED src/main/c/native-lib.c ) の"SHARED"が気になります。。。 例えばその関数をUIスレッドとワーカスレッドの両方から呼べば関数は同時に呼ばれることになる
ネイティブライブラリはプロセスで動くVMにロードされて、変数の領域はプロセス単位に用意される
アプリとプロセスの対応はこれを見る https://developer.android.com/guide/components/processes-and-threads.html?hl=ja
add_libraryのSHAREDは動的にリンクできるライブラリって意味と考えてしまっていい >>961、有益な情報サンキューです。
モジュール内static変数を使ったnativeライブラリは"スレッドセーフではない"
ということを注意して使えば大丈夫そうですね
なので、特定のスレッドから使う、複数のスレッド(UIスレッド、
バックグラウンドスレッド、ワーカースレッド等)から使わない、でいきます
さらに、"バインドされたサービス"と"コンテンツプロバイダ"は複数のスレッドから
呼び出されることがあるので、それらの実装にも使えない、と理解しました。 glideのバックエンドOkHttpにするとどういうメリットがあるの? 初心者です
単語カードを作りたいと思っています
正解したら左に、間違ったら右にスワイプして記録したいのですがviewpagerを使えばいいのでしょうか?
まだスワイプに関する機能を使ったことがないので何を利用すればいいかわかりません >>964
それでいいと思うよ
次の問題(?)にいくときは3ページ分リセットで
965は何言いたいのかわからん ViewPagerじゃなくてCardViewの右スワイプ左スワイプでいいでしょ
スワイプしたらつぎのCardViewにすれば
その用途でViewPagerは違う気がする >>966
>>967
レスありがとうございます
cardviewは知らなかったのでググってみます 訳あってWindowsやMacを用意できない環境なのですがroot取らずに使えるAndroid上で動く開発ツールはないでしょうか? >>970
Androidアプリ開発用の開発ツール?
それは聞いたことないな。 ブラウザで動く開発ツールがあるからAndroidのChromeとかで動くなら開発できるかも >>972
ありがとう
hello worldのコンパイルすら10分かかっても終わらなかったから他の手段探します Kotlinいいと思うけどなあ。
まあ単なる俺の好みだけどね。 web系でも良いならmonacaとかあるけど
何で何を開発したいのかハッキリしないことには iosとのクロスプラットフォームだと開発環境は何がおすすめ? なんで?
リリースするなら両方のほうがいいと思うけど 完全クロスプラットフォーム開発をなんてものは苦しみしか生まないからな
ゲームなunityを使うとかビジネスアプリならrxやrealmで部分的にクロスにするとかが正解 Oracleのデータベースに接続する方法ってありますか?
webサービス経由しないとだめでしょうか JDBCないから質問してんじゃねぇのかな・・
AndrodiでJDBCって使えったけ?? 無理ならPHPでも使ってラッパーAPIでも作れば
ボリューム次第だけどちょっとしたことなら大した手間にもならんでしょ 一つのactivityに複数のボタンやらedittextを割り当てているのですが、
findViewByIdや、ボタンクリック時のイベント定義が、その複数の数だけ増えていきソースが長くなって見にくいのですが、そんなものでしょうか。 長いコードはステップ数が稼げるというメリットがあるけどな databinding使えばfindViewByIdは消滅するし、
イベントはactivityじゃなくviewModelなりに書けばいい ケースバイケースだけどソースが見にくくなるほどボタンを配置したら多分スマホで操作しにくいものができてる ・progressbarをshow
・非同期タスクでデータダウンロード正常/異常判定
・proguressbarをhide
・ダウンロード異常ならアラートダイアログを表示
上記処理を行うアクティビティ間の画面遷移で異常判定だった場合、
画面が暗転(progressbarが表示されてるとき背景が黒くなりますが、bar自体は消えていて背景だけが黒い)
するときがあります。原因は一体何でしょうか。。 パッケージから外部デバイス制御の処理をさせたら、外部デバイスの許可ダイアログが出て許可しないを選択すると、アプリが強制終了となってしまいます。
どうすれば終了させなくできるでしょうか。 >progressbarが表示されてるとき背景が黒くなりますが、bar自体は消えていて背景だけが黒い
なんか翻訳通したみたいな文章だな たまに見るが自分で埋めて自分で1000getとか全くもって価値は無い2getのほうが全然価値がある
自身でうめて1000getは大げさに言えば行為自体侮蔑されるべきものである
しかしこの私が999getしたのであるすなわちこの次の1000は紛れもなく正真正銘の1000getである
さあ踏むが良い真の1000ゲッターよ! このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 262日 0時間 25分 10秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。