2023-01-01から1年間の記事一覧
Androidアプリの国際化対応のメモです。 下の手順で実施しました。 まずはres/valuesフォルダ以下にstrings.xmlを作成して下のように文字列リソースを作成しました。 <resources> <string name="app_name">メモ帳</string> <string name="yes">はい</string> <string name="no">いいえ</string> </resources> 下のように直接記入していた文字列はstrings.xmlのリソースを使うよ…
3Dプリンタを購入したので出力の為に色々調べてみました。 今回購入したプリンタではG-codeという形式が必要でした。 調べた所3DプリンタはSTLやOBJという形式が一般的でG-codeはかなり珍しいようでした。 G-codeへの変換ですがSTL形式で作ってスライス(変換…
SwiftPM対応ライブラリの作り方を調べてみました。 まずはライブラリのフォルダを作成してから下コマンドで初期化します。 swift package init コマンドを実行すると下のようなフォルダやファイルが作られます。 Sourcesにはライブラリのコードを入れてTests…
パッケージ管理システムのSwift Package Managerを試してみました。 パッケージの追加はメニューの「File」 → 「Add Packages」から行います。 右上から検索をして目的のライブラリを探して追加します。 今回はFirebaseのインストールをしました。 Firebase…
今回は下URLを参考にFirebaseのIn-App Messagingを使ってアプリ内にアラートを出してみました。 【iOS】Firebase In-App Messaging を使ってアプリ内メッセージを送ってみた | DevelopersIO まずはCocoaPodsでFirebaseをインストールします。 target 'MyApp'…
サイバーエージェントが日本語LLMを公開してくれたので動かしてみました。 www.cyberagent.co.jp ライセンスはクリエイティブ・コモンズで、商用利用もできるようです(2023/05/20時点)。 詳しくは各LLMの詳細ページに参考にしてください。 huggingface.co 手…
商用利用もできるLLMのDolly2.0を試してみました。 まずはAnacondaをインストールします。 Anacondaはデータサイエンスや機械学習などで良く使われるツールで、便利なライブラリなどを含んだプラットフォームです。 Anacondaはインストーラーを使ってインス…
Rubyのライブラリを使ってOpenAIのAPIを使ってみました。 まずは環境変数にOpenAIのAPI Keyをセットします。 キーは事前にOpenAIのサイトから取得しておきます。 export OPENAI_API_KEY=sk-XXXXXXX 次はGemfileでライブラリを追加します。 gem "openai" 最後…
PreferenceFragmentCompatという設定画面作成用のコンポーネントを試してみました。 まずはbuild.gradleでライブラリを追加します。 implementation 'androidx.preference:preference:1.2.0' 次は設定画面用のXMLを作成します。 res/xmlにpreferences.xmlと…
最近1ヶ月くらいプログラミングをする際にChatGPTを使ってみたのでメモ。 使い方 Androidアプリを作るときやRuby on Railsでの開発時に質問をしている。 「このViewのここだけ角丸にしたい」「このコンポーネントの背景色を変えたい」みたいにどのプロパティ…
Androidアプリ開発でGitHub Copilotを試してみました。 以前Xcodeで試した記事は下URLです。 GitHub Copilotを使って自動コード補完 - しめ鯖日記 まずは下の公式サイトからGitHub Copilotを有効にします。 docs.github.com GitHub Copilotを有効にしたらAnd…
RippleDrawableを使ってTextViewなどを押した時にもボタンを押したときのようなアニメーションが出るようにします。 まずはXMLでRippleDrawableを定義します。 res/drawableフォルダの中にtest_drawable.xmlというファイルを作成して下のように記述します。 …
GitHub CopilotというAIが自動でコード補完してくれるサービスを試してみました。 github.com Xcodeは公式未対応なので、下のプラグインを利用しました。 サードパーティーアプリなので入れる際は会社のセキュリティーポリシー上問題ないかご確認下さい。 gi…
Androidでファイルへの保存・取得を試してみました。 ファイルへの保存するために、まずはregisterForActivityResultでActivityResultLauncherインスタンスを作ります。 val writeResultLauncher = registerForActivityResult(ActivityResultContracts.Start…
Androidアプリ開発でXMLを編集している時、@color/blackのような@を使う形式以外に?attrという?を使う形式があります。 今回はこの?について調べてみました。 ?attrですが、こちらはThemeの属性になります。
ViewModelですがbyを使わずにViewModelProviderで呼び出せるようなので試してみました。 まずはViewModelを使うためのライブラリをインストールします。 implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1' implementation 'androidx.activ…
SwiftではExpressibleByStringLiteralに準拠させた構造体は文字列リテラルで初期化をする事が可能です。 struct MyString: ExpressibleByStringLiteral { let body: String init(stringLiteral value: String) { body = value } } 初期化処理は下の通りです…
Android Studioでブレークポイントを使ってデバッグをしてみました。 ブレークポイントはコードの左側をクリックする事でセットする事ができます。 ブレークポイントを有効にするには、いつもの実行ボタンではなくデバッグボタン(虫マーク)でアプリを起動す…
KotlinではOnClickListenerなどをListenerを省略(SAM変換)して書く事ができます。 今回は省略できる条件について調べてみました。 SAM変換可能なListenerは下のようにメソッドが1つである必要があります。 それとinterfaceの先頭にfunを付ける必要もあります…
格安SIMの初期設定時などによく使う構成プロファイル(拡張子: mobileconfig)について調べてみました。 構成プロファイルはMacのApple Configuratorというアプリで作成します。 Apple Configuratorをダウンロードして開くと下のような表示になっています。 プ…
ActionProviderというクラスを使ってAndroidアプリのメニューにサブメニューを入れてみました。 Activityでメニューを表示して動かするためには下のようなメソッドを実装します。 class MainActivity : AppCompatActivity() { override fun onCreateOptionsM…
CoordinatorLayoutとAppBarLayoutを使ってスクロールすると自動で畳まれるツールバーを作ってみました。 まずはスクロールのテスト用にRecyclerViewを表示します。 activity_main.xmlを下のように変更します。 layout_behaviorはツールバー これがない場合、…
Kotlinに時々出てくる::構文について調べてみました。 ::ですが下のようにメソッドを変数化する時に利用します。 val myMethod = ::test myMethod() myMethod() fun test() { Log.e("test", "TEST") } 他にはクラス情報を取得する時にも利用します。 クラス…
コンテンツプロバイダを使ってデータの保存を試してみました。 コンテンツプロバイダとはAndroidの用意しているデータ保存の仕組みで、他アプリとのデータ共有を簡単にできるようになります。 今回はこれを使ってデータの保存をしてみようと思います。 まず…
タイトルの通り、Google App Engine上でRailsを動かしてみました。 ドキュメントは下を参考にしています。 App Engine フレキシブル環境で Rails 5 を実行する | Ruby | Google Cloud まずはRailsプロジェクトを作成します。 rails new test_app 次にAppEngi…
Android Studioのプロファイラを使ってAndroidアプリのどこが重いかの測定をしてみました。 まずは新規プロジェクトを作成します。 プロファイラはメニューのViewから起動します。 起動すると下のようなViewが表示されます。 アプリを起動すると自動的に接続…