LoginSignup
1
0

More than 5 years have passed since last update.

Kotlinでアプリを動かすお勉強4

Posted at

スプレッドシートを操作

直接は関係ない話題。。

Java Quickstart  |  Sheets API  |  Google Developers
https://developers.google.com/sheets/api/quickstart/java

  • gcpでapiを有効にした
  • プレイグランドで試した

https://sheets.googleapis.com/v4/spreadsheets/.../values/A1:E1:append?valueInputOption=USER_ENTERED
{
  "range": "A1:E1",
  "majorDimension": "ROWS",
  "values": [
    ["Data", 123.45, true, "=MAX(D2:D4)", "10"]
  ],
}

Method: spreadsheets.values.append  |  Sheets API  |  Google Developers
https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/append

ここでも試せそう

curlだとこんな感じでいけた

curl -X POST 'https://sheets.googleapis.com/v4/spreadsheets/.../values/シート1!A1:E1:append?valueInputOption=USER_ENTERED' \
-v --insecure \
--http1.1 \
-H 'Content-type: application/json' \
-H 'Authorization: Bearer ...' \
-d '{  "range": "シート1!A1:E1",  "majorDimension": "ROWS",  "values": [    ["Data", 123.45, true, "=MAX(D2:D4)", "10"]  ],}'

参考
curl POST examples
https://gist.github.com/subfuzion/08c5d85437d5d4f00e58
java - GoogleスプレッドシートAPI、400エラー不正リクエスト:範囲を解析できません
https://stackoverrun.com/ja/q/10444944

DBを使う、、ことがあるかも。

kotlinでandroid入門 データベース : SQLite - Qiita
https://qiita.com/folivora/items/72fddf741c410f2f3253

webviewをつかってみる

[Android] WebView でウェブアプリの作成
https://akira-watson.com/android/webview.html

あるいはHTML文を直接読み込むこともできます。

この他の機能としてJavaScriptを使えるようにしたり、バックキーで戻る操作ができるようにすることもできます。

何パターンかやり方があるらしい。。大枠で何がやれるかイメージできてよかった。

Android StudioでwebViewを使ってみる! - Qiita
https://qiita.com/s-yoshiki/items/508870dfccfb237d72fd

ローカルのHTMLを表示する場合は、/プロジェクト名/src/main/にフォルダ(assets)を作り、その中にindex.htmlを作成する。また呼び出すURIを

ローカルのファイルも観れるのね。

UIWebViewでhttpなURLにアクセスしようとしたら代わりにSFSafariViewControllerで開くようにする - Qiita
https://qiita.com/bricklife/items/ac92be3e33c7c9eaca9b

https:// も用意する
httpしか用意されていないドメインをATSのホワイトリストに入れる
ATSを無効にする

まずATSは有効にします。その上で、UIWebViewで https:// 以外のURLにアクセスしようとした場合、エラーが出る前にUIWebViewDelegateの webView:shouldStartLoadWithRequest: で捕まえられるので、そこでSFSafariViewControllerを開いてしまいます。

iOSの記事か。ATSという機構があるのね。

fragmentでつかう

タブを切り替えるたびに初期化するのはどうするのかなあ。。

android - Using WebView in Fragment - Stack Overflow
https://stackoverflow.com/questions/31159149/using-webview-in-fragment

onCreateViewでやってる例。こっちの方が正しいのかもな。。
いまの自分はonViewCreatedでやってる。

セーフブラウジング

AndroidでWebViewを使うなら新機能Safe Browsingを有効に。 - Qiita
https://qiita.com/ShingoFukuyama/items/fe047c1eadc81f60c249

<meta-data android:name="android.webkit.WebView.EnableSafeBrowsing"
            android:value="true" />

使うと少し安全になるかな

shouldOverrideUrlLoadingで検知してドメイン制限とかしたい。

【Android】WebViewの外部リンク - 0239
https://blog.a1yama.com/entry/2016/02/01/162900

コピペで動くと思うので、そのままお使いください。

つかう。。

特定のURLへのアクセス時のみブラウザアプリを起動するWebViewアプリ | ヘビィ・SMD!
https://ameblo.jp/smd310/entry-11140907453.html

HTTP(S)アクセス

kotlin-AndroidでHTTPで取得したデータを表示する - 動かざることバグの如し
http://thr3a.hatenablog.com/entry/20180326/1521995307

HTTPSじゃなくて HTTPできるよではなさそうだけど、ATSを有効にしなければということかな

android - how to load http url with instantApp webview? - Stack Overflow
https://stackoverflow.com/questions/48003931/how-to-load-http-url-with-instantapp-webview

All the network traffic from inside instant apps must use HTTPS. Instant apps does not support HTTP.

WebViewだとHTTPSの制限ということかな

コード圧縮周りで警告が出てたので対応

コードとリソースの圧縮  |  Android Developers
https://developer.android.com/studio/build/shrink-code?hl=ja

minifyEnabled、useProguard
ちょっときになるけど、ひとまずサンプル的に真似しただけ。

サポートライブラリ周りで警告が出てたので対応

[Android Studio] 最新のSupport Libraryが見つからないと思ったら見つかった件 - Qiita
https://qiita.com/meru_h/items/f198a300d41e0c59aea4

きになるけど。。
昔はcompileという記述だったのかな。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0