Androidプログラミング質問スレ revision55

■ このスレッドは過去ログ倉庫に格納されています
2018/08/14(火) 10:49:08.05ID:GQVl6hxG
※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 146匹目
http://mevius.2ch.net/test/read.cgi/tech/1487825717/
Eclipse統合M36【Java/C++/Ruby/Python/Scala】
http://mevius.2ch.net/test/read.cgi/tech/1503723668/
★★Java質問・相談スレッド180★★
http://mevius.2ch.net/test/read.cgi/tech/1492780397/
****オススメ関連リンク****
■ 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プログラミング質問スレ revision52
http://echo.2ch.net/test/read.cgi/tech/1479305887/
Androidプログラミング質問スレ revision53
http://mevius.2ch.net/test/read.cgi/tech/1488052551/
Androidプログラミング質問スレ revision54
https://mevius.5ch.net/test/read.cgi/tech/1510691057/
2019/04/01(月) 18:14:28.27ID:VP+R9+d7
NativeActivityは実行速度のためじゃなくて、Javaの開発環境が全く不要になるのが嬉しいんでない?
2019/04/05(金) 02:22:28.46ID:tpruYZB1
昔は3D描画系のコンテンツでNativeActivityからOpenGLを直叩きしていたけど、
最近は Unity/C# か UnrealEngine/C++ の組合せが多いと思う
同じ環境で携帯アプリにもVR機器にも両対応できるし
2019/04/11(木) 01:24:06.09ID:/v0FbjsZ
スタイルでname="Hoge1.Hoge2" parent="Hoge3"とある場合、Hoge3とHoge1どっちが先に継承されるの?
2019/04/11(木) 16:24:50.72ID:Vdr5wt14
カメラのシャッター音って変えれるの?
2019/04/11(木) 22:19:22.54ID:keXjngSk
ChMateのようなジェスチャーを実現するライブラリってありますか?
2019/04/12(金) 03:50:02.22ID:lalLxtDv
ジェスチャーディテクターなんてのがあったと思うが望んだ動作するかは知らんな
2019/04/12(金) 07:43:26.77ID:te3YG9IU
>>788
Hoge3

Hoge1は完全に無視される
2019/04/12(金) 07:58:26.94ID:H+O33s5u
>>791
ありがとうございます。
ジェスチャーディテクターで試してみます
794デフォルトの名無しさん
垢版 |
2019/04/12(金) 10:57:13.51ID:flqP6oiI
開発者オプションのアクティビティを保持しないを、
普通のユーザーが使ってるのか、本当にメモリ不足なのか知らないが
この設定の状況でクラッシュしてる事例が多い。
俺はActivityの再作成は…画面回転時・言語変更時
共に、android:configChangesにパラメータを設定して、
onConfigurationChangedを呼び出して、Activityの再作成は逃げてた。
逃げてた俺だが…アクティビティを保持しない設定は…、
逃れられない死が待っている…10パターンくらい回避の方法を
考えて実行したが、何やってもダメ、権限不足もある。
restoreするとなると…例えば、スレッド実行時だと、俺の発想では
リンク切れるタスクと新たに立ち上げたダイアログでpipe処理がいる。
こんなのどう考えても、狂人でしょう…厳しいわ…。
2019/04/12(金) 11:59:55.15ID:XBCCz5yJ
configChangesとか使わないで普通に今はViewModelとか使えば?
2019/04/12(金) 18:41:55.17ID:+CDO09PL
同じプロセス内なのになんでpipeなんているの?キュー構造と排他処理で十分では?
797デフォルトの名無しさん
垢版 |
2019/04/12(金) 19:23:44.46ID:flqP6oiI
直していくと決心した。
2019/04/12(金) 19:28:11.46ID:fkgKT7Pc
これから始めるならJavaでよりkotlinでの方がいいでしょうか
2019/04/12(金) 19:32:43.42ID:TovvodJ/
んむ
2019/04/12(金) 19:33:43.86ID:kEggQ1SC
世のサンプルはコトリンで書かれて来てるけどいままでの資産を持ってるところは相変わらずだろうね
2019/04/12(金) 20:41:32.03ID:Hve1aKTe
これから学ぶならXamarinでいいのでは?
アクティビティのライフサイクルとか面倒なこと考えなくていいし非同期楽だしJavaじゃないし良いことだらけ
クロスプラットフォームはもうこれでキマリって感じ
2019/04/12(金) 21:57:04.31ID:dPu+usP0
GPSのon/offをプログラムから制御するのって今無理なの?
起動と同時に勝手にonになって、正常に終了する時にoffにするとか
2019/04/12(金) 22:16:19.50ID:BmMFtE+r
aacのViewModel使ってもActivity破棄は対応できない
savedInstanceを使わないといけない
2019/04/12(金) 22:17:51.62ID:BmMFtE+r
Xamarin程の糞はない
805デフォルトの名無しさん
垢版 |
2019/04/13(土) 05:32:25.18ID:YL+INU76
pipeProgressDialogなんてものも考えたけど…
それだと今度はバックグラウンドプロセスが問題になりそうだし
はじめの死にかけのタスクを再作成前に拾って…ダイアログをもう一度showして
生き返らせる方がいいかもしれない。ちょっとやる気萎えてる。
806デフォルトの名無しさん
垢版 |
2019/04/13(土) 05:42:48.02ID:YL+INU76
間違えた…考えてたのはpipeなんたらTaskだった。
バックグラウンドプロセス制限でもめそうなのでボツ。
タスクを生き返らせる方針…。
807デフォルトの名無しさん
垢版 |
2019/04/13(土) 05:46:35.73ID:YL+INU76
そもそも直列でそんな事できないか…。
2019/04/13(土) 08:39:54.65ID:y45++mnP
ここ読んどけ
https://developer.android.com/training/basics/activity-lifecycle/recreating
2019/04/13(土) 09:43:37.26ID:77kwX/Y2
>>801
ザマリン使ってる人の推しは見かけるけど実際に使われてるのか疑問ってほどに見かけないな
2019/04/13(土) 09:50:35.54ID:yEHQdNAS
そもそもなんでactivityを保持しないとクラッシュするんだ
2019/04/13(土) 10:07:17.90ID:U0TmzhoK
以下、wasm 製の手作り ToolKit なんだけど、
MIT/BSDライセンスでソース公開すれば、みんなの知恵と力を借りることは出来る?
特に、オイラはひきこもりなので、AndoridやiOSのマシンを持ってないので、
タッチパネルやソフトウェアキーボードの実機テストが出来ないのござるよ。
特に今のままだと、Widget の edit 要素は、キーボードが無いと全く入力できないはず。

http://nowsmartsoft.atwebpages.com/

[WebGLを使った山岳地形3Dスクロールテスト]
http://nowsmartsoft.atwebpages.com/demo_Mountain/index.html

[手作り Widget のテスト(Windows native版とソース共通)]
http://nowsmartsoft.atwebpages.com/demo1/index.html
812L
垢版 |
2019/04/13(土) 10:58:17.64ID:U0TmzhoK
>>811
wasmをbackendにした時には全く知らなかったけど、以下のような認識に辿りついてしまった
(間違ってるかもしれないけど。)。
1. Androidマシンは、Android NDK の NativeActivity を使えば、Javaの仮想コードだけでなく、
 ARMやx86 などのそれぞれのCPUの native binary code がそのまま(?)実行できる。
2.それらのコードは、Java仮想マシンが解釈実行しているわけではなく、CPUが直接そのまま実行
 している。
3. それらの native code から Javaのクラス・メソッドを呼び出せる方法がある。
4. 色々なCPUのバイナリコードを1つのAPKの中にパッケージして配布することも出来る。
5. Android NDKは、使用言語がgccだったが、clangへ変わってきている。
6. コンパイラに -march=xxx-xxx-xxx みたいなオプションを渡して、ARMやx86
 を切り替えてコンパイルしている。
7. ということは、フロントエンドがLLVMを出力しさえすれば、どんな言語(?)でも、
 NativeActivityを使える可能性がある。
813デフォルトの名無しさん
垢版 |
2019/04/13(土) 11:11:15.16ID:EPtK6Lhb
Ubuntu14.04 Disktop にインストールしたAndroid Studioを完全削除するには

インストール時に作成された~/Android, ~/AndroidStudioProjectsディレクトリ
以下を
削除するだけでOKですか?
2019/04/13(土) 11:48:19.52ID:H1cmGwAf
homeに不可視フォルダが少々
815デフォルトの名無しさん
垢版 |
2019/04/13(土) 12:28:07.75ID:YL+INU76
アクティビティを保持しない設定だけど…一概にこの設定をしてるせいではないかもしれない。
メモリ4GBの端末でOutOfMemoryしてる人も居た…。OutOfMemoryはtry-catchしてるが、
偶然忘れてる箇所があって…同じクラスでdismissでillegal出てたりとエラーが混在してるが…
OutOfMemoryは拾えずにフォアグラウンドで落ちるケースが4.0系でのテストであった、
どういう挙動でメッセージとかははっきり覚えてないけど…そういう場合もあるし…。
本当にメモリ不足の可能性も出てきた…。とりあえず、restore対応は保留しとくわ…。
メモリ不足だと落ちちゃってくれていいので…。
しかし…激痛なのはSDCARDに保存時にgoogleシステムのファイラーみたいなの立ち上げるじゃん…。
そのSDCARD選択のActivityを立ち上げただけで、自アプリはバックグラウンドで落ちる…。
この挙動で僕は設定じゃないかと疑ってたんだけど…どっちか解らなくなってきた。
今、新たに新アプリを開発してて、それを中断して悩んでる…。
816デフォルトの名無しさん
垢版 |
2019/04/13(土) 12:33:26.84ID:YL+INU76
確率では0.1%くらいだと思う…設定なのかメモリなのか解らない…。
2019/04/13(土) 15:06:30.87ID:USZhg4Xi
だから、ViewModel使えよ。そうすりゃ、ViewModelがスレッド(タスク)の参照保持できるから、死にかけのタスクというより前のタスクをそのまま利用できる
2019/04/13(土) 15:18:43.19ID:USZhg4Xi
今なら構成変更のActivityの再作成に対応するためにはViewModelですっきり書けるのに。
メモリ不足によるプロセスキルによるActivityの再作成で続きを実行するようにしたければsavedinstaceも使えばいい。

構成変更だけならViewModelだけ使えばいい
2019/04/13(土) 17:08:23.72ID:VNwT4dsM
>>802
GPSの機能自体をON/OFFするのは4.0くらいから出来なくなっている

GPSを使うアプリケーションでGPSに電力を食われないためにGPSの
機能をOFFにする必要はなくて、GPSの計測処理を停止すればGPSが
電力を消費することはなくなるよ
GPSの計測が始まると通知領域の左側にでる↓矢印みたいなのが
出ているときしか電力消費増えないので確認してみて

ただし機種によってはGPSの計測を断続的に行うと計測精度が落ちたり
うまく計測できないものもあるかも
2019/04/13(土) 21:22:41.92ID:9J0Z+egW
>>819
ありがとうございます!
やってみます
2019/04/14(日) 00:37:29.85ID:ojXftBSV
>>814
おっと、いろいろ有ったわ
drwxrwxr-x .AndroidStudio3.0

drwxrwxr-x .android

-rw------- .emulator_console_auth_token

drwxrwxr-x .gradle

drwxrwxr-x .java

-rw-r--r-- examples.desktop
2019/04/14(日) 01:57:52.31ID:JcyK1Ewz
2つのスマホでwifiでチャットをする場合
難易度はどのぐらいですか?

ブルートゥースも通信系はやったことない

ボタンクリックリスナーとかみたいなレベルでなく
調べてコピペしても簡単にはうごかないですよねー
2019/04/14(日) 02:23:29.96ID:JcyK1Ewz
つくっていてこういうの作りたいけど
こっちの方が調べなくても手軽だからという感じで
操作性を無視して簡単な方を作るみたいなのはよくありますか?
2019/04/14(日) 12:00:32.54ID:qfPa52oD
個人で遊んでるならまぁある
仕事でお客さんにそう作ると説明してれば勝手に変更はない
2019/04/14(日) 12:32:34.74ID:P64/l7RE
自社サービス開発はその間くらい
2019/04/14(日) 17:01:54.94ID:6Jt8mn7C
>>822
WiFiでチャットって時点で微妙かなw
WiFiはTCP/IPで接続するのでWiFiって言うより普通にTCP/IPの通信プログラムに
画面周りを作るって感じなので、コピペの組み合わせで出来なくもないけど初心者が
手を出すほど簡単でもない
特に同一ネットワークセグメント内であればまだしもWiFi経由でインターネットごしとか
なってくるとすごく大変
GitHUB探せばそういうサンプル色々あるのでそれみて勉強しれって感じかな

>>823
趣味なら好みなんじゃない
自分だけで使う分には操作性悪くても問題にはならないだろうし
仕事ならば予算と納期しだいかな
いまどきゆったり納期1年あげるとかないだろうけど、予算はあるので人海戦術で
1ヶ月であげろとか言うのもかなり無理筋だし(でかい会社がよくやる失敗)
まぁ、大抵は低予算、短納期でグダグダになるんだけどね
2019/04/17(水) 21:54:30.76ID:cu75Ojy3
Android SDK の EULA には、他の開発環境を作ってはいけない、
という条項が有る。しかし、SDKのほぼ100%のソースが、Apache
ライセンスなので、BSDよりもさらに自由度の高いものとなっている。
つまり、今までOSSだと言っておいて、ここ最近、プロプライエタリみたいな
事をいい始めたのかな。しかし、MSの場合、金さえ払えば開発環境を禁止
する条項は無い。Android は独占禁止法違反の疑いが高い。
2019/04/17(水) 22:02:02.54ID:v6vlhahS
>>827
「EULA」に、他の開発環境を「作っては」いけない、とあるのか??
2019/04/18(木) 00:22:36.28ID:xpC+XoNH
アパッチライセンスに禁止条項の追加禁止条項なんて有ったっけ?
2019/04/18(木) 02:22:18.16ID:YxwZKkIU
Android SDK のライセンス契約読んでみたが、OSS のコンポーネントは本ライセンス契約ではなくてその OSS のライセンス条件のみに準拠すると書いてあったよ
2019/04/18(木) 07:11:05.54ID:XtndMXiD
そもそも開発環境の作成を禁止なんてできないだろ…
>>827はネタ投下かよほどの頓珍漢野郎だろw
2019/04/18(木) 09:03:23.25ID:10ne17ki
3. Google が付与する SDK ライセンス

3.2 デベロッパーは、本 SDK を使用して、他のプラットフォーム
Android の非対応端末を含む)向けのアプリを開発することも、
別の SDK を開発することもできません。ただし、本 SDK を当該
の開発目的で使用しないのであれば、デベロッパーは、Android
の非対応端末を含む他のプラットフォーム向けのアプリの開発を
自由に行うことができます。

3.4 デベロッパーは、本ライセンス契約により明示的に許可され
ていない目的で SDK を使用することはできません。該当する
第三者のライセンスにより必要とされる場合を除き、デベロッパー
は、SDK またはその一部をコピー(バックアップを目的とする
場合を除く)、変更、改造、再配布、逆コンパイル、リバース
エンジニアリング、逆アセンブルしたり、その派生物を作成
したりすることはできません。
2019/04/18(木) 09:04:55.74ID:10ne17ki
ところが不思議なことに、矛盾する条項もある(ダブル・スタンダード?):

3.5 オープンソース ソフトウェア ライセンスに基づいて使用を
許諾された SDK のコンポーネントの使用、複製、および配布は、
本ライセンス契約ではなく当該のオープンソース ソフトウェア
ライセンスの条件のみに準拠します。
2019/04/18(木) 09:06:25.32ID:10ne17ki
>>828
>>832
3.2 デベロッパーは、本 SDK を使用して、他のプラットフォーム
Android の非対応端末を含む)向けのアプリを開発することも、
別の SDK を開発することもできません。
2019/04/18(木) 09:08:32.33ID:10ne17ki
矛盾する条項(二重基準?):

3.2 You may not use this SDK to develop applications for other platforms
(including non-compatible implementations of Android) or to develop
another SDK. You are of course free to develop applications for other
platforms, including non-compatible implementations of Android,
provided that this SDK is not used for that purpose.

3.5 Use, reproduction and distribution of components of the SDK
licensed under an open source software license are governed solely
by the terms of that open source software license and not the
License Agreement.
2019/04/18(木) 09:09:23.99ID:10ne17ki
3.2 You may not use this SDK to develop another SDK.
2019/04/18(木) 11:21:39.26ID:DGFpykmi
それ、Android studio と Command line tools をダウンロードするときの利用規約だからね
Android studio のメイン部分である Intellj IDEA は JetBrains の製品で、Google が JetBrains に利用料を払って Android アプリ開発目的での使用に限定して無料配布する許諾を得ているはず
この IntelljIDEA を Android アプリ開発目的以外で使う事が OK だったら、JetBrains は自社の製品を完全無料にすることになるからね
838デフォルトの名無しさん
垢版 |
2019/04/18(木) 11:33:02.60ID:10ne17ki
Java Byte コードを Oracle 形式の *.class から
Android Delvik 形式の *.dex に直す、dx.bat と dx.jar や、
PCとAndroidデバイス/Emulator を結ぶデバッグツールの
Android Debug Bridge の adb.exe,
Android 用のJavaライブラリをまとめた Android.jar
*.dex を apk に直す aapt.exe
なんかは、Android開発に必須で、Apache Licenseのはずなんだけど、
それらは、EULA に従う必要は無いんでしょうか。

英語サイトに寄れば、ソースは OSS で、バイナリは EULAに従うこと必須、
などという解釈もあるそうですが。ならば、自分でビルドすれば問題ない
という事ですかね。
2019/04/18(木) 11:34:11.54ID:gEThlgWM
>>835
for that purposeのthatって何処にかかってるんだ?
2019/04/18(木) 11:47:12.05ID:10ne17ki
>>839
develop applications for other platforms
だと思う。
2019/04/18(木) 11:48:10.62ID:10ne17ki
ちなみに、知ってるかもしれないけど、
provided that は、大体、「if」の意味だと思う。
2019/04/18(木) 12:07:15.61ID:DGFpykmi
>>838
aapt.exe置いてあるディレクトリのNOTICE.txt に従えばいいんでない?
2019/04/18(木) 12:33:06.62ID:10ne17ki
Android.jar はどうなんでしょう?
2019/04/18(木) 12:34:54.38ID:gEThlgWM
>>840
それはない。
それだと以下のようになって意味不明になる。
You are of course free to develop applications for other
platforms ...,
provided that this SDK is not used for the purpose of developing applications for other
platforms.
2019/04/18(木) 12:41:25.82ID:DGFpykmi
>>843
多分 jar の中に NOTICE がある
846デフォルトの名無しさん
垢版 |
2019/04/18(木) 13:07:27.12ID:10ne17ki
>>844
オイラは英語は結構得意だったんだよ。
日本語訳は上の方にあるから見たら。
2019/04/18(木) 13:26:39.43ID:DGFpykmi
日本語のページからダウンロードするときは Google が公式に日本語で用意した利用規約に同意することになるから
英語の方を読んで理解する必要はないぞ
2019/04/18(木) 13:36:17.32ID:10ne17ki
>>845
展開してみたけど、残念ながら入って無いようでした。
2019/04/18(木) 13:43:03.84ID:DGFpykmi
>>848
platforms/android-28/android.jar の中には NOTICES フォルダがあったよ
いま確認した
2019/04/18(木) 14:09:37.97ID:+ZBSSGUP
そのjarの中見て何がしたいんだか
2019/04/18(木) 14:20:47.01ID:g9a63+qm
アプリの複数あるActivityに同じアイコンを同じ位置に表示したいです

いい方法が分からず、現在は全てのActivityのレイアウトファイルにアイコンのfragmentを埋め込んでいます

処理が同じなので1カ所コードを書くだけにしたいのですが、方法を教えて頂け無いでしょうか?
2019/04/18(木) 14:24:03.31ID:pZv3cOSv
そんなのみたことないな

右下の+のことかな
2019/04/18(木) 14:34:59.66ID:pZv3cOSv
右下に常に+がでてるわけで
そこ調べたら同じことできるんじゃね
2019/04/18(木) 15:16:11.83ID:vdI+NysA
1カ所にコード書いてそれを複数から呼び出せるようにすればいいんじゃね
2019/04/18(木) 15:23:40.95ID:pZv3cOSv
テレビの右上のNHKとかなんかそういう表示ほしいんでしょ
それなら+のやつを改造しちゃえばずーっと出てるようになる
改造してる人はいたわ
2019/04/18(木) 15:26:53.80ID:pZv3cOSv
+の画像があるはずだから
それ探してそこのクラスの仕組みみて
アイコンだけ出るようにしちゃうといい
2019/04/18(木) 15:27:16.24ID:pZv3cOSv
>>854
>処理が同じなので1カ所コードを書くだけにしたいのですが、方法を教えて頂け無いでしょうか?
2019/04/18(木) 15:33:36.85ID:7sA7WyAe
>>846
あなたの英語力なんてどうでもいいんだが…

日本語訳も何を示してるのかよくわからん。このEULAは推敲されてるのだろうか
2019/04/18(木) 15:45:41.09ID:pZv3cOSv
>>839
その前に文章があるんじゃないの
街頭の目的ってあるでしょ
2019/04/18(木) 17:18:30.08ID:rZayq1zq
>>858
多分、わざと玉虫色にして混乱させてるんだと思う。いわゆるFUDみたいな
もので、訴えられたら困るから開発辞退する人が出てくるのを狙ってる
気がする。アメリカ企業はみんなそんなやり口。
2019/04/18(木) 18:14:59.75ID:nke+qaLz
>>851
Activityの背景(windowBackground)に入れたら?
2019/04/18(木) 21:20:44.67ID:XtndMXiD
>>844
どこが意味不明なんだ?
要するにこのSDK使って他のプラットフォームのアプリ開発すんな
もちろんこのSDK使わなきゃ他のアプリ開発してもいいぞ
って言ってるだけやん
2019/04/18(木) 23:50:25.05ID:xpC+XoNH
EULAを承諾する事で利用する権利を得る契約をしているんだから、従う義務が有る。
不法な条項が有ればそれを指摘して契約条件を修正する事も可能だが、勝手に無視して解約違反する事はしない方が良い。
GPLを組み込んで配布したせいで全ソースの開示をせざるを得なかったソフト屋が有ったな。

今回はアパッチライセンスが元なんだろうから、ソース開示義務も無いし利用制限を付加するのも問題無い。
色んなライセンスが入り乱れた環境だから、部分的に切り出した部分が真逆の内容でも不思議じゃない。
864851
垢版 |
2019/04/19(金) 12:56:40.41ID:/EsXSlia
皆様、いろいろありがとうございます
とりあえず、すべての画面の共通クラスを作って、setContentViewの後に、動的にアイコンを追加する方法を試しています
865851
垢版 |
2019/04/19(金) 12:58:56.46ID:/EsXSlia
>>861
それも試してみます
ありがとうございます
2019/04/20(土) 05:07:33.39ID:2GfzAlWe
UnityってProguardってどうなってるんですか
2019/04/20(土) 07:07:36.68ID:j02blWL2
java用ツールなので
2019/04/22(月) 05:23:17.71ID:/PZ+E9Cj
Unityのプログラムは全てがネイティブの共有ライブラリになる
Javaコードは.soを読み込む最低限のActivityしかないよ

ちなみにUnrealEngineも大体同じ構造
869L
垢版 |
2019/04/23(火) 14:03:06.47ID:b0TXVq9M
関係ないけど、コマンドラインから gradle や ant を使わずに、
大体役割が理解できるコマンドだけを使って、Androidの
JNIを使ったHelloWorldプログラムのビルドが今、丁度出来た。
870L
垢版 |
2019/04/23(火) 17:43:06.65ID:b0TXVq9M
clangやLLVMの本家ばかり探していて見つからなかったけど、
armclang なるものがあったんだ〜。
WindowsやLinux上でARM用のバイナリが生成できるらしい。
ARMといえば、Andoridの主流のCPUで、日本のソフトバンクが
買収したんだよね、確か。
871L
垢版 |
2019/04/23(火) 18:58:14.65ID:b0TXVq9M
C言語のコンパイル部分をclangにして、JNIの呼び出しに成功したよ〜。
2019/04/24(水) 20:59:52.61ID:A47MWj4E
それなんてAndroid NDK?
873L
垢版 |
2019/04/24(水) 21:58:20.94ID:AFjMEgxB
NDK Rev16 だと思う。
2019/04/24(水) 22:06:30.17ID:AFjMEgxB
VS2019のNDKを使ってる。
Google公式では NDK 16 では「gccがサポートされなくなっている」と
されてるけど、一番素直にJNIを使うのはgccではないのかと思ってたんだけど、
どういうことなんだろう。
自分の場合は、ちょっとトリッキーな方法で、front-endをclang、
back-endをgccにしてやってみてる。
その中間に複雑なチョメチョメを施してる。
2019/04/24(水) 22:14:15.09ID:AFjMEgxB
というか、そもそもARMの可読アセンブリ言語をARMのnativeバイナリにする
ようなアセンブラは、普通のclangやLLVMには見つけられなかった。
gccにはある。>>870の armclang にはあるかも知れない。
2019/04/24(水) 23:10:55.24ID:JvprRVGM
チャット機能を作りたいと思ってるんですが、
firebase realtimedatabaseみたいに
チャットの書き込みがあったらアプリ側で特に
リロード操作しなくてもアプリの処理が呼ばれて
チャットの書き込みが更新されるみたいなことを
realtimedatabaseを使わずにやりたいんですが
どうやったらいいんでしょうか
2019/04/26(金) 16:21:15.21ID:3fzsNzSP
>>876
Web上にChatのデータを保存することになるだろうから、
そのデータの更新時刻を、XHRなどを使ってアプリ側から時々見に行って
ローカルに持っているデータの時刻と比較してもし新しくなっていたら
データをXHRで読み込めばいいと思う。

例えば、2秒ごとに起動するタイマーを使って、時々更新時刻を
見に行けばよい。
2019/04/26(金) 19:21:47.95ID:zw/xlPYb
定期的に通信するのはどうなんすかね
書き込みがされたタイミングでサーバー側からpush的にアプリの処理を呼んでほしいですね
2019/04/27(土) 01:30:04.06ID:euRkRBym
>>878
apacheやmongooeのような(httpを処理する)「WebServer」は、
外からのリクエストを待機することはできることはできる。
ただし、その場合、localhost:8080 (127.0.0.1:8080) のような
ポートを、「port forwarding」して、まず、LAN(local area network)
に見えるようにして、それをさらに、WAN に出すことが必要に
なるそうだ。大体以下の順序で行うと思う。
1. mongoose でWebServer を立てる。この段階で、local の file system
 を、loopback address と呼ばれる、127.nnn.nnn.nnn の
 IPアドレスで、http://127.nnn.nnn.nnn:ポート番号/パス名
 でアクセスできるようになる。
2. port forwarding を使って、それを、LANの中の他の機器から
 見えるようにする。
3. DSU やルーターに、そのIPアドレスをプロバイダが提供している
 IPアドレスに変換して、WANで世界中に見えるようにする。
880879
垢版 |
2019/04/27(土) 01:40:21.70ID:euRkRBym
「Socket」を使えばできるかもしれないけれど、複雑すぎてちゃんと理解
できてないので、オイラには分らないので悪しからず。
2019/04/27(土) 02:01:19.63ID:euRkRBym
http://www.rsch.tuis.ac.jp/~mizutani/online/software-basic2002/socket-http.html
↑を見ていたら、host="http://www.edu.tuis.ac.jp";;
HTTP_port=80; filepath="index.html" として、以下のようにすれば、
http サーバーと通信できるらしいね。この書き方からすれば、httpサーバー以外
とも通信できそう。Sockeは双方向通信なので、逆にリモートサーバーからの
通信を待機することもできるかもしれない。
Socket http = new Socket(host, HTTP_port);
networkIn = new BufferedReader(
new InputStreamReader(http.getInputStream()));
networkOut = new PrintWriter(http.getOutputStream());

System.out.println("HTTPサーバ" + host + " に接続...");
networkOut.print("GET " + filepath + " HTTP/1.1\n");
networkOut.print("HOST: " + host + "\n");
networkOut.print("\r\n\r\n");
networkOut.flush();
while ((line = networkIn.readLine()) != null) {
System.out.print(line + "\n");
}
2019/04/27(土) 17:09:42.82ID:B1XuG/kL
lineとかslackとかchatworkとかもそんなsocketのプログラミングしてるんでしょうか
realtimedatabaseでもないような気がするんですが
どうやってるんでしょうか
2019/04/27(土) 17:17:32.11ID:qeeXm/J8
https://qiita.com/mono0926/items/bb7fdd912bc338096f57
2019/04/27(土) 18:55:48.80ID:5Pwzu6Dd
MQTT使えば?
2019/04/28(日) 08:38:09.83ID:Bja1lQNx
Webサーバーたてるとかソケットでやるとか、ユーザーのルータ越えできなくて終了よ
>>883見て理解できないor理解できるようになれないなら素直にポーリングにしとけ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況