Skip to content

Instantly share code, notes, and snippets.

@Nunocky
Nunocky / http_get.dart
Created February 23, 2024 09:00
http getを testで実行する
setUpAll(() => HttpOverrides.global = null);
test('http get', () async {
var url = Uri.https('official-joke-api.appspot.com', 'jokes/random');
var response = await http.get(url);
expect(response.statusCode, 200);
debugPrint(response.body);
});
@Nunocky
Nunocky / MessageNotifier.dart
Created February 23, 2024 03:45
AsyncNotifierの使い方
const sentenceList = {
'Your code transforms ideas into reality.',
'Each bug you fix makes you a stronger developer.',
'Your dedication to learning is inspiring.',
'You turn complex problems into elegant solutions.',
'Your creativity in app design is remarkable.',
'Every line of code you write is a step towards mastery.',
'You have a unique talent for making the complex understandable.',
'Your commitment to quality is evident in your work.',
'You\'re not just coding; you\'re crafting future technologies.',
@Nunocky
Nunocky / copy.sh
Created December 5, 2023 11:42
構成をそのままにシンボリックリンクを張る
#!/bin/bash
SRC="../../src"
DEST="."
# 現在のディレクトリからシンボリックリンクを検索し、削除
find . -type l -exec rm {} +
# 現在のディレクトリからディレクトリを検索し、削除
@Nunocky
Nunocky / docker-compose.yml
Last active July 28, 2023 02:28
gitbucket + jenkins
version: "3.9"
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
ports:
- "8080:8080"
- "50000:50000"
volumes:
@Nunocky
Nunocky / ExampleViewModel.kt
Last active June 25, 2023 01:41
ViewModelで実行されるコルーチンのテスト。 UIStateの変化を見る
package com.example.myapplication
import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.launch
@Nunocky
Nunocky / MainFragment.kt
Created June 25, 2023 00:57
Fragmentの値の保存と復元
package com.example.myapplication
import android.os.Bundle
import android.util.Log
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import android.widget.TextView
@Nunocky
Nunocky / SavableMutableSaveStateFlow.kt
Created June 22, 2023 05:43
SavedStateHandleで値の保存と復元が可能な MutableStateFlow
// from https://medium.com/mobile-app-development-publication/saving-stateflow-state-in-viewmodel-2ee9ed9b1a83
class SavableMutableSaveStateFlow<T>(
private val savedStateHandle: SavedStateHandle,
private val key: String,
defaultValue: T
) {
private val _state: MutableStateFlow<T> =
MutableStateFlow(
savedStateHandle.get<T>(key) ?: defaultValue)
@Nunocky
Nunocky / MainViewModel.kt
Last active June 22, 2023 07:16
Android ViewModellのテスト。 savedStateHandle で値の保存と復元が行われることを確かめる。
package com.example.myapplication
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.ViewModel
import androidx.lifecycle.asLiveData
import androidx.lifecycle.viewModelScope
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow

Person

android studioのアプリケーション開発についての質問です。 一つのプロジェクトの中でアプリケーションとカスタムビューの開発を別モジュールで行おうとするとき、アプリケーションモジュールとカスタムビューモジュールで共通のThemeを使用することはできますか?

ChatGPT

はい、アプリケーションモジュールとカスタムビューモジュールで共通のThemeを使用することができます。そのためには、以下の手順に従って設定を行ってください。

  1. まず、プロジェクトレベルのbuild.gradleファイルに、共通のThemeを定義するリソースを含む新しいAndroidライブラリモジュールを追加します。
include ':app', ':customviewmodule', ':common'

Person:

  • android jetpack composeの質問です。 Glideを用いて画像を表示する Compose関数の プレビューを作ることはできますか?

ChatGPT:

  • はい、Jetpack ComposeでGlideを使用して画像を表示し、プレビューを作成することができます。ただし、@Previewアノテーションを使用したプレビューでは、実際の画像は表示されず、代わりにデフォルトの画像が表示されます。これは、プレビュー時にリモート画像をダウンロードできないためです。

以下の例では、Glideを使って画像をロードし、表示する GlideImage コンポーザブル関数を作成します。