Androidプログラミング質問スレ revision54
■ このスレッドは過去ログ倉庫に格納されています
>>237
この場合のクロスプラットホームっていうのはmacとwindows、はたまたlinuxのことじゃないかと intel androidは糞だろう。中でarmエミュレートしないと動かないことも多いのだから。 それってarmネイティブのプログラムってだけのことでは?
だったら動かすためにはそうせざるを得ないんだから仕方ないよね。 このスレ的にクロスプラットフォームは、
スマホのことじゃないの? アプリそのものじゃなくて共有する開発環境のことでしょ 更新できないAndroidスマホも壮大に放置なgoogle。結局サポートとか何も考えてないんだよな。
文句言われるのはアプリ開発者側。 自分のZenfone3は、購入時はAndroid6.0だったのに、
今じゃ自動アップデートでAndroid8.0で動いているからなぁ。
個人的にはDozeとかめんどいから、Android6.0で良かったんだが。 初スマホになるので今まで避けてたスマホ開発に参戦しようと思います
2Dから軽い3Dゲームや便利なユーティリティを開発したいです
android実機開発においてやっぱスペックは高いほうがいいですか?
antutu v6の旧スコアで45000, 80000, 150000
のどれかのモデルを購入予定で80000のnova lite2が激安なので食指が伸びてますが
多少高くても実機スペックはケチらないほうがいいですかね? すみません
nova lite2の80000(正確には90000にちかい)はv7でした
v6で65000程度のようです ハイエンドの端末しかサポートしないというなら実機も合わせた方がいいけど幅広いユーザーに遊んでほしいというならミドルレンジ機での確認は必要じゃないかな?! なるほど
デバッグや開発時のストレスを考慮しましたが
遅いのにあわせるというのは良い物の見方ですね
とりあえず今回は1台目なのでパフォ重視でミドルハイのやつを買ってみて
慣れてきたころに手頃なミドルロウの端末も買おうと思います nova lite 2なんかは安いけど、2年くらい前のハイエンドくらいの性能あるしな。 開発向けのリファレンス機としてはNexus5X/6Pを勧めるけど
もう次のOSバージョンに対応しないからなあ 開発向けならOSのバージョンアップなんてむしろ邪魔なだけだろ
古いバージョンも手元に残しておかないと、動作確認が出来ないし だから最新のリファレンス機を合法に使えないのが問題だって 開発機は素のAndroidかユーザーの多いXperiaかGalaxyあたりの端末を用意したいところ
Nexusは終了したけどAndroid oneがあるぞ リリース後だったらAndroid oneでもいいけど、Pixelじゃないとプレビューが試せないんだよね。誰かくれないかな つーかOreoもまだシェア5%しかないのに、何でそんなに最新のを使いたがるかね
最速で対応したって誰も使ってるやつおらんやん >>261
オレオではBluetoothの仕様が変わったから既存のアプリで接続がうまくいかないトラブルが出てきてんだわ
他にもそういった事象があるかもしれないんで確認のために必要なのよ 俺もアプリレビューでオレオで動かないってのが増えてる。対応しようとしたら既存のアプリ仕様だと簡単でなく頭抱えてる。 まあでもバックグラウンドで勝手に動くなってのはわかる >>261
シェアはまだまだでも、実際に搭載機種が発売されててバージョンアップも始まってるから、開発現場は早めに入手しておきたいのさ。 教えてください、初心者が必ず悩むバックグランドからの復帰時のデータの取り扱いに
悩んでます。onPauseでデータ保存、onResumeでデータ読み。
念のためonSaveInstanceStateでもデータ保存しています。
だいたいOKなのですが、バックにいる時データの保持は保障されなくてたまに初期データで
立ち上がります。みなさんはやはりキャッシュなどに保存しているのですか?
どの状況でも復帰した時はその状態を保持したく、最初の時のみ初期データにしたいのですが そういうのってユーザーもアプリが終了されたなってわかるから気にしなくてもいいのでは
裏で動くのが必須のアプリでなければだけど めんどくさいならsharedpreferenceにでも入れとけば そんなに変更するとこある?
アイコンを丸にするぐらいしかなかったけど 何が?
notificationChannelとか? 大変とまでは行かないけどOreo以上ならって条件式が結構増えて面倒ではある その分、欠けてたJava7/8APIのほとんどがサポートされるようになったじゃん。 俺らのプラットフォームで商売させてやってんだから金払えと
開発者なめてるAppleが大嫌いです
Mac時代はサードパーティ製ソフトウェアの少なさに苦戦してたようですが
スマホはうまく先駆者になれたのでそんななめた態度でも充実してますね
実に腹立たしい
だけど僕は騙されませんよ
Appleが反省して土下座するまでGoogleを全力で支援します >>276
お前さんがプラットフォーム作って、只で使わせてやればー? GoogleもMicrosoftもタダで使わせてるわけですが 開発環境もそうだが、
クロスプラットフォーム環境でもiPhone用アプリをコンパイルするには、
ほとんどがMac実機が必要ってのがね・・・。
実機テストでiPhoneを買えは当然だが、開発環境までMac買えはどうかと思う。 ビルドもだけどデベロッパー登録とかもMacないとダメだしいよいよストアに出すってなってもリジェクト食らいまくるしなんだかなー 4.2 Minimum Functionalityがある限りandroid優先だろ。 検索すりゃわかるけど、判定が恣意的らしいよ。引っかかったことないけど。 拾ったソースをAndroid studioで実装してるんだけど、 public Translate XXX; の宣言でTranslate が見つからないとエラーになる。
Translateって型は初めてなんだけど、これは標準であるのか?何かimportすればいいの?
ググっても分からなかったので、知ってる人が居たら教えてくれ、ここみろURLでもありがたい >>291
そのTranslateってのにカーソル移動して[Alt]+[Enter]したら、import class…ってポップアップメニュー出てこない?
出てくるならそれ選べばいいよ レスありがとう御座いました。
やってみたらポッポアップに、craate class Translate, enum, interfaceみたいなプルダウンが表示された。
ファイル選択のダイアログのコードのサンプルなんだけど、
public classの関数の中で xxx = new Translate( prameter1..... ); みたいな事をやっていて、
下でpublic Translate xxx ってその変数を宣言してるんだけど、Translateの本体の記述は無いみたいなんです。 どこで拾ったソース?
取り敢えずそんなクラス名は聞いたことないけど OSとAndroid-SDKを全部入れ直した時にDDMSでデバイスの認識がなされなくなってしまってAndroid-Studioでも認識しないのですが
SDKの何を入れればいいでしょうか?
platform-toolsとtoolsは前のやつが残っていたのでこれだけ入れ替えてみたのですが変わりませんでした >>295
ありがとう御座います、それです。
TTSのサンプルがあっさり動いたので、ファイル読ませようとしてました。
ttps://akira-watson.com/android/tts.html
もうちょっと工夫してみます。 >>299
ファイル1つの選択でよければSAF使えば? >>299
たぶん、"Open", "Open ...", "Move", "Cancel"ってテキストを、"開く", "開く ...", "移動", "キャンセル"って日本語で表示したいがために挟んでるクラス。
スタックオーバーフローにある実装でよいはず。 HttpURLConnectionでサーバー(JavaServlet)と通信しようとしているけど
セッション(クッキー)が使えなくて困ってる。
最初の通信でクッキーは取得できているけど保存されず、次の通信で
セッションIDが送信されてないようだ。
いろいろググってみたけどよくわからない。
どこか分かりやすいページがあったら教えてください。 シェアドプリファレンスにでも書いときゃいいんじゃね >>306
どうもありがとうございました、なんとかできました。
CookieManager cookieManager = new CookieManager()
をstatic変数で保持しておいてそこから通信の度にクッキーを取り出して
リクエストに追加する方法でできました。 >>305
ありがとうございます、アプリを終了した後もクッキーを保持したい場合はその方法がよさそうですね。 どんな通信してるか知らんけどOSS使ったほうがいいよ
あとAndroidのstatic変数は実際ヤバい どんな端末でも動き続けるServiceの作り方が知りたい
setForegroundでも死ぬとかDozeって何なの Dozeってロリポあたりから導入されたOSの省エネ機能だけど
最初わからなくてスケジュールとかタイマーが勝手に止まるから苦労したよ >>310
死なないサービスを作るのではなくて、色々なインテントで
動いていることを確認して動いていなかったら起動する
インテントハンドラを登録するのが古の手法なんだけど
今は駄目なのかな >>313
死活監視してるもの自体が死ぬこと考えると面倒だな
多重化して監視し合うとかするのか? LINEアプリとかどうやってるのか中の人に聞いてみたい >>315
通常のプログラムは監視プロセスが必要だけどインテントハンドラは
システムにこのインテントが着たらこのプログラムを呼び出して
くださいって登録するので自分で管理しなくても自動的にシステムが
監視してくれる
ただシステム任せなんでシステムの挙動がおかしくなると動かな
かったりもするけど、システムがおかしい時の挙動なんて誰も保障
しないだろうけど
>>317>>318
AlarmManagerはロリポかその前くらいからシステムが勝手に時間を
まとめて実施したりするように変更されたのでちゃんとした定期実行
にはつかえなくなったんじゃなかったけな
JobSchdulerで監視すると監視タイミングごとにプロセスが起動されて
しまうため、あまり短時間で監視を行うとただのバッテリードレイン
アプリができてしまうことがあるかな ここのページに
ttp://pancreatic.cocolog-nifty.com/oncle/2015/03/android-50-e878.html
Android5.0以降ではLVLのバグがあってクラッシュするから
このように修正しろってあるけど、実際どうなんですか?
自分は5.0以降でもクラッシュしたことないけど
Googleでこのことについてなにか公式のアナウンスあった? 複数のアクティビティに対してアクションバーに同じメニューの追加、ナビゲーションバーを非表示にしたいのですが、それぞれのアクティビティに同じ処理を書くしかないでしょうか?
共通機能として呼び出す形に出来ますでしょうか? >>321
まずActivityをextendedしてベースとなるActivityを定義、それにお望みの処理を書いとく。
あとはそれぞれのActivityをベースからextendedすればいいと思う。 Android-StudioをノーパソにインストールしてGradleも正常に動いてました。
デスクトップ側に面倒なのでAndroid-StudioのフォルダとAndroid-SDKのフォルダをコピーして
フォルダ構成も全く同じにして起動すると
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
と出てGradleの同期に失敗します。ネットには繋がっています。
これはただフォルダをコピーするだけではいけない何かがあるのでしょうか?
どうすればGradle同期可能になるのでしょうか。
また0から地道にダウンロードインストールしなければ正常になりませんか? >>323
Gradleの依存関係キャッシュが壊れている可能性があります(ネットワーク接続のタイムアウト後に発生することがあります)。
て話だから、メニューの「ファイル >キャッシュを無効にする/再起動する」を実行してみては?
.gradleの削除とあわせてみたりとかも キャッシュを無効にする/再起動するはやってみましたがだめでした。
.gradleの削除というのは環境本体は破壊されないのでしょうか?
調べてやってみます。 >>322
提示していただいた方法で実装できました。
初歩的な質問にご回答いただき有り難うございました。 .gradleフォルダ削除してもだめでした。
イベントログの方にはこう表示されてました。
Gradle sync failed: Cause: error in opening zip file
gradle-wrapper.propertiesには
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
と記述がありこれも以前の環境では動いていたと思います。
他にどこを見ればいいでしょうか、もうさっぱりわかりません。 JAVA_HOMEとjdkとjreのbin、platform-toolsとtoolsのパスは通して設定してます。 アプリのソースならコピーでなく既存ファイルで読み込んだ方がいいよ あれこれ試行錯誤するよりデスクトップ側で再インストールして既存プロジェクトを開くなんやらした方がめんどくさくないと思う この動画を見ながら設定からGradleフォルダを直接指定にして
ttps://www.youtube.com/watch?v=qyXnYhUfOi0
それでもまだで、どこかのサイトに書いてあったJavaのバイトコードのバージョンを1.7に設定したら
同期できました。(後で設定見たらなぜかまたクリアされていたけど)
ん〜、Gradleは難しいですね、ちょっとしたことですぐ同期不可エラーになってしまう。
どうもお世話になりました。 >>319
横レスだけどインテントハンドラって何?
キーワードでググったけどHandler?IntentService? >>334
319に書いてあるとおり、私(このアプリ)はこういうインテントを処理しますよー、っていうのをOSに知らせるもの。
たとえば、ギャラリーアプリで画像を処理するとしたときに、複数の画像編集アプリがインストールされている場合は、どのアプリ。使うか選ぶことになるけど、その一覧に出てくるようになる。 broadcastreciverをいろんなintentで登録しまくって受け取るたびに死んでたら起動するってことだろ
あまり行儀は良くないな >>335
を見て既定アプリに登録出来ないアプリはどうするのかと思ったけど
>>336
を見て色んなインテントに引っかかるように登録しておくって事か… ■ このスレッドは過去ログ倉庫に格納されています