楽天アフィリエイト

2022年3月15日火曜日

Android でログのファイル出力(Timber+Log4J)

Androidアプリのログをファイル出力したい
Timber+Log4Jを使ったのでメモ

Kotlinで作成
Log4Jは脆弱性の対象となる前の(1.2.17)を使用
対応した現状の最新版(2.17.1)を使用したかったが,
まだ対応されていない?のかできなかった。

1.buile.gradleに追加
// Log
implementation 'com.jakewharton.timber:timber:4.7.1'
implementation 'de.mindpipe.android:android-logging-log4j:1.0.3'
implementation 'log4j:log4j:1.2.17'
2.application.ktの作成
var sLog : Logger? = null
override fun onCreate() {
super.onCreate()

initLog4J() // log4jの初期設定
initTimber() // Timberの初期設定

}
private fun initLog4J() {
val f = getFileStreamPath("${getString(R.string.app_name)}.log")
val logConfigurator = LogConfigurator()
logConfigurator.
fileName = f.path //ファイル名
logConfigurator.rootLevel = Level.ALL
logConfigurator.setLevel("org.apache", Level.ALL)
logConfigurator.
filePattern = "%d %-5p %m%n"         //メッセージ内容
logConfigurator.maxFileSize = (512 * 1024).toLong() //ファイルサイズ
logConfigurator.isImmediateFlush = true
logConfigurator.isUseLogCatAppender = false
logConfigurator.maxBackupSize = 1 //ファイル数
logConfigurator.configure()
sLog = Logger.getLogger(Application::class.java)
}
private fun initTimber() {
Timber.plant(Log4JTree())
}
private class Log4JTree : Timber.Tree() {
override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {
// Error,Warning,Infoのみ出力する
when (priority) {
Log.INFO -> {
sLog?.info(message)
}
Log.WARN-> {
sLog?.warn(message)
}
Log.ERROR -> {
sLog?.error(message)
}
}
}
}

3.使用方法
Timber.d("debug")   // ←これは出力されない
Timber.i("info")
Timber.w("warning")
Timber.e("error")






2022年3月2日水曜日

Bluetooth Adapterの取得

 Bluetooth使用時にAdapterを取得しているが

いろいろなサイトで下記の取得方法となっています。

val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter()

google developer(https://developer.android.com/guide/topics/connectivity/bluetooth?hl=ja)でも現状変更されていない。


しかしAPI31で非推奨となり下記の警告が表示されます。

「'getDefaultAdapter(): BluetoothAdapter!' is deprecated. Deprecated in Java」


下記のように変更すれば,OKです。

val bluetoothManager = context?.getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager
val bluetoothAdapter: BluetoothAdapter = bluetoothManager.adapter



参考:https://stackoverflow.com/questions/69122978/what-do-i-use-now-that-bluetoothadapter-getdefaultadapter-is-deprecated

2020年6月4日木曜日

フレームワーク(FW)の確認方法

フレームワークの確認方法

「regedit」でレジストリエディタを表示

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

※なければ4.5以前となります。

上記のReleaseの値を確認

バージョン 最小値
.NET Framework 4.5 378389
.NET Framework 4.5.1 378675
.NET Framework 4.5.2 379893
.NET Framework 4.6 393295
.NET Framework 4.6.1 394254
.NET Framework 4.6.2 394802
.NET Framework 4.7 460798
.NET Framework 4.7.1 461308
.NET Framework 4.7.2 461808
.NET Framework 4.8 528040


2019年4月25日木曜日

AIスピーカー

現状は3つが大手って感じかな。それぞれでしかできない特徴はこんな感じかな
とりあえず買ってみようかな
どれを買うかは検討中

・google home
googleのAIスピーカー,声の識別,googleアカウントの連携ができる

・Alexa
AmazonのAIスピーカー,ネット注文ができる

・Clover
LINEのAIスピーカー,LINE通話ができる




2017年10月17日火曜日

VB6.0 から VB.NET(VS2008) へ STEP1

Windowsのアップグレードウィザードの実行方法

1.VS2008を開く
2.ファイル - 開く - プロジェクト/ソリューション を選択
3.VB6.0のVBPファイルを選択
4.Visual Basic アップグレード ウィザード が表示される

この後はウィザードの質問に沿って完了まで実施

これでアップグレード作業は完了

STEP2以降にてVS2008でのコンパイルエラーを手動にて処理

2017年8月18日金曜日

Access2016 メニューバー(リボン)の非表示方法

Access2016でランタイム使用時に
フォームの表示でメニューバーが気になったので消したかった。

メニューバーを非表示にする場合
DoCmd.ShowToolbar "Ribbon", acToolbarNo

メニューバーを表示させる場合
DoCmd.ShowToolbar "Ribbon", acToolbarYes

2017年8月10日木曜日

WIndows10/7 ネットワークドライブ作成でパスワードを不要にする方法

Windows10,Windowws7でネットワークドライブを作成する際に
ユーザーとパスワードの入力を求められることがある。

これを回避するには,共有フォルダのあるPCの設定で下記設定を変更すればOK
Windows10
「設定」⇒「ネットワークとインターネット」⇒
「ネットワークと共有センター」⇒「共有の詳細設定の変更」

Windwos7
「コントロールパネル」⇒「ネットワークとインターネット」⇒
「ネットワークと共有センター」⇒「共有の詳細設定の変更」

パスワード保護共有で「パスワード保護の共有を無効にする」を選択

これは,共有者をGuestとしてパスワードなしアクセスを行っている
Guestユーザーにパスワードを設定してた場合,この設定は無効にできない