古いメモ1
古いメモ2


spam避け
String operator"" s(const char* str, std::size_t length)
{
  return String(str);
}

int operator"" km(unsigned long long x)
{
  return static_cast<int>(x) * 1000;
}
System256でキン肉マンマッスルグランプリ2(1だと不可)を起動して
「SYSTEM256 MODE SETTING ERROR」と表示されているときに
ボタン
123 123 4321232
123 123 4321231
START
の順番に押すと起動できる。
3ボタンの筐体が多くてできないかもだけど…
System256だとCPUは1.33倍になって処理落ちが減ってRAMが多いからキャッシュが効く。
System256の246モードだとキャッシュが効くんだったかなぁ…?
もう昔過ぎて忘れた…
[Unity]アンドロイドでバックボタンを押した時の処理
// プラットフォームがアンドロイドかチェック
if (Application.platform == RuntimePlatform.Android)
{
    if (Input.GetKeyDown(KeyCode.Escape))
    {
        Application.Quit();
        return;
    }
}
OpenVRとOpenGLの座標系は同じっぽい
       (y+)   奥(z-)
       ↑   /
       |  /
       | /
       |/
(x-)-----+----→(x+)
      /|
     / |
    /  |
    ↙   |
手前(z+)   (y-)
// aとbが同じだったらtrue (a == bのfloat版)
#define _USE_MATH_DEFINES
#include <math.h>
bool approximatelyf(float a, float b)
{
	if(fabs(a - b) <= DBL_EPSILON * fmaxf(1.0f, fmaxf(fabs(a), fabs(b))))
	{
		return true;
	}
	return false;
}
■プロジェクトに外部モジュール追加
libdms, dms, lpng, ssalib, libogg, libvorbisを追加した場合。libvorbisはliboggを参照しているのでliboggの下に追加。

・settings.gradle
include ':app', ':libdms', ':dms', ':lpng', ':ssalib', ':libogg', ':libvorbis'
project(':libdms').projectDir = new File(settingsDir, '../../../libDms/project/androidstudio/libdms')
project(':dms').projectDir = new File(settingsDir, '../../../libDms/project/androidstudio/dms')
project(':lpng').projectDir = new File(settingsDir, '../../../lpng/project/androidstudio/lpng')
project(':ssalib').projectDir = new File(settingsDir, '../../../ssalib/project/androidstudio/ssalib')
project(':libogg').projectDir = new File(settingsDir, '../../../libogg/project/androidstudio/ogg')
project(':libvorbis').projectDir = new File(settingsDir, '../../../libvorbis/project/androidstudio/vorbis')

・app\build.gradle
dependencies {
    implementation project(path: ':libdms')
    implementation project(path: ':dms')
    implementation project(path: ':lpng')
    implementation project(path: ':ssalib')
    implementation project(path: ':libogg')
    implementation project(path: ':libvorbis')
}

■プロジェクトに.a追加
・app\src\main\cpp\CMakeLists.txt
set(LIB_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../../libDms/project/androidstudio)
add_library(Dms STATIC IMPORTED)
set_target_properties(Dms
    PROPERTIES IMPORTED_LOCATION
    ${LIB_ROOT}/lib/${ANDROID_ABI}/libDms.a)

■AdMob (Google Play Services)
・AndroidManifest.xmlに<meta-data>追加
<manifest>
    <application>
        <meta-data
            android:name="com.google.android.gms.ads.AD_MANAGER_APP"
            android:value="true"/>
    </application>
</manifest>

・app\build.gradleにライブラリ追加
dependencies {
    implementation 'com.google.android.gms:play-services-ads:18.0.0'
}

■タイトルバーを消す
・app\src\main\res\values\styles.xml
<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="windowNoTitle">true</item> ← 追加

■画面の向きを変更した場合の再起動を回避
<manifest
    <application
        <activity
            android:configChanges="orientation|screenSize" ← 追加
            android:screenOrientation="portrait"> ← 追加(portrait、landscapeなど)

■assetsフォルダ追加
AndroidStudioの[File]-[New]-[Folder]-[Assets Folder]を選択する。
任意のフォルダを追加することができる。
■aarファイルの作成
(1) AndroidStudioを起動する
(2) 「Start a new Android Studio Project」を選ぶ
(3) 「Add No Activity」を選んで「Next」ボタンを押す
(4) Nameを入力してPackage nameとSave locationを確認して「Finish」ボタンを押す
(5) プロジェクトが作成されるのを待つ
(6) 「File」-「New」-「New Module...」を選択する
(7) 「Android Library」を選んで「Next」ボタンを押す
(8) Application/Library nameを入力してModule nameとMinimum SDKを確認して「Finish」ボタンを押す
(9) 「****\src\main」フォルダに「cpp」フォルダを作成する
(10) cppフォルダに「CMakeLists.txt」ファイルを作成する。
例)
cmake_minimum_required(VERSION 3.4.1)
add_library(
            ssalib SHARED
            ../../../../../../source/ssadata.cpp
            ../../../../../../source/ssalib.cpp
            ../../../../../../source/ssaload.cpp
)
target_link_libraries(
    ssalib
    Android
    Log
)
(11) 左のProject一覧のModule名を右クリックして「Link C++ Project with Gradle」を選ぶ
(12) Build Systemに「CMake」を選びProject Pathに上で作成した「CMakeLists.txt」を選択して「OK」ボタンを押す
(13) 「Build」-「Rebuild Project」を選ぶと「build\outputs\aar」にaarファイルが作成される
https://developer.android.com/google/play/billing/billing_library_releases_notes#release-2_0
> 3日以内に購入を承認しない場合、ユーザーは自動的に払い戻しを受け、Google Playは購入を取り消します
つまり、課金しっぱなしでアイテムを付与しなかった場合、自動的に払い戻されるということらしい
・円アイコン、アダプティブアイコンの設定
AndroidStudio3.3で「Empty Activity選択」-「Next」-「Finish」プロジェクト作る

・円アイコンにPNGを設定する
(1)app/src/main/res/の各mipmapフォルダにあるic_launcher_round.pngアイコンを更新する。
   PNG画像のサイズは48x48、72x72、96x96、144x144、192x192。
(2)アイコンを更新するだけなら(1)だけで良いがファイル名を変える場合は
    app/src/main/AndroidManifest.xmlを書き換える。
    <application
        android:roundIcon="@mipmap/(アイコンPNG名)"

・アダプティブアイコンにPNGを設定する
(1)app/src/main/res/drawable/ic_launcher_background.xmlを削除する。
(2)app/src/main/res/drawable-v24/ic_launcher_foreground.xmlを削除する。
(3)app/src/main/res/の各mipmapフォルダにアイコンを追加する。
   PNG画像のサイズは108x108、162x162、216x216、324x324、432x432。
   512x512の画像を1024x1024位にして余白をつけると丁度になる。
   アイコン用のic_launcher_foreground.pngを追加する。
   mdpi,48x48,108x108
   hdpi,72x72,162x162
   xhdpi,96x96,216x216
   xxhdpi,144x144,324x324
   xxxhdpi,192x192,432x432
   各サイズのic_launcher.pngは古い端末用に残す。
(4)app/src/main/res/values/colors.xmlを修正する。
    <resources>タグの後に
        <color name="ic_launcher_background">#FFFF00</color>を追加する。
(5)app/src/main/res/mipmap-anydpi-v26/ic_launcher.xmlを修正する。
    <background android:drawable="@drawable/ic_launcher_background" />
    <foreground android:drawable="@drawable/ic_launcher_foreground" />
    ↓以下のように修正する。
    <background android:drawable="@color/ic_background" />
    <foreground android:drawable="@mipmap/ic_launcher_foreground" />
(6)app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xmlを修正する。
    <background android:drawable="@drawable/ic_launcher_background" />
    <foreground android:drawable="@drawable/ic_launcher_foreground" />
    ↓以下のように修正する。
    <background android:drawable="@color/ic_background" />
    <foreground android:drawable="@mipmap/ic_launcher_foreground" />
・アダプティブアイコンと円アイコンの設定の消し方
AndroidStudio3.3で「Empty Activity選択」-「Next」-「Finish」プロジェクト作る
(1)app/src/main/res/の各mipmapフォルダからic_launcher_round.pngを削除する。
(2)app/src/main/AndroidManifest.xmlを編集して
  android:roundIcon="@mipmap/ic_launcher_round" ← この行を消して保存する。
(3)app/src/main/res/drawable/ic_launcher_background.xmlを削除する。
(4)app/src/main/res/drawable-v24/ic_launcher_foreground.xmlを削除する。
(5)app/src/main/res/mipmap-anydpi-v26/ic_launcher.xmlを削除する。
(6)app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xmlを削除する。

Play Billing LibraryのCodeLabをなぞってみた
https://www.masaibar.com/entry/play_billing_library_codelab
Play Billing Library 和訳
https://qiita.com/oya-t/items/a11f27d093963496018d
Play Billing Libraryが超絶かんたんだった件
http://hatesatekite.hatenablog.com/entry/2018/08/07/145422
Play Billing Library 1.0 がリリースされました
http://y-anz-m.blogspot.com/2017/09/
課金をAIDLからBilling Libraryに変更した話
https://blog.choilabo.com/20181028/967
Androidのアプリ内購入を簡単実装
https://qiita.com/watanaby0/items/deb60166753533fb00b1

https://www.sakura.ne.jp/function/freessl.html
これってサクラでドメイン取得したら利用できるよってことみたいですね!
で、Let's Encrypt自体はさくらとは関係ない別サービスですね
さくらだとLet's Encryptで取得したSSLを簡単に設定できますよ~ってだけみたいです
さくらのお試し期間ってクレカで払った場合のみでした。。。クレカ払いだとすぐサーバ用意されるみたいです。。。
https://ssl.sakura.ad.jp/
これの「詳しく見る」でブラウザのURLバーのとこの表示の違いみれますよ!
さくらのSSL年間972円ですよw
iPhoneでWKWebView
・httpアクセス
https://qiita.com/aminosan000/items/ae2e9de0e910af42304d
・Objective-C
https://i-app-tec.com/objective-c/webview.html
・Swift
https://developer.apple.com/documentation/webkit/wkwebview
・SwiftとJavaScriptと相互通信
https://qiita.com/usayuki/items/6979d0d6f7d8f5b302ad
・WKWebViewにおけるSwiftとJavaScriptにおける双方向通信
https://qiita.com/mss634/items/170d3cb401eee4ec1253
上記すべてWebkit.frameworkが必要
sshでwindowsに接続
1)PoserShellを管理者権限で起動
2)opensshのインストール
 choco install win32-openssh -params '"/SSHServerFeature /KeyBasedAuthenticationFeature"' -confirm
 インストールが終わったら、インストール先に移動
 cd "C:\Program Files\OpenSSH-Win64"
 cp sshd_config_default sshd_config
 notepad sshd_config
 9行目の#Port 22の#を消す
 
3)sshdのインストール
 powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
 「sshd and ssh-agent services successfully installed」と表示されたら完了
 
4)サービスの起動
 net start sshd
(1) Chrome起動
(2) F12を押してデベロップモードにする
(3) アンドロイドをPCに接続する
(4) ・・・ボタンを押してMore toolsを選んでRemote devidesを選ぶ
(5) Enter URLにURLを入れる
(6) Inspectボタンを押す
機種判別(C/C++)
#if defined(_WIN32)
// Windows
#elif defined(__ANDROID__)
// Android
#elif defined(__APPLE__)
// iPhone & MacOSX
#elif defined(ARDUINO_SAMD_ZERO) && defined(INTERNAL32K)
// TinyArcade
#elif defined(ARDUINO_SAMD_ZERO)
// GamebuinoMETA
#else
// その他
#endif

前に戻る


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS