このスレでは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
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
2017/02/26(日) 04:55:51.88ID:wLeuQZIw812デフォルトの名無しさん
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が消えててアゲてしまいました。 すみません。
886デフォルトの名無しさん
2017/09/21(木) 22:30:12.56ID:mNL9nIoK MediaPlayerにURI渡せば勝手にストリーミングしてくれてたから気づかなかったけど自前でやろうとしたらそんなめんどくさいことしなあかんかったのか…
887デフォルトの名無しさん
2017/09/21(木) 22:36:44.77ID:oaVZDK+l >最初に動画の最後尾からある程度のバイトストリームを引っこ抜いてRandomAccessFile作成時に最後尾に書き込んだ後
>Inputstreamを初期化してあらためて取得したデータを最初からそのRandomAccessFileへ書き込んだところ無事再生できました
でもそれじゃ根本的な解決にはならんよね。動画ファイルによっても、最後尾じゃなくて中間あたりのデータが必要になっちゃったりとか。
まぁ、具体的に何をしたいのかわからんが。
>Inputstreamを初期化してあらためて取得したデータを最初からそのRandomAccessFileへ書き込んだところ無事再生できました
でもそれじゃ根本的な解決にはならんよね。動画ファイルによっても、最後尾じゃなくて中間あたりのデータが必要になっちゃったりとか。
まぁ、具体的に何をしたいのかわからんが。
888デフォルトの名無しさん
2017/09/21(木) 22:46:31.28ID:mNL9nIoK >>887
中間に必須データを置く動画フォーマットは無いんじゃないかなあ…
動画って基本サイズバラバラだしどこにあるかわからんデータでは面倒なだけだし大抵は先頭か尻ではないかと。
まあ世の中には無数のフォーマットあるから断定はできないけども
中間に必須データを置く動画フォーマットは無いんじゃないかなあ…
動画って基本サイズバラバラだしどこにあるかわからんデータでは面倒なだけだし大抵は先頭か尻ではないかと。
まあ世の中には無数のフォーマットあるから断定はできないけども
889デフォルトの名無しさん
2017/09/21(木) 23:11:22.04ID:oaVZDK+l >必須データ
その必須部分の定義が問題なんだよな。パーサーによっても変わったりするからな。パーサーがエラーで落としてるのもどこで落としてるのか
すべて実装次第だし。
その必須部分の定義が問題なんだよな。パーサーによっても変わったりするからな。パーサーがエラーで落としてるのもどこで落としてるのか
すべて実装次第だし。
890デフォルトの名無しさん
2017/09/21(木) 23:42:58.84ID:oaVZDK+l つか、>>872をしっかり読むと
>動画データをストリーミング再生で
カスタムストリーミング再生アプリ作りたいならその方法じゃ行き詰って無理だと思う。
API Level 23の
MediaPlayerのsetDataSource (MediaDataSource dataSource)
を使って、カスタムMediaDataSourceを実装するしか方法ないような気がする。
>動画データをストリーミング再生で
カスタムストリーミング再生アプリ作りたいならその方法じゃ行き詰って無理だと思う。
API Level 23の
MediaPlayerのsetDataSource (MediaDataSource dataSource)
を使って、カスタムMediaDataSourceを実装するしか方法ないような気がする。
891デフォルトの名無しさん
2017/09/23(土) 19:49:51.36ID:Tcv0uwXr 同じストレージでIOが足りないんじゃないの
892デフォルトの名無しさん
2017/09/24(日) 02:19:25.72ID:HEiNbXZ3 modelのあるプロパティの変更を、viewModelが中継して、
databindingでviewに反映させたいんですが、
単に中継するためのObservableFieldはviewModelにどう書いたらいいんでしょうか
databindingでviewに反映させたいんですが、
単に中継するためのObservableFieldはviewModelにどう書いたらいいんでしょうか
893デフォルトの名無しさん
2017/09/24(日) 02:42:05.58ID:HEiNbXZ3 単にmodelにObservableFieldを持たせてそれをviewModelで参照するだけでできました
894デフォルトの名無しさん
2017/09/24(日) 09:08:49.16ID:6polGd3B sw600dp〜はタブレット用レイアウト、みたいなのって
マルチウインドウ使うと破綻しねぇ?
マルチウインドウ使うと破綻しねぇ?
895デフォルトの名無しさん
2017/09/24(日) 22:01:32.54ID:uHM8lnoy 数年ぶりにAndroidアプリ作ろう思ってAndroidStudio2.3.3入れたんだけど
ProjectウィザードにC/C++supportチェックボックスとかあるけど
これEclipsの頃のめんどくさいcmakeとかやらんでええの?
ProjectウィザードにC/C++supportチェックボックスとかあるけど
これEclipsの頃のめんどくさいcmakeとかやらんでええの?
896デフォルトの名無しさん
2017/09/25(月) 00:04:34.67ID:79ogVgxI API通信で可変個数のIDの入ったlistを取得して、
その後、そのIDを引数にとる別のAPI通信をIDの個数分実行(それぞれ非同期)して、
全てのIDの分API通信が完了したら次の処理を実行する、
としたいんですが、RxJavaでどう書いたらいいでしょうか
その後、そのIDを引数にとる別のAPI通信をIDの個数分実行(それぞれ非同期)して、
全てのIDの分API通信が完了したら次の処理を実行する、
としたいんですが、RxJavaでどう書いたらいいでしょうか
897デフォルトの名無しさん
2017/09/26(火) 15:39:21.49ID:ORDNGFqd 現在稼働中のプロセス一覧ってもう瞬間できないですか?
898デフォルトの名無しさん
2017/09/26(火) 15:39:40.16ID:ORDNGFqd 瞬間ではなく取得でした
899デフォルトの名無しさん
2017/09/26(火) 22:43:53.70ID:frqc10Ys Android Studio 2.3.3ってリソースから dimens.xml なくなっちゃったの?
900デフォルトの名無しさん
2017/09/26(火) 22:44:40.45ID:GaOlaCIC 自分で作ればいいよ…
901デフォルトの名無しさん
2017/09/27(水) 18:34:21.71ID:WZzttFcs AutoBackupについて質問です。
自作アプリのバックアップがAutoBackupにバックアップされません。
それ以前に、GoogleDriveのバックアップアプリデータを見ると、Google純正アプリしかバックアップされていないように見えます。
何か原因として思いつく方いますか?
なお、OreoのPixelです。
自作アプリのバックアップがAutoBackupにバックアップされません。
それ以前に、GoogleDriveのバックアップアプリデータを見ると、Google純正アプリしかバックアップされていないように見えます。
何か原因として思いつく方いますか?
なお、OreoのPixelです。
902デフォルトの名無しさん
2017/09/27(水) 20:43:40.75ID:XrzN40r6 Pixelとか生意気や
903デフォルトの名無しさん
2017/09/28(木) 13:11:28.26ID:/Zdr4PRo >>890
でもAPI23以前でも問題なくSAMBAサーバーからのストリーミング再生可能にしてるアプリあるから
MediaDataSource使わない方法でも行けると思う…
というか互換性考えたら一番確実なのは自前でバイトストリームを操作するしかないんじゃないかなぁ…
でもAPI23以前でも問題なくSAMBAサーバーからのストリーミング再生可能にしてるアプリあるから
MediaDataSource使わない方法でも行けると思う…
というか互換性考えたら一番確実なのは自前でバイトストリームを操作するしかないんじゃないかなぁ…
904デフォルトの名無しさん
2017/09/29(金) 06:25:12.43ID:SnAuA58t905デフォルトの名無しさん
2017/09/30(土) 13:49:57.27ID:pvWSgKNN 一つの画面にlistになっている部分とlistじゃない部分を混在させて表示したいんですが、
その場合にどうレイアウトするのが正しいでしょうか
recyclerViewを使ってviewTypeで分けて作るでできそうですが、
複雑になりそうなので。
NestedScrollviewでは画面外のviewはrecycleされないでしょうか
その場合にどうレイアウトするのが正しいでしょうか
recyclerViewを使ってviewTypeで分けて作るでできそうですが、
複雑になりそうなので。
NestedScrollviewでは画面外のviewはrecycleされないでしょうか
906デフォルトの名無しさん
2017/09/30(土) 19:43:11.14ID:PGLh/PSA907デフォルトの名無しさん
2017/09/30(土) 20:04:01.56ID:bkANRjG7 >>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が複雑になって分かりづらいので、もっと良い方法はないかなと。
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が複雑になって分かりづらいので、もっと良い方法はないかなと。
908907
2017/09/30(土) 20:15:24.75ID:bkANRjG7 TextViewと言っていますが、実際はImageViewとかその他複数のviewがセットになったviewです
909デフォルトの名無しさん
2017/09/30(土) 20:40:19.73ID:Yx0j/zog ListViewとかは項目をたくさん表示するからリサイクルしようってことで、ListView以外の部分は
実際はImageViewとかその他複数viewがセットになったのかもしれんが
どうせ上と下の2個でメモリ気にするほどすごいことになってるの??
実際はImageViewとかその他複数viewがセットになったのかもしれんが
どうせ上と下の2個でメモリ気にするほどすごいことになってるの??
910デフォルトの名無しさん
2017/09/30(土) 20:48:12.88ID:bkANRjG7 画像を使っているので、画面外に行った場合は解放した方が良いように思います
それと、現状は上下2個ですがさらに項目は増える可能性があり、
ListView部分がなくても画面に入りきらなくてスクロールさせないといけないような感じです。
それと、現状は上下2個ですがさらに項目は増える可能性があり、
ListView部分がなくても画面に入りきらなくてスクロールさせないといけないような感じです。
911デフォルトの名無しさん
2017/10/06(金) 23:59:04.27ID:kJI2p8c3 Nexus5xがOSV終了
Pixel2日本発売予定なし
リファレンス機消滅のお知らせ
グーグル日本軽視しすぎで草
Pixel2日本発売予定なし
リファレンス機消滅のお知らせ
グーグル日本軽視しすぎで草
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★5 [BFU★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【ローソン】ロゴの「L」で誤解生んだコーヒーカップ、デザイン変更へ 在庫使い切る3か月後にリニューアル [ぐれ★]
- 【悲報】SANA、発言撤回拒否 [769931615]
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- ジャーナリストがテレビで解説「台湾問題は高市総理から言ったのではなく、立憲民主が日本の対応可能能力を暴こうとしたから」 [359572271]
- 俺性格悪いなって思った瞬間あげてけ
- 船井「ククク…♥残念やけどカイジさんはこれで別室行きや…♥」黒服「来いっ…♥」カイジ「やめろ!やめてくれっ…!」
