- 1. vistaでandroid studio その12
- 2. vistaでandroid studio その11
- 3. vistaでandroid studio その10
- 4. Android端末の画面収録をMacでやる方法
- 5. RecyclerViewで表示されているセルの高さを取得する
- 6. vistaでandroid studio その9
- 7. OkHttpのレスポンスボディを文字列に変換しても文字化けするとき
- 8. 【Android】EditTextでエンター押下後フォーカスがループしない
- 9. 【自己責任】AndroidOSに疑似Linux環境(Termux)構築方法について。
- 10. vistaでandroid studio その8
- 11. vistaでandroid studio その7
- 12. vistaでandroid studio その6
- 13. Android初心者の開発備忘録
- 14. ローカルサーバでスマートフォンブラウザから端末の向きを検出する
- 15. KotlinでJavamail4android(添付ファイルを添えて)
- 16. TensorFlowで学習したEfficientNetモデルをTensorFlowLiteに変換する
- 17. vistaでandroid studio その5
- 18. vistaでandroid studio その4
- 19. vistaでandroid studio その3
- 20. vistaでandroid studio その2
vistaでandroid studio その12
# 概要
vistaでandroid studio 1.0.1やってみた。
練習問題やってみた。# 練習問題
qiitaのohisamaの記事をリストして、タップでブラウザで表示せよ。# 方針
– 暗黙のインテント使う。
– listview使う。
– httpsurlconnect使う。
– AsyncTask使う。
– jsonarray使う。# 写真
![device-2022-09-03-063009.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/9da7287e-621a-dd75-0852-737ae8b0bae6.png)
# サンプルコード
“`
public void run() {
new AsyncTask() {
ListView list = (ListView) findViewById(R.id.list);
final ArrayListdata = new
vistaでandroid studio その11
# 概要
vistaでandroid studio 1.0.1やってみた。
練習問題やってみた。# 練習問題
qiita apiを叩いて、jsonをパースして、listviewに表示せよ。# 写真
![device-2022-09-03-065018.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/6c25fd12-a8f0-a44a-0222-c11f2b2bfa83.png)
# レイアウト
“`
vistaでandroid studio その10 # 概要
vistaでandroid studio 1.0.1やってみた。
練習問題やってみた。# 練習問題
qiita apiを叩け。# サンプルコード
“`
public void run(View view) {
TextView tv = (TextView) findViewById(R.id.chage);
String dis = “”;
String urlStr = “https://qiita.com/api/v2/users/ohisama@github/items”;
String result = null;
HttpURLConnection con;
URL url = null;
BufferedReader reader = null;
try
{
Log.e(“ohi”, “ok0”);
url = new URL(urlStr);
con = (HttpURLConnection) url.openConnection();
Log.e(“ohi”, “ok1”);
Android端末の画面収録をMacでやる方法
自分のメモ用に記載
## 事前準備
– homebrewで以下をインストール“`shell
brew install scrcpy
brew install android-platform-tools
“`## 動かし方
– Android端末を繋いで以下コマンドを実行
“`shell
scrcpy
“`## 画面録画
– 今いるディレクトリに保存される
“`shell
# 録画開始
scrcpy –record file.mp4
# 録画終了
# – Macと接続している線を抜く (?)
“`
RecyclerViewで表示されているセルの高さを取得する
RecyclerViewのセル(下画像の赤枠部分)の`height`と`width`の表示されている比率を取得する必要があり、参考になる記事が少なかったため投稿します。
### 比率計算処理の関数を実装
今回はRecyclerViewがスクロールされた際に、表示されている全てのセルの比率をログとして出力する方針で実装していきます。“`kotlin
fun getVisibleCellHeight(rv: RecyclerView) {
val layoutManager = rv.layoutManager as GridLayoutManagerval firstPosition = layoutManager.findFirstVisibleItemPosition
vistaでandroid studio その9
# 概要
vistaでandroid studio 1.0.1やってみた。
ListView使ってみた。# 参考にしたページ
https://qiita.com/joji/items/dca48fb0e915077a01b2
# 写真
![device-2022-09-01-110532.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/27c846c9-6876-7112-680c-a0f6a0869b90.png)
# レイアウト
“`
OkHttpのレスポンスボディを文字列に変換しても文字化けするとき ハマりました・・・
現象としては、Postmanを使ってもCURLを使ってもきちんとレスポンスボディが読めるのですが、なぜかOkHttpを使うと文字化けしてしまい、ボディをデシリアライズできませんでした。
結論から言うと、gzipという暗号化処理がされていたせいでした。これを解決するには二通りの方法があります。
1. Encodingを許可しない(こっちは簡単ですがセキュリティ面でリスクがありそうです)
2. GZIPで復号する## 1. Encodingを許可しない
これは簡単で、リクエストヘッダーから「Accept-Encoding」を削除してしまえば大丈夫かと。
例えばInterceptorなどを用いて“`kotlin
val request = chain.request().newBuilder()
.removeHeader(“Accept-Encoding”)
.build()
val response = chain.proceed(request)
“`
リクエスト
【Android】EditTextでエンター押下後フォーカスがループしない
# 不具合の事象
2個のEditTextを用意し、それぞれ`android:imeOptions=”actionNext”`を付与。
2個目のEditText内でエンターを押した場合、1個目のEditTextにフォーカスがループするときとしない時がある。|ループする|ループしない|
|—-|—-|
|![normal.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694762/1d28500e-689f-b4a9-f833-87253b3a274b.gif)|![false.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694762/79fbbfdb-b6c1-0f4d-a1ce-3007960c6f77.gif)|# 原因
画面内に`RecyclerView`があるとそれにフォーカスされるので、フォーカスがループされない。`Button`などの他のビューではフォーカスされず、`RecyclerView
【自己責任】AndroidOSに疑似Linux環境(Termux)構築方法について。
数年ぶりにAndroid携帯電話を購入したため、その環境構築の一端を投稿するため、久しぶりに投稿する。
# AndroidOSに自己責任でTermuxをインストールする方法について。
野良ハブからインストールするため、自己責任が伴うことは大事な注意点である。## 野良ハブとは。
今回は、[F-Droid](https://f-droid.org)のことで、Android向けのオープンソースソフトウェア(OSS)がまとめられている場所を指す。## インストール
以後は携帯電話からの操作になる。### 1.上記のURLから指定のアプリをダウンロードする。
[https://f-droid.org](https://f-droid.org)。![1fdroid.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425551/bb10b03a-9731-a2b4-b323-2a90af7011fd.jpeg)
また、自己責任ではあるが、Google Playが安全かと言えばそんなことは無いため、
vistaでandroid studio その8
# 概要
vistaでandroid studio 1.0.1やってみた。
AudioTrack使ってみた。# 参考にしたページ
https://qiita.com/rild/items/339c5c36f4c1ad8d4325
# サンプルコード
“`
package com.ohisamallc.ohiapp154.ohiapp154;import java.util.Arrays;
/**
* Created by ore on 22/08/30.
*/
public class Oscillator {
private double frequency = 440;
private double f0 = 280;
private double[] buffer;
private double t = 0;
private double sampleRate;
private Vowel targetVowel = Vowel.A;
public Oscillator(int bufferSize,
vistaでandroid studio その7
# 概要
vistaでandroid studio 1.0.1やってみた。
AudioTrack使ってみた。# 参考にしたページ
https://qiita.com/niusounds/items/beb0140117b9d3325ce7
# サンプルコード
“`
package com.ohisamallc.ohiapp154.ohiapp154;/**
* Created by ore on 22/08/30.
*/
public class Oscillator {
private double frequency = 440;
private double[] buffer;
private double t = 0;
private double sampleRate;
public Oscillator(int bufferSize, int sampleRate) {
buffer = new double[bufferSize];
this.sampleRate = sampleRate;
}
public double[] n
vistaでandroid studio その6
# 概要
vistaでandroid studio 1.0.1やってみた。
練習問題やってみた。# 練習問題
sin波を、表示せよ。# 方針
– カスタムviewを、作る。# 写真
![device-2022-08-29-172938.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/eea7bdd5-35b2-0127-3ade-d49834b4a9ce.png)
# サンプルコード
“`
package com.ohisamallc.ohiapp154.ohiapp154;import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;/**
* Created
Android初心者の開発備忘録
# はじめに
Androidのアプリ開発がしたかったものの、作ってみたいアプリにはroot化が必要であるということ以外、Androidについて何も知らなかったので、適当にAndroidを買いました。んで買ったのがSHARPのSHV45 AQUOSとかいう(未だに良いのかどうかも知らない)物でした。改めて調べていくと分かったことなのですが、
**やだ、SHARPちゃん、root化できない?**
まぁ、そんなわけで泣く泣く普通に開発を頑張ろうとしたAndroid初心者の備忘録です。。。
# 開発者向けオプション
Androidはまずは開発者オプションをオンにしなければ話が始まりません。
というわけでその流れを一応説明しておきます。歯車マークの設定アプリを開く
↓
「デバイス情報」タブを開く
↓
**「ビルド番号」と書かれた欄を連打しまくる**
↓
USBデバッグモードをオンにする簡単ではありますが、初心者には案外見つからない操作でした。
# adbコマンドのインストール
色んなサイトの参考にadbコマンドが使われているので、Windowsでシェルが使えるよ
ローカルサーバでスマートフォンブラウザから端末の向きを検出する
## 結論から
httpsサーバじゃないといけない
カメラを利用するのにも必要だったので、以前の記事を参考に
https://qiita.com/tkyko13/items/1871d906736ac88a1f35
“`sh
$ openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
“`で、鍵作ったあと
“`sh
$ http-server -S -C cert.pem
“`or
“`js:server.js
const fs = require(‘fs’)
const express = require(‘express’);
const app = express();
const https = require(‘https’);
const options = {
key: fs.readFileSync(‘./key.pem’),
cert: fs.readFileSync(‘./cert.pem’)
};
con
KotlinでJavamail4android(添付ファイルを添えて)
# きっかけ
よく使うので備忘録# Gradle
“` Gradle
//javamail
implementation ‘com.sun.mail:android-mail:1.6.7’
implementation ‘com.sun.mail:android-activation:1.6.7’
“`# コード
“` kotlin
private fun sendMail(
smtpServer: String, //SMTPサーバ
srcMailAddress: String, //自分のメールアドレス
password: String, //メールアドレスのパスワード
dstMailAddress: String, //相手先のメールアドレス
displayName: String, //相手先の表示名
subject: String, //メール件名
body: String,
TensorFlowで学習したEfficientNetモデルをTensorFlowLiteに変換する
## はじめに
タイトルそのまま、TensorFlowで学習したEfficientNetのカスタムモデルを
TensorFlowLiteで扱えるように変換します。
なお、TensorFlowでの学習は本記事では扱わず、学習済みモデルの変換手順のみを記載します。TensorFlowLiteとはざっくりいうと、
TensorFlowをAndroidやiOSなどのモバイル端末で動作できるようにするライブラリです。
詳細は[公式のガイド][tensor-flow-lite]を参照ください。
今回はAndroidデバイス上でモデルを動かしたかったので、Liteに変換することにしました。やったことはほぼ公式ガイドに記載されていることですが、
いくつか躓きポイントがあったので、そちらも合わせてご紹介します。また、今回はEfficientNetのモデルを対象としていますが、
TensorFlowで学習したモデルであれば、おそらく同じ手順で変換出来ます(未検証)。## 変換手順
今回のモデルは
“`txt
~ / assests
/ variables
/ keras_m
vistaでandroid studio その5
# 概要
vistaでandroid studio 1.0.1やってみた。
練習問題やってみた。# 練習問題
九九を実装せよ。# 写真
![device-2022-08-29-094434.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/1c92d2a5-d226-9750-0d6d-0297f48658d1.png)
# サンプルコード
“`
public void run(View view) {
TextView tv = (TextView) findViewById(R.id.chage);
String dis = “”;
for (int col = 1; col <= 9; col++) { for (int row = 1; row <= 9; row++) { if (col * row < 10) dis
vistaでandroid studio その4
# 概要
vistaでandroid studio 1.0.1やってみた。
練習問題やってみた。# 練習問題
ズンドコを実装せよ。# 方針
– 乱数 new Random
# 写真
![device-2022-08-29-093621.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/1b260ffa-9e2a-7560-1366-682ef11df84a.png)
# サンプルコード
“`
public void run(View view) {
TextView tv = (TextView) findViewById(R.id.chage);
final String success = “ズンズンズンズンドコ”;
final Listzundoko = Arrays.asList(“ズン”, “ドコ”);
StringBuilder sb = new StringBuilder
vistaでandroid studio その3
# 概要
vistaでandroid studio 1.0.1やってみた。
練習問題やってみた。# 練習問題
fizzbuzzを実装せよ。# 方針
– textview,button,stringを使う。
– 剰余 %
– 文字列の加算 +=
– 数値の文字列化 String.valueOf# 写真
![device-2022-08-29-092521.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/5c3c744a-f64c-e18c-fdda-b608f950a6f0.png)
# レイアウト
“`
vistaでandroid studio その2
# 概要
vistaでandroid studio 1.0.1やってみた。
0.8.0消して、1.0.1入れた。# インストール手順
ダウンロード
– android-studio-bundle-135.1641136.exe
# 写真
![studio.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/e0880171-dd93-d995-b8eb-9e31ae2ee970.jpeg)
# プロジェクト作成手順
1) 「新規 Android Studio プロジェクトの開始」をクリック
2) “アプリケーション名” / “会社ドメイン” を指定し「次へ」
アプリケーション名 : ohiapp154
会社ドメイン : ohiapp154.ohisamallc.com (任意のドメインを入力。以降自作するクラスのパッケージ名として利用される。)
プロジェクトのロケーション : 上記2項目から自動的に生成されるため、入力は不要3) “スマホおよびタブレット” を指定し「次へ」