woshidan's loose leaf

ぼんやり勉強しています

Android

Intentのフラグを使ってスタックの下の方のActivityをクリアする

下記のフラグをつけてstartActivityする。 Intent intent = new Intent(ThirdActivity.this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); サンプルコード https://gis…

回転が難しいというか、3つくらいこけてるとどこでこけてるかわからんね 2

純正のカメラアプリでもPORTRAITだけ対応だったりするので、回転してすぐカメラのプレビューが取れないとかはまあある話なのでは 単一方向で対応してその先はその後考えようか バッファとかの回転のマトリックスは固定値返したりとかあるみたいですね rotate…

回転が難しいというか、3つくらいこけてるとどこでこけてるかわからんね

Previewを表示するSurfaceの大きさは枠はViewのサイズ、画像の大きさはTextureView.setTransformで渡すMatrixで設定(っぽい) CameraSessionから飛んでくる元画像の大きさはSurfaceTexture.setDefaultBufferSize でここでは向きの調整は入れられないっぽい Te…

CameraDevice closeのタイミングとCameraCaptureSession closeのタイミングについて

https://github.com/googlesamples/android-Camera2Basic のサンプルから確認してメモする。 まとめ CameraDevice は CameraDevice.StateCallback のコールバックの中でcloseする onDisconnected と onError の中でclose セマフォのロックを解放しながら処理…

リリースについてのetc.

なんかあったら追加する。 Android ベータ版リリースはクローズドベータで指定したメアドのGoogleアカウントでのみインストール、アップデート可能に ベータ版リリースは2回目以降は 更新に~1h程度かかる 同じVersionCodeのものは出せない その辺はアルファ…

アプリで決めたActivityの向きがLANDSCAPEの時、Camera2のCameraDeviceから受け取るカメラのプレビューの向きがずれる

昨日のImageReaderのメモで プレビューの向きがおかしいのが気になる、という話を書きました。 その件について調べると https://stackoverflow.com/questions/34536798/android-camera2-preview-is-rotated-90deg-while-in-landscape などどうもアプリの画面…

View AnimationとProperty Animationの違いについて

View Animation Animationクラスのサブクラス Viewの見た目の特徴のうち一つをいじるアニメーションのクラス 具体例: TranslateAnimation ScaleAnimation RotateAnimation AlphaAnimation 変化するのはrenderの結果だけで本当の値は変化していない(出典: htt…

ImageReaderクラスを触ってみた

今日はまとめる余裕がないのでこっちにおくんじゃ。 ImageReaderはAPI19で追加された、他のSurface(入力元=カメラなど)から画像を読み取る & 読み取ったコールバックで加工して他の部分へ流す(たとえばBitmapにしてImageViewに渡す)という使い方ができるSurf…

Camera API(カメラ関係の古い方)を使ってみる件

まとめ カメラ撮影中の写ってる範囲を表示している部分はプレビューと呼んで SurfaceView で扱う Camera.setParametersでプレビューの時の画像サイズや、プレビュー後(撮影後)の画像サイズが指定できたはずなのだが、compileSDKVersion 25以上で新規プロジェ…

Error:Could not get unknown property 'compile' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

というエラーメッセージが出てビルドができなくなりました。 Android Studioを起動した時に、build.gradleの文法に修正が入っていたようで、その修正を元に戻したらいけた。 具体的には、 compile'com.android.support:appcompat-v7:22.2.1' compile 'com.pa…

$ANDROID_HOMEってどこさ

環境変数 JAVA_HOMEとANDROID_HOMEと、時々、PATH Android SDKのパスのことで、ここだ。 なお、$NDK_ROOTなどを聞かれた場合は、$ANDROID_HOME/ndk-bundleであることが多い。 sdk$ ls add-ons docs lldb platform-tools sources tools build-tools extras nd…

使い道がよくわからなかったのでScaleDrawableで遊んでみた

楽しい。 FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { int i = new Random(System.currentTimeMillis()).nextInt(8000);…

SwipeRefreshLayoutの中にあるRecyclerViewにLayoutManagerをセットする前にタッチすると落ちる

SwipeRefreshLayoutの中にRecyclerViewのあるFragmentがあって、 データの読み込みを待ってから、Adapterなどをセットしようと考えていたら、 データが読み込まれる前にRecyclerViewの部分をタッチすると落ちてしまっていた。 E/AndroidRuntime: FATAL EXCEP…

RetrofitのファイルDLでハマった話

原因をはっきり検証したわけでなく体感的なメモに近いのですが、対応していて面白かったので、適当に業務に関する部分のコード削りながら、こっちに置きます。 Retrofitの通信処理をバックグラウンドに指定して、InputStream型のレスポンスの処理をメインス…

電池消費量の最適化を読んだ

http://developer.android.com/intl/ja/training/monitoring-device-state/index.html を読んだ雑な感想 開発するアプリの中でホスト端末の状態を監視し、それに基づいて機能や動作を変更することができるようになります 接続が失われたときはバックグラウン…

Improving Layout Performanceを読んだ

http://developer.android.com/intl/ja/training/improving-layouts/index.html を読んだ雑なメモ。 Optimizing Layout Hierarchies http://developer.android.com/intl/ja/training/improving-layouts/optimizing-layout.html 基本的なレイアウトを使うこと…

Keeping Your App Responsiveを読んだ

http://developer.android.com/intl/ja/training/articles/perf-anr.html 上記を読んだ雑なメモ。 システムはアプリケーションが一定以上の時間応答しないとANRダイアローグを出して、そのアプリケーションを閉じるかどうか尋ねて、ユーザーにアプリを閉じる…

それっぽい名前なのに `Theme_Material_Dialog` は普通のダイアローグに使えない(使わない?)

Material Designっぽいのをやりたいと思ってTheme_Material_Dialog, ThemeOverlay_Material_Dialogをスタイルに指定すると 全画面で出てくるぞ! 気をつけろ...

Android Studioをアップデートしたら<interface declaration>,<parcelable declaration>, AidlTokenType.import or AidlTokenType.package expcted got 'wrap_content'

Android Studioをアップデートしたら表題のエラーが出てImageViewのlayout_widthが指定できなくなりました。 世界には他にもこう言う人がいたらしく、下記のStackOverFlowを真似して、File > Invalid Caches / Restart ... したら解決しました。 stackoverfl…

他のアプリと連携したい

BroadcastとBroadcastreceiverとばかり思っていましたが、startActivityでもいけるらしいし、色々あるみたいです。 techbooster.org Starrow Devlog: [Android] intentでカメラアプリを呼び出し画像を取得する android.keicode.com techbooster.jpn.org

Retrofitがタイムアウト

関連しそうなもの qiita.com [Google App Engline for Java]SocketTimeoutExceptionの原因 - PSI Labs https://github.com/square/retrofit/issues/641#issuecomment-60674680 画像アップロートしようとしたら下記のようなエラーで度々止まってひよってる。 …

スクロールしないRecyclerView

参考: stackoverflow.com べんりぃ。 package com.example.woshidan.layouttokkun; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.util.AttributeSet; import android.view.MotionEvent; /** * Created b…

少しbuild.gradleを読んだ。

http://gradle.monochromeroad.com/docs/userguide/application_plugin.html Android Studioで入れた拡張で、コーディングのときに利用するものを使う。 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' http://gradle.monochromer…

Toolbarを置くレイアウト要素にはPaddingを設定しない

ToolbarはAppcompatActivityクラスでゴニョゴニョしてくれるActionBarと違って普通のViewGroupなので、Toolbarを置くレイアウト要素にPaddingを設定すると、Toolbarを画面端の間に隙間が出来てかなり微妙なことになる。 なので、下記のように本来のActivity…

Drawableリソース等のフォルダ別のインポートがうまくできない

Android Studioでうまく画像のリソースのディレクトリの階層化に対応できなかった。 最終的に手動で階層のフォルダを作り、Finderから手で入れた。 すると、Android Studioがそれを読み込んでくれていた。びっくりする。 下記を導入すると楽にこの辺をやって…

リソースファイルが見つからない

res/drawableディレクトリに放り込んだshapeのidがどうしても見つからなくて、登録した覚えのないresourceのidばかり出るからどうしたのか、と思っていたら、本当はcom.exmaple.R(自分のResource用のパッケージ)をインポートするところをandroid.Rをインポー…

com.android.support:appcompat-v7:22.0.1 が見つからない

ほんきで学ぶAndroidアプリ開発入門 Android Studio、Android SDK 5対応作者: 寺園聖文出版社/メーカー: 翔泳社発売日: 2015/07/13メディア: Kindle版この商品を含むブログを見る 上の本に従って勉強を進めよう、と思ったのだけど、build.gradleの下記の場所…

現在インストールされているアプリを取得する

AsyncTaskLoaderについて調べてたのだけど、実装例の現在インストールされているアプリの取得の仕方が面白かったので、貼る。 以下、実装を少し追って見る。 BroadCastReceiverのサブクラス BroadCastReceiverのサブクラスを作る 1のクラス内で、呼び出し元…

Android Studioで非Android Studioのプロジェクトを読み込んだらURI is not registered エラー

第5回の参考資料は講座の資料ではないので、はじめてAndroid studioじゃないプロジェクトだったので、しばらくひよりました。 参考にしたのは、 Why is Android Studio reporting "URI is not registered"?stackoverflow.com The correct directory for the …

ContextMenu周りのクラスについて

第5回分の演習をしていたら、ContextMenuの部分が難しかったので、じっくり読んでみます。 引用元ソース https://github.com/xinyis/android-training/blob/master/assignments/fundamentals/6th/ListViewAssignment/src/jp/mixi/assignment/listview/beg/Ma…