このスレではAndroidSDK・NDKやAndroidマーケットに関する質問を扱ってます。
※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 144匹目
http://echo.2ch.net/test/read.cgi/tech/1473241397/
Eclipse統合M35【Java/C++/Ruby/Python/Scala】
http://echo.2ch.net/test/read.cgi/tech/1405391739/
★★Java質問・相談スレッド179★★
http://echo.2ch.net/test/read.cgi/tech/1476706523/
****オススメ関連リンク****
■ TechBoosterhttp://techbooster.org/category/android/tableofcontents/
■ Androidメモhttp://www.saturn.dti.ne.jp/npaka/android/index.html
■ 逆引きAndroid入門http://www.adakoda.com/android/
■ Androidプログラマへの道http://wiki.livedoor.jp/moonlight_aska/
■ Android Wiki*http://wikiwiki.jp/android/
****公式リファレンス****
■ Android developershttp://developer.android.com/index.html
■ ソフトウェア技術ドキュメントを勝手に翻訳http://www.techdoctranslator.com/
■ 日本Androidの会http://www.android-group.jp/
■ StackOverFlowhttp://stackoverflow.com/questions/tagged/android
****前スレ****
Androidプログラミング質問スレ revision51
http://echo.2ch.net/test/read.cgi/tech/1457303564/
Androidプログラミング質問スレ revision52
http://echo.2ch.net/test/read.cgi/tech/1479305887/
探検
Androidプログラミング質問スレ revision53 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/02/26(日) 04:55:51.88ID:wLeuQZIw785デフォルトの名無しさん
2017/08/25(金) 10:55:31.03ID:Ib0Xrg/x786デフォルトの名無しさん
2017/08/25(金) 14:08:38.12ID:sT5vC7+0 オンラインアプリで日本以外でのアプリ利用を完全にシャットアウトしたいんだけど、
端末のロケールだけだと不完全だし、現在繋いでいるネットワークの国種別なんてわかるかな?
端末のロケールだけだと不完全だし、現在繋いでいるネットワークの国種別なんてわかるかな?
787デフォルトの名無しさん
2017/08/27(日) 01:10:23.76ID:qjyZyLk5 当アプリは起動時使用地域認証を行います地域認証の表示が出たらGPSを入れてください
表示が消えて認証が終わったらGPSを切ってくださいもしくは勝手に切れるみたいな
表示が消えて認証が終わったらGPSを切ってくださいもしくは勝手に切れるみたいな
788デフォルトの名無しさん
2017/08/28(月) 06:41:27.73ID:aVq/OlAc 俺もclean architectureとやらの質問したかったが、
空気読めない君のせいで質問し辛い空気になっててワロタ
しばらく時間置いてから来よう
空気読めない君のせいで質問し辛い空気になっててワロタ
しばらく時間置いてから来よう
789デフォルトの名無しさん
2017/08/28(月) 16:49:55.91ID:bhBbspk8 ストップウォッチで時間まで表示させたいのですが、質問があります。
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時間分引くだけで良いのでしょうか?
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時間分引くだけで良いのでしょうか?
790デフォルトの名無しさん
2017/08/28(月) 18:57:39.05ID:+Q1vYS5Y そうするとJSTの設定のときしか正常動作しないねえ
791デフォルトの名無しさん
2017/08/28(月) 19:16:47.95ID:zISqycBJ エミュだかの地域設定が日本じゃないとかいうオチじゃないよね
792デフォルトの名無しさん
2017/08/29(火) 02:14:00.78ID:O9RyHepL >>789
タイムゾーンが GMT+00:00 になるようにしとけばいいのでは?
これは Android のクラス使わないでやる場合。
https://paiza.io/projects/iBgPWPL5veMqFevCKYpRZg
android.text.format.DateFormat() を使う場合は第二引数を Calendar にしちゃって
それのタイムゾーンを GMT+00:00 にしてしまえばいいのではないか? (試してないが)
タイムゾーンが GMT+00:00 になるようにしとけばいいのでは?
これは Android のクラス使わないでやる場合。
https://paiza.io/projects/iBgPWPL5veMqFevCKYpRZg
android.text.format.DateFormat() を使う場合は第二引数を Calendar にしちゃって
それのタイムゾーンを GMT+00:00 にしてしまえばいいのではないか? (試してないが)
793デフォルトの名無しさん
2017/08/29(火) 18:18:55.02ID:cbEYOyQj 回答待ちのスレ停滞を場の空気と勘違いした>788が真・空気読めない君
794デフォルトの名無しさん
2017/08/30(水) 10:29:00.49ID:NzP3dJ5T 万国共通の表示方法1個だけなら、自分でフォーマットしてしまう方がてっとり早いと思うんだが。
795デフォルトの名無しさん
2017/08/30(水) 10:47:50.56ID:SFpDwQAF retrofit2とかRxJavaとかretrolambdaとか入れたらリリースビルドでproguardのエラーが出るようになったんですが、
proguard-rules.proに何を記述したらいいかってどうやって調べたらいいんでしょうか
proguard-rules.proに何を記述したらいいかってどうやって調べたらいいんでしょうか
796デフォルトの名無しさん
2017/08/30(水) 12:36:52.55ID:skAvp07y preferenceにサイズ制限ってあるのか?
797デフォルトの名無しさん
2017/08/30(水) 19:08:44.79ID:KxTpmFYc798デフォルトの名無しさん
2017/08/30(水) 19:45:56.17ID:SFpDwQAF799デフォルトの名無しさん
2017/08/31(木) 17:24:17.15ID:YJlg3R0u レイアウトをいじっていたら、いつの間にかレイアウト「R.id.」の「R」が見つからなくなってしまいました。
参照を設定しているのはどこになりますでしょうか?
参照を設定しているのはどこになりますでしょうか?
800799
2017/08/31(木) 18:14:22.67ID:YJlg3R0u すまん、クリーンビルドやキャッシュ無効とかを繰り返すのね
801デフォルトの名無しさん
2017/09/01(金) 00:02:55.36ID:eqOGu0Na GridViewをマウスオーバーすると
GridView上の指定の位置にImageViewを表示するような
GridViewの拡張クラスを実装したいのですが
どのように実装すればよろしいでしょうか?
ImageViewの表示は拡張クラスのソース上で指定出来るようにしたいです
どなたか分かる方いたら教えて頂けますでしょうか?
GridView上の指定の位置にImageViewを表示するような
GridViewの拡張クラスを実装したいのですが
どのように実装すればよろしいでしょうか?
ImageViewの表示は拡張クラスのソース上で指定出来るようにしたいです
どなたか分かる方いたら教えて頂けますでしょうか?
802801
2017/09/01(金) 00:04:10.93ID:eqOGu0Na 主にImageViewの表示方法が知りたいです
ヒントだけでも結構ですのでよろしくお願いします
ヒントだけでも結構ですのでよろしくお願いします
803デフォルトの名無しさん
2017/09/01(金) 00:48:24.08ID:yBuOlbxF スマホでマウスオーバー?
804デフォルトの名無しさん
2017/09/01(金) 10:38:59.34ID:ZRmaND7+ 画面に沢山のTextViewやButtonを配置し、出来るだけ均等にしたいのですが、
Gridlayoutだと横8個、縦6個が最大なのでしょうか?
またより細かく配置出来るレイアウトってありますか?
Gridlayoutだと横8個、縦6個が最大なのでしょうか?
またより細かく配置出来るレイアウトってありますか?
805804
2017/09/01(金) 14:42:01.99ID:ZRmaND7+ スマン、自己解決した。
rowを多めに取ってたんだが、一番下のコントロールがrowSpanを増やしても大きくならないんで、
縦の数が足りなくて潰れたと思い込んでたんだ。
実際は他にコントロールが無いと、rowSpanを増やしても伸びてくれないんだな。
rowを多めに取ってたんだが、一番下のコントロールがrowSpanを増やしても大きくならないんで、
縦の数が足りなくて潰れたと思い込んでたんだ。
実際は他にコントロールが無いと、rowSpanを増やしても伸びてくれないんだな。
806デフォルトの名無しさん
2017/09/01(金) 20:54:11.37ID:fXXp6j/r 仕事でandroid studioを初めてやってるんですが、皆さんどう勉強しましたか?
おすすめのリンク集見るしかない?
おすすめのリンク集見るしかない?
807デフォルトの名無しさん
2017/09/01(金) 22:02:11.36ID:DL6ximvw 気が向いたときにGoogle先生の力を借りて
最初は参照辿れる便利なエディタ扱いしてたくらい
最初は参照辿れる便利なエディタ扱いしてたくらい
808デフォルトの名無しさん
2017/09/02(土) 04:55:10.24ID:fB3ZCJpN 通常使用する機能なんてビルド実行デバッグだけだし他の環境の経験あれば勘でなんとかなる
不具合あってもドンピシャの検索ワード思いつくスキルがあれば勉強なんぞいらんよ
不具合あってもドンピシャの検索ワード思いつくスキルがあれば勉強なんぞいらんよ
809デフォルトの名無しさん
2017/09/02(土) 08:51:44.46ID:uNsBafKu レスありがとうございます!
参考になりました
とりあえず仕事しながら覚えます
参考になりました
とりあえず仕事しながら覚えます
810デフォルトの名無しさん
2017/09/02(土) 21:27:02.26ID:FautIvR1 githubにあるサンプルソースが
だいたい実行出来ないんですがどうやって実行したらいいんでしょうか?
環境はAndroid2.3.3です
実行出来ないものというのは
例えば以下のサンプルソースです
https://github.com/twitterdev/android-samples
だいたい実行出来ないんですがどうやって実行したらいいんでしょうか?
環境はAndroid2.3.3です
実行出来ないものというのは
例えば以下のサンプルソースです
https://github.com/twitterdev/android-samples
811デフォルトの名無しさん
2017/09/02(土) 21:41:43.66ID:RZIEnzxX >>810
そのサンプルのたとえば twitter4j-sample-app だと、
app/build.gradle に minSdkVersion 11 となってるから、
API11=Android3.0以上の端末でないと実行できない
いまだと新しいコードはAPI11か14以上になってることが多いんじゃないかな
minSdkVersion を下げてビルドできるようにするのは初心者には無理だから
その端末で動かすのはあきらめろ
そのサンプルのたとえば twitter4j-sample-app だと、
app/build.gradle に minSdkVersion 11 となってるから、
API11=Android3.0以上の端末でないと実行できない
いまだと新しいコードはAPI11か14以上になってることが多いんじゃないかな
minSdkVersion を下げてビルドできるようにするのは初心者には無理だから
その端末で動かすのはあきらめろ
812デフォルトの名無しさん
2017/09/02(土) 22:04:04.31ID:FautIvR1813デフォルトの名無しさん
2017/09/02(土) 22:23:38.15ID:FautIvR1 >>811
確認するとアンドロイド4だったので問題なさそうです
確認するとアンドロイド4だったので問題なさそうです
814デフォルトの名無しさん
2017/09/03(日) 02:54:29.81ID:+uTxltEZ まず実行できないの意味がわからない
何を行ってどうなったのかを事実ベースで書いてくれ
何を行ってどうなったのかを事実ベースで書いてくれ
815デフォルトの名無しさん
2017/09/03(日) 08:44:36.94ID:emR0B37A816デフォルトの名無しさん
2017/09/03(日) 12:14:47.92ID:defC3f57 エラーコードをそのまま貼りなさい
817デフォルトの名無しさん
2017/09/03(日) 12:21:58.93ID:KP+X7dHl 骨董品みたいな環境を窓から投げ捨てるほうが楽だと思うけどなぁ
818デフォルトの名無しさん
2017/09/03(日) 17:21:28.89ID:U1S4ridC アプリをアンインストール→再インストールされた際に、
元のインストール情報を端末内に残しておくことってできるかな?
元のインストール情報を端末内に残しておくことってできるかな?
819デフォルトの名無しさん
2017/09/03(日) 17:44:07.04ID:/71OZ/qY >>818
一部のアプリがやってるみたいにストレージ直下にディレクトリ掘ってそこに色々保存しとくしかないと思う
一部のアプリがやってるみたいにストレージ直下にディレクトリ掘ってそこに色々保存しとくしかないと思う
820デフォルトの名無しさん
2017/09/03(日) 18:15:06.24ID:vEMv4yR9 >>818
ユーザー登録させてサーバーに保存
ユーザー登録させてサーバーに保存
821デフォルトの名無しさん
2017/09/03(日) 18:58:35.18ID:C276oTsE 通知をタップした時だけ特別なページ(ページB)を開いて、その後ハードウェアの戻るボタンを押すとメインページ(ページA)に戻るようにしたくて
通知生成の際に設定したintentがMainActivityのOnCreateで確認できた場合だけページBが開くようにしたんだけど
アプリキル後に通知タップ→戻るボタンでページB→ページA→アプリ終了、とした後にアプリ履歴のところから再起動させるとページBが開かれてしまう
履歴から起動されてもメインページであるページAが開いてほしいんだけどどうしたらいい?
通知生成の際に設定したintentがMainActivityのOnCreateで確認できた場合だけページBが開くようにしたんだけど
アプリキル後に通知タップ→戻るボタンでページB→ページA→アプリ終了、とした後にアプリ履歴のところから再起動させるとページBが開かれてしまう
履歴から起動されてもメインページであるページAが開いてほしいんだけどどうしたらいい?
822デフォルトの名無しさん
2017/09/04(月) 09:39:37.97ID:PEw0QKRZ flag_secureな設定でもyoutubeとかで配信できてるのはなんでなんだろう
違う手段があるのか、抜け道があんのか
違う手段があるのか、抜け道があんのか
823デフォルトの名無しさん
2017/09/04(月) 12:20:08.73ID:PKdW+wxs >>821
フォアグランドに戻った時はonStartから始まるからそこでAから始まるように書いてみれば
フォアグランドに戻った時はonStartから始まるからそこでAから始まるように書いてみれば
824デフォルトの名無しさん
2017/09/04(月) 15:04:29.87ID:8Jo4aYA6 >>823
OnStartで通知用intentがある場合はページAを開くようにすると、通知タップで起動した時にBに行かずAが開かれてしまう
OnStartで通知用intentがある場合はページAを開くようにすると、通知タップで起動した時にBに行かずAが開かれてしまう
825821
2017/09/04(月) 16:29:18.11ID:pmsWEokw 同じ通知は一度しか出ずタップしたら消えるようにしているので
とりあえずは直前にタップされた通知情報をファイルに記録し
通知以外から起動された場合にそのファイルをクリアして、
そのファイル内容に一致する場合のみ処理を分ける方針でいくことにする
もっとスマートな方法があるといいんだけど
アプリキル状態で通知から開いたアプリをバックキーで閉じて履歴から再起動すると
通知タップしたのと同じことになると考えていいのかな?
2chmateでも更新して新スレの通知やレス通知が来た際に、
アプリキル→通知からスレ開く→バックキー押してアプリ終了させる→履歴から開く
とすると通知で開いたスレ開くしそんなものなのかなと思えてきた
とりあえずは直前にタップされた通知情報をファイルに記録し
通知以外から起動された場合にそのファイルをクリアして、
そのファイル内容に一致する場合のみ処理を分ける方針でいくことにする
もっとスマートな方法があるといいんだけど
アプリキル状態で通知から開いたアプリをバックキーで閉じて履歴から再起動すると
通知タップしたのと同じことになると考えていいのかな?
2chmateでも更新して新スレの通知やレス通知が来た際に、
アプリキル→通知からスレ開く→バックキー押してアプリ終了させる→履歴から開く
とすると通知で開いたスレ開くしそんなものなのかなと思えてきた
826デフォルトの名無しさん
2017/09/06(水) 17:59:49.43ID:khwBN/+B 起動中アプリのpid取得ってlolipop以降からできないんでしょうか?
各アプリのCPU使用率を取得したいのですが…
各アプリのCPU使用率を取得したいのですが…
827デフォルトの名無しさん
2017/09/07(木) 23:59:09.40ID:o6aie6+Y 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">
これはなぜこんなことになるのでしょうか?解決策などを教えてください
上記のチュートリアルを見ながら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">
これはなぜこんなことになるのでしょうか?解決策などを教えてください
828デフォルトの名無しさん
2017/09/08(金) 02:58:30.04ID:kcydV1QK ConstraintLayoutだから
829デフォルトの名無しさん
2017/09/10(日) 18:32:31.65ID:J2gBACKo 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>です。
最初に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>です。
830デフォルトの名無しさん
2017/09/10(日) 19:33:15.83ID:f1i6tTqg エラーを貼れ
あとKotilnつかえないならjavaで書け
あとKotilnつかえないならjavaで書け
831デフォルトの名無しさん
2017/09/11(月) 02:37:34.37ID:yX6UqkyA サーバー上にユーザーデータを保存したいと思っているんですが、
Realmというのはfirebaseと違ってサーバーは提供されていないんでしょうか
Realmというのはfirebaseと違ってサーバーは提供されていないんでしょうか
832デフォルトの名無しさん
2017/09/11(月) 09:39:45.58ID:vJ3AiMg+ ○次受けが多いほど退場率が早くなる。高くなる
直受けの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) プログラマーズ
直受けの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) プログラマーズ
833デフォルトの名無しさん
2017/09/12(火) 09:16:10.35ID:WVBnkU/4 インストール直後のアプリは、状態がstoppedになっていると
思いますが、これを解除する指定やオプション等はありますでしょうか?
初回はアプリを起動すれば良いのは分かっていますが、何か方法が
あればご教授いただきたく、よろしくお願いします。
思いますが、これを解除する指定やオプション等はありますでしょうか?
初回はアプリを起動すれば良いのは分かっていますが、何か方法が
あればご教授いただきたく、よろしくお願いします。
834デフォルトの名無しさん
2017/09/12(火) 09:17:48.83ID:ydBgkarm >>833
ない不可能諦めろ
ない不可能諦めろ
835デフォルトの名無しさん
2017/09/12(火) 19:54:55.64ID:Si6a4CbL oreoでalarmmanager死亡ってマジ?
836デフォルトの名無しさん
2017/09/12(火) 19:57:07.92ID:mwWM+MSv >>834
ありがとう、諦める
ありがとう、諦める
837デフォルトの名無しさん
2017/09/12(火) 21:09:51.32ID:wkDGqWCe >>833
そんなことを質問した理由が気になる
そんなことを質問した理由が気になる
838デフォルトの名無しさん
2017/09/13(水) 05:16:46.59ID:PUJB6FU6 databindingを使ってるほぼ同じ機能のfragmentABC〜の共通機能を
BaseFragment的に継承させたいんだが、Bindingインスタンスどうすりゃいいんだ?
binding.hogeview.hoge〜みたいに書けないぞ。
BaseFragment的に継承させたいんだが、Bindingインスタンスどうすりゃいいんだ?
binding.hogeview.hoge〜みたいに書けないぞ。
839デフォルトの名無しさん
2017/09/13(水) 08:29:03.57ID:DqskMGN+ 何が言いたいか伝わらない
840デフォルトの名無しさん
2017/09/14(木) 14:43:33.12ID:ZrYTexa1 Kotlinを使えば使うほど、Kotolinってええ言語やなと思う
サーバーサイドでも使われているようだし、この言語はやる価値があるね
サーバーサイドでも使われているようだし、この言語はやる価値があるね
841デフォルトの名無しさん
2017/09/14(木) 20:52:02.83ID:4+9o6JuM コトリンはjavaとどう違うの?
842デフォルトの名無しさん
2017/09/14(木) 23:16:40.98ID:ZrYTexa1 文法が簡潔で同じことを実装するのに少ないコード量で記述できる
Null安全によってヌルポが劇的に減る
ラムダ関数が使える
Collection操作にfilterとかmapとかC#のLINQみたいな処理が使える
拡張関数で既存のクラスにメソッドを追加できる
コルーチンの仕組みが入ったら非同期処理を上から普通に順番に記述していける
などなどメリットばっかり
Android StudioにJavaのコードを張り付けるだけで自動でKotlinに変換してくれるので学習が容易なのもナイス
Kotlinやるしかないっしょ
Null安全によってヌルポが劇的に減る
ラムダ関数が使える
Collection操作にfilterとかmapとかC#のLINQみたいな処理が使える
拡張関数で既存のクラスにメソッドを追加できる
コルーチンの仕組みが入ったら非同期処理を上から普通に順番に記述していける
などなどメリットばっかり
Android StudioにJavaのコードを張り付けるだけで自動でKotlinに変換してくれるので学習が容易なのもナイス
Kotlinやるしかないっしょ
843デフォルトの名無しさん
2017/09/14(木) 23:24:08.48ID:Ng+6QcSm844デフォルトの名無しさん
2017/09/14(木) 23:35:40.82ID:y/+XdaWN ついでにコールバックというか匿名クラスを簡潔に書けるからコールバック地獄のAndroidにはいいんじゃないかな
845デフォルトの名無しさん
2017/09/15(金) 00:16:53.35ID:XgRcj8R1 XamarinでC#使えばいいじゃんって感じだな
846デフォルトの名無しさん
2017/09/15(金) 00:38:51.35ID:4bA86Lb/ Xamarin程の糞はない
847デフォルトの名無しさん
2017/09/15(金) 00:43:26.99ID:4bA86Lb/ >>845
IDEのサポートがKotlinの方が手厚い
IDEのサポートがKotlinの方が手厚い
848デフォルトの名無しさん
2017/09/15(金) 01:17:38.77ID:MoaBkv/B とにかく何かをバカにし続けないと生きていけない人種
849デフォルトの名無しさん
2017/09/15(金) 09:13:16.91ID:AmqYtcXP850デフォルトの名無しさん
2017/09/15(金) 12:27:47.80ID:+o8Zd4L8 AOSPが全部コトリンになったら乗り換え考えるわ
851デフォルトの名無しさん
2017/09/15(金) 14:25:03.31ID:NuKSGCX3 >>842
Kotlinて独自ハードウェア制御もちゃんと変換してくれるの?
Kotlinて独自ハードウェア制御もちゃんと変換してくれるの?
852デフォルトの名無しさん
2017/09/15(金) 14:35:56.42ID:SetL/UqD ネイティブコンパイラができればできるんじゃね?
でも面倒だからCでドライバ書いてOSに組み込んでからそこと通信した方がいいかもな。
Linuxなら/devとか/proc以下の特殊なファイル経由にしちゃうとかな。
すると普通のファイルアクセスで読み書きできるようになる。
でも面倒だからCでドライバ書いてOSに組み込んでからそこと通信した方がいいかもな。
Linuxなら/devとか/proc以下の特殊なファイル経由にしちゃうとかな。
すると普通のファイルアクセスで読み書きできるようになる。
853デフォルトの名無しさん
2017/09/15(金) 20:29:35.92ID:ALkBE9wg Cに対するC++みたい>ことりん
854デフォルトの名無しさん
2017/09/15(金) 21:30:06.54ID:4bA86Lb/ 全然違うだろ
Cに贅肉を付けてぶよぶよにしたのがC++
Cに贅肉を付けてぶよぶよにしたのがC++
855デフォルトの名無しさん
2017/09/15(金) 23:00:04.48ID:MoaBkv/B その点Objective-Cは身軽なCにオブジェクト指向を付加するポッドを装備しているイメージ
856デフォルトの名無しさん
2017/09/15(金) 23:08:18.88ID:EfRXCmpo iOSアプリもjava使わせて欲しい
勿論swiftよりもパフォーマンス落ちてもいいので
勿論swiftよりもパフォーマンス落ちてもいいので
857デフォルトの名無しさん
2017/09/15(金) 23:09:38.99ID:EfRXCmpo つぅかなんでプログラミング言語がこんなウジャウジャあるんだ
数えきれんほどあるやん
2〜3個で良くない?
数えきれんほどあるやん
2〜3個で良くない?
858デフォルトの名無しさん
2017/09/15(金) 23:12:26.51ID:MoaBkv/B859デフォルトの名無しさん
2017/09/15(金) 23:16:25.97ID:7m1NmZ8+ Java使いにとってC#は不倶戴天の敵
860デフォルトの名無しさん
2017/09/15(金) 23:42:37.13ID:MoaBkv/B むぁぢで...
861デフォルトの名無しさん
2017/09/16(土) 10:17:11.68ID:YonG5goU 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 してっていう指示はどこにあるのでしょうか?
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 してっていう指示はどこにあるのでしょうか?
862デフォルトの名無しさん
2017/09/16(土) 11:06:52.25ID:YonG5goU ちなみに、uri の中身は、これです。
content://android.media.tv/channel?input=com.example.android.sampletvinput%2F.rich.RichTvInputService&browsable_only=false
content://android.media.tv/channel?input=com.example.android.sampletvinput%2F.rich.RichTvInputService&browsable_only=false
863デフォルトの名無しさん
2017/09/16(土) 12:56:32.17ID:2/tvzOiS ContentProviderの中だろ
864デフォルトの名無しさん
2017/09/17(日) 19:31:53.59ID:0rG413Gr アプリをストア申請したら、
アプリ名にある会社の商品名が含まれているためにリジェクトされたんですが、
「○○ for 商品名」というアプリ名だったら問題ないでしょうか
アプリ名にある会社の商品名が含まれているためにリジェクトされたんですが、
「○○ for 商品名」というアプリ名だったら問題ないでしょうか
865デフォルトの名無しさん
2017/09/17(日) 20:06:09.66ID:xFAp2kmJ Xamarinが、NativeScriptの様な方式だったら興味あったかな。
866デフォルトの名無しさん
2017/09/18(月) 03:10:27.64ID:S6KYhqUk867デフォルトの名無しさん
2017/09/18(月) 03:39:03.79ID:5qvGYV/U 商標登録されてるものは不味そうだけど社会経験だから試してみればどんな法的処置喰らうか
868デフォルトの名無しさん
2017/09/18(月) 09:54:28.65ID:YFdCF+w0 Youtubeアプリとかであるような項目毎の三点リーダーメニューってどうやるんだ
869デフォルトの名無しさん
2017/09/18(月) 11:12:05.41ID:GPneaJOZ 項目毎に︙画像セットしてonClickでメニュー呼び出す
870デフォルトの名無しさん
2017/09/18(月) 17:59:00.57ID:4jqNAKfb popup menu
871デフォルトの名無しさん
2017/09/19(火) 19:18:51.38ID:6o+b/JQG872デフォルトの名無しさん
2017/09/20(水) 02:48:40.34ID:ExiHvdsE 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配列で途中まで取得した動画データをストリーミング再生できるように保存するにはどうしたらいいでしょうか?
とりあえず最初の段階として途中まで受信して、受信した分だけ再生するする様にしました。
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配列で途中まで取得した動画データをストリーミング再生できるように保存するにはどうしたらいいでしょうか?
873デフォルトの名無しさん
2017/09/20(水) 17:33:47.86ID:mYAXmPgS >>872
それ、たぶん、ファイルディスクリプタを共有してるのが問題じゃねぇかな。
>MP.setDataSource(fileCash.getFD());
これで、一時ファイルに書き込んでる最中に、再生の読み込み側でファイルの読み書きの位置が変更されてデータが破壊されてるのかも??
だから、新しく再生用にファイルを開く。
MP.setDataSource(新しく開いた一時ファイルのファイルディスクリプタ);
それ、たぶん、ファイルディスクリプタを共有してるのが問題じゃねぇかな。
>MP.setDataSource(fileCash.getFD());
これで、一時ファイルに書き込んでる最中に、再生の読み込み側でファイルの読み書きの位置が変更されてデータが破壊されてるのかも??
だから、新しく再生用にファイルを開く。
MP.setDataSource(新しく開いた一時ファイルのファイルディスクリプタ);
874デフォルトの名無しさん
2017/09/20(水) 17:39:43.60ID:mYAXmPgS つか、本当に>>872のプログラムだけなら、ディスクリプタ共有してても問題ないけど、
一時ファイルに書き込む部分が再生ながらループして書き込むようになってた場合ね。
一時ファイルに書き込む部分が再生ながらループして書き込むようになってた場合ね。
875デフォルトの名無しさん
2017/09/20(水) 21:53:50.74ID:I5cyX91a webviewで作ったブラウザにユーザースクリプトを読み込ませたいのですが難しいでしょうか?
876872
2017/09/21(木) 06:36:09.23ID:rtbMbXq3 >>873
現在のコードは動画データの最初の数MBだけを読み込んだら>>872のコードを一度だけ走らせるというものなので
共有は確かに問題ないはずなのですが、一応MediaPlayerにわたすものは新規で開きなおしてみました。
しかしやはり再生できません。
念のためsetDataSource移行を無効化しwriteまでを実行して終わるようにしたのちに作成された一時ファイルを他のプレイヤーで
開いてみたところ再生できず、やはり一時ファイルを書き込んだ時点で壊れてしまっている(もしくは何かが不完全で足りていない?)ようです…
(逆に再生できる動画はやはり当然この段階の一時ファイルでも問題なく再生できます)
現在のコードは動画データの最初の数MBだけを読み込んだら>>872のコードを一度だけ走らせるというものなので
共有は確かに問題ないはずなのですが、一応MediaPlayerにわたすものは新規で開きなおしてみました。
しかしやはり再生できません。
念のためsetDataSource移行を無効化しwriteまでを実行して終わるようにしたのちに作成された一時ファイルを他のプレイヤーで
開いてみたところ再生できず、やはり一時ファイルを書き込んだ時点で壊れてしまっている(もしくは何かが不完全で足りていない?)ようです…
(逆に再生できる動画はやはり当然この段階の一時ファイルでも問題なく再生できます)
877デフォルトの名無しさん
2017/09/21(木) 16:03:27.83ID:oaVZDK+l >>876
まず、ファイルが壊れてるって、本当に壊れてるの??
元のファイルとバイト毎に比較した??
他の動画アプリは独自のコーデックとかもってたりするから、MediaPlayerと再生できる
ファイルが違う可能性あるよ。
まず、ファイルが壊れてるって、本当に壊れてるの??
元のファイルとバイト毎に比較した??
他の動画アプリは独自のコーデックとかもってたりするから、MediaPlayerと再生できる
ファイルが違う可能性あるよ。
878872
2017/09/21(木) 19:32:00.47ID:rtbMbXq3 >>877
検証に使った動画(AとBとします)をWEBスペース上に置いた状態(httpからURIを指定)での再生ではAB両方ともMediaPlayer機能及び動画アプリで再生できます。
スマホのストレージに保存した状態でもAとB両方ともMediaPlayer及び動画アプリでも再生できるので、アプリで再生できないコーデックであるということはないはずです。
しかしNASからバイト配列で受信してストリーミング再生しようと途中まで受信してRandomAccessFileを作成したときだけBのファイルがMediaPlayerで再生できなくなってしまう状態です。
この作成したAとBの一時ファイルを前述の動画アプリで再生しようとするとAは問題なく受信した部分まで再生できるのですが、やはりBは「このファイルは再生できない」といった類の
エラーが出て再生できません。
受信したバイト配列を元のファイルの物とも比較しましたが少なくとも受信した範囲までにおいて差異はありませんでした。
検証に使った動画(AとBとします)をWEBスペース上に置いた状態(httpからURIを指定)での再生ではAB両方ともMediaPlayer機能及び動画アプリで再生できます。
スマホのストレージに保存した状態でもAとB両方ともMediaPlayer及び動画アプリでも再生できるので、アプリで再生できないコーデックであるということはないはずです。
しかしNASからバイト配列で受信してストリーミング再生しようと途中まで受信してRandomAccessFileを作成したときだけBのファイルがMediaPlayerで再生できなくなってしまう状態です。
この作成したAとBの一時ファイルを前述の動画アプリで再生しようとするとAは問題なく受信した部分まで再生できるのですが、やはりBは「このファイルは再生できない」といった類の
エラーが出て再生できません。
受信したバイト配列を元のファイルの物とも比較しましたが少なくとも受信した範囲までにおいて差異はありませんでした。
879デフォルトの名無しさん
2017/09/21(木) 19:44:53.83ID:5Klyurai 単純にストリーミング再生に対応してない形式だったとかは?
880デフォルトの名無しさん
2017/09/21(木) 19:59:51.78ID:oaVZDK+l >受信したバイト配列を元のファイルの物とも比較しましたが少なくとも受信した範囲までにおいて差異はありませんでした。
じゃ、壊れてるわけじゃないのね。
ということは後考えられるのは、フォーマットはmp4?だか知らんが、MediaPlayerで再生するに必要なデータが
受信したデータのもっと後ろにあって再生できないとかそれぐらいしか思いつかんな。
じゃ、壊れてるわけじゃないのね。
ということは後考えられるのは、フォーマットはmp4?だか知らんが、MediaPlayerで再生するに必要なデータが
受信したデータのもっと後ろにあって再生できないとかそれぐらいしか思いつかんな。
881デフォルトの名無しさん
2017/09/21(木) 20:17:43.18ID:oaVZDK+l >受信したバイト配列を元のファイルの物とも比較しましたが少なくとも受信した範囲までにおいて差異はありませんでした。
じゃ、壊れてるわけじゃないのね。
ということは後考えられるのは、フォーマットはmp4?だか知らんが、MediaPlayerで再生するに必要なデータが
受信したデータのもっと後ろにあって再生できないとかそれぐらいしか思いつかんな。
じゃ、壊れてるわけじゃないのね。
ということは後考えられるのは、フォーマットはmp4?だか知らんが、MediaPlayerで再生するに必要なデータが
受信したデータのもっと後ろにあって再生できないとかそれぐらいしか思いつかんな。
882デフォルトの名無しさん
2017/09/21(木) 20:41:36.78ID:ykvCgSqi 大事なことみたいだな
883デフォルトの名無しさん
2017/09/21(木) 21:52:35.42ID:kkyna6sC パス・ファイルのアクセス権が無い。
パス・ファイル名に、英数字以外の文字が入っている。
ファイルのサイズが大きすぎる。
Aが再生中のままだから、同時には再生できない
もっと詳細なエラーメッセージが、取れないの?
パス・ファイル名に、英数字以外の文字が入っている。
ファイルのサイズが大きすぎる。
Aが再生中のままだから、同時には再生できない
もっと詳細なエラーメッセージが、取れないの?
884872
2017/09/21(木) 22:18:22.12ID:rtbMbXq3 >>880
ありがとうございます。
>受信したデータのもっと後ろにあって再生できない
これがビンゴでした。
最初に動画の最後尾からある程度のバイトストリームを引っこ抜いてRandomAccessFile作成時に最後尾に書き込んだ後
Inputstreamを初期化してあらためて取得したデータを最初からそのRandomAccessFileへ書き込んだところ無事再生できました。
ありがとうございます。
>受信したデータのもっと後ろにあって再生できない
これがビンゴでした。
最初に動画の最後尾からある程度のバイトストリームを引っこ抜いてRandomAccessFile作成時に最後尾に書き込んだ後
Inputstreamを初期化してあらためて取得したデータを最初からそのRandomAccessFileへ書き込んだところ無事再生できました。
885デフォルトの名無しさん
2017/09/21(木) 22:24:53.13ID:rtbMbXq3 あとなんかメル欄のsageが消えててアゲてしまいました。 すみません。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… [BFU★]
- アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 ★4 [お断り★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁 [七波羅探題★]
- 止まらぬ「日本売り」 高市財政への懸念で進む金利上昇と円安 [蚤の市★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★10 [樽悶★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 中国「高市が謝罪しなければ、ハニトラに引っかかった日本の政治家を公表する」 [804169411]
- 【実況】博衣こよりのえちえちカービィのエアライダー🧪
- 【悲報】高市政権、ホタテ輸出の支援検討 [834922174]
- 【35🌸専】なんG さくらみこ桃鉄配信実況スレ🏡【ホロライブ▶】
- 【高市朗報】なるべく「まんこ」だけで会話するスレ [904880432]
- 【憲法改正】起草委員会、設置へ [476729448]
