Android開発爆笑記

レセプターのソフト&ハード開発備忘録

SwiftでSQLiteを使う

import SQLite3 〜 class ViewController〜 var db: OpaquePointer? let dbName : String = "your_database_name.db" let tableName = "main_table_name" 〜 override func viewDidLoad() { 〜 // データベースファイルのパスを取得 let fileURL = try! File…

firebase realtimedatabase の children() を使った配下key名取得

まずは普通にデータベースを読む FirebaseDatabase database = FirebaseDatabase.getInstance();final DatabaseReference myRef = database.getReference(str); mListener = myRef.addValueEventListener(new ValueEventListener() {@Override public void o…

そろそろKotolin

始めてKotolinでプロジェクト作成した。 layout.xml は変わらないようだが MainActivity .ktがかなり違う class MainActivity : AppCompatActivity() { val str : String? = "aaa" private lateinit var txtitel : TextView // レイアウト変数指定 private l…

Android端末OS4.4から使えたGPSコード(java用)

◎AndroidManifest.xml に追加 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> とフォアグラウンド指定 <application~ ~</activity> </application~></uses-permission>

wifiでAndroid端末とデバック接続をする

Window10PC上のadb.exeがAndroid開発環境ディレクトリになくてもOKでした。 AndroidStudioのUSBケーブル経由でAndroid開発モード機をつなぐ。 まずはcmd.exeでコマンドウインドウを開き 「cd C:¥Users¥あなた¥~色々~¥tools」等でadb.exeがあるディレク…

ファイル選択からファイル名を取得する。

◎選択呼出し側 static final int REQUEST_OPEN_FILE = 1001;private Context context; context = MainActivity.this; intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);intent.setType("text/csv"); //TEXT_CSV file only (←追記)intent.addCategory(Int…

スクロールとレイアウト

Androidの画面をブラウザみたいに上下にスクロール出来るレイアウト指定にする <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> </scrollview>

ImageViewでGifアニメーションを表示 2021.09現在

ImageViewでGifアニメーションを表示は、デフォルトでは出来なかった。 「画像ライブラリGlide」を使うと華麗、綺麗、簡単にImageViewにGifを表示できるとあったので備忘録 ◆gradle(:app)にライブラリインポートを2行追加 implementation 'com.github.bumpte…

入力キーボードを出さない方法

定番おまじない

firebase realtime database の ルール

フルアクセス可能ユーザと自身範囲のみアクセス可能ユーザのルール作成 当然データ構造は考慮が必要。 ルール部 { "rules": { // admin ".read": "auth.token.email == 'adminmail@gmail.com'", // メールアドレス指定可能 ".write": "auth.token.email == '…

Firebase の BOM が理解できるまではあると便利なのかな?

classpath 'com.google.gms:google-services:4.3.3'との組み合わせ Artifacts released on maven.google.com (出典:Google) com.google.android.datatransport:transport-api:2.0.0 com.google.android.datatransport:transport-backend-cct:2.0.0 com.googl…

Firebase real time databaseのデータベースの考え方

仮にRDB上で1つのデータベースに2つのテーブルがあるというイメージは table1 +-----+-----+-----+-----+ |Item1| A | B | C | +-----+-----+-----+-----+ |Item2| D | E | F | +-----+-----+-----+-----+ table2 +-----+-----+-----+ |ItemA| 1 | 2 | +----…

Firebaseのreal time databaseにデータの書き込みとリスナー読み込みをする

概念は後で説明。 行った事の箇条書き ・Googleのサービス一覧からデベロッパー向けを開く < developer.google.com/products >からFirebaseを選ぶ。 ・右上の「コンソールへ移動」をクリック 【プロジェクトを作成】 ・「プロジェクトを追加」をクリックして…

Android 端末の画面Pixサイズ取得

画面のPix数を取得WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE);Display disp = wm.getDefaultDisplay();Point size = new Point();disp.getSize(size);Log.d("Width=", String.valueOf(size.x));Log.d("Height=", String.valueOf(s…

FLASHFORGE ADVENTURER3 導入時

FLASHFORGE ADVENTURER3 導入しました。 開封して無設定でもサクサクと3Dモデルを作れるのは凄いと感心する。 製品とラフトがなかなか取り辛かった「校正距離が近い」と言うのが分かり、ADVENTURER3の「設定」から「工場出荷設定」を実行した後に「校正」で…

LinearLayoutのweightのJava中の動的指定

(要求)LinearLayout中のScrollViewをスマホのサイズに合わせて動的に変更したかった。 (結果) ScrollView sv = (ScrollView)findViewById(R.id.部品ID); LinearLayout.LayoutParams svp = (LinearLayout.LayoutParams) sv.getLayoutParams(); svp.weight…

ImageViewのサイズ変更

ImageViewをスマートフォンの各画面サイズに合わせて調整したいと思った。 ImageViewのプロパティに「setLayoutParams」がある。 ViewGroup.LayoutParams params = imgeView.getLayoutParams(); params.Wifth = 100; params.Hight = 100; imageView.setLayou…

フルスクリーンの指定

最近アプリのフルスクリーン指定が変わったので備忘録。 (1)style.xmiに記述 <style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="android:windowFullscreen">true</item>

端末スリープ状態からの点灯復帰

WakeLockを使う。 使う際はAndroidManifestにパーミッションを記述(よく忘れる) <uses-permission android:name="android.permission.WAKE_LOCK" /> 下をコピペして呼ぶ private void wakeFromSleep() { PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock wakelock = pm.ne</uses-permission>…

バーコードを読む

他の方からの情報ですが自分用に備忘録として残します。 zxingのバーコードでバーコードを読む際に (1)マニフェストに追加はない。 (2)build.grade(Module app)に2行追加 dependencies {~ compile 'com.journeyapps:zxing-android-embedded:3.0.0@aar' comp…

URLのデコード

String ud = "";try { ud = URLDecoder.decode("http%3A%2F%2Fwww.server.com%2Fapi%2Ftoken%2FdJWbOlm1lMm1yx1SY9DMkcnR4ohb4fWcEgDltqMvThuCfjrhGjnwHaXhBMoW","utf-8");} catch (UnsupportedEncodingException e) { e.printStackTrace();}Log.d("URL",ud)…

drawableのバージョンボックスに気をつける

resのdrawableはAndroidStudioでは、バージョン別にxmlを管理できるが見かけ上ナビゲーションバー「Android」では一覧で見えるけど実行時にファイルが無いこともある。 「Project」で見れはバージョン別にxmlが整理して見れるので実行時エラーになる原因を回…

AndroidStudioでプロジェクトの複製を作成する(2018/8版)→firebase対応(2020/9版)

Androidのプロジェクト複製方法が私には難解なので備忘録で記録。 ※Ecripseの際はここにある。 基本はマッシュ様でそれに自分なりの注釈をつけました。 mashmorgan.hatenablog.com (1)複製をつくりたい元プロジェクトのフォルダをどこかにコピペする(backフ…

スレッド勉強中ー3

Handlerの最小構成 Handler handler = new Handler();//(1)Handlerオブジェクト handler.post( //(2)(6)スレッドに(3)をHandlerが受け渡す new Runnable() { //(3)Runnableオブジェクト @Override //(4)記述推奨 public void run() { //(5)Runnableオブジェ…

メルカリ出品備忘録

IDを取得(個人情報未入力) 1500円で本を出品 落札案内がくる (-)150円(10%)手数料 作業指示が表示される 指示通りヤマト運輸営業所に持ち込む IDに対して個人情報の入力を要求されるので入力する 発送用の2次元バーコードが自動生成される (-)65円…

MediaRecorderの解放

MediaRecorder mediarecorder = null; ~ try { mediarecorder = new MediaRecorder(); //マイクからの音声を録音するmediarecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//ファイルへの出力フォーマット DEFAULTにするとwavが扱えるはずmediare…

SQliteのクエリー

SQL文ではなくクエリー(query)を使い全レコードを呼び出す”*”と同等は””を指定。 全レコード対象で処理をする際 moveToFirst() do { 処理 } while (moveToNext()); close();

MediaRecorderで録音した際に最後の1,2秒が途切れる対策

MediaRecorderで普通に作ったつもりが100回中25回程度最後の1,2秒が格納できない事があった。 最終的にバッファ処理など分からないかったので、ボタン押した後の「mediarecorder.stop();」処理をハンドラーで2秒ほど遅らせて対応した。

Android Studio 2.3.3 で SQLiteOpenHelperのClassを作る方法

AndroidStudio2.3.3では「New」→「Java Class」でWebで紹介ある指定とは違うので困った。 Name:クラス名(ファイル名) Kind:Class(初期) SuperClass:「android.database.sqlite.SQLiteOpenHelper」を入力 で[OK]を押す。 これが分からなかった。 後はW…

連続コメント行の作り方

// ここから // 処理1 // 処理2 // ここまで とするが、「//」がおおいと大変なので 間をコメントにするのは /* ここから 処理1 処理2 // */// ここまで 間を生かすには //* ここから 処理1 処理2 // */// ここまで