備忘録 〜プログラミング〜

プログラミングに関する事をつらつらと、、

2015-01-01から1年間の記事一覧

adb shell am startでアプリを起動したときにQueryが全て取得出来ない問題

まず、URLからアプリが立ち上がるようにAndroidManifest.xmlに必要事項を追加 <activity android:name="com.hoge.app.IntentReceiverActivity" android:screenOrientation="portrait" > <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> </category></action></intent-filter></activity>

APIからのResponseがJson形式だった場合にMap<String, String>でパースする方法

表題の通りAPIからのResponseがJSON形式だった場合にMap形式でパースがしたくなり調べてみたのでメモしておきます。 API接続とJSONのパースで使用したライブラリは以下の通りとなります。 API接続: Volley JSONのパース: GSON実装はこんな感じになります。 i…

Androidアプリでキャプチャーをされたくないときにする方法

Android 4.4からデバイス画面を直接キャプチャー出来るようになり、コンテンツの保護対応をする必要が出ました。 DeNAが最近リリースしたMirrativというアプリでキャプチャーされないようにしたい場合など有効なtipsになるかと思います。1: キャプチャーした…

setTextSizeにgetDimensionの値を入れても意図したサイズになってくれない問題

コード上でテキストのサイズを指定する必要が出てきたので、このようにテキストサイズを指定してみました。 mTitle.setTextSize(getResource().getDimention(R.dimen.text_size_midium)); ちなみに、R.dimen.text_size_midiumは、dimens.xmlファイル内にこの…

タブレットのみレイアウトを変更する方法

表題の通り、タブレットのみレイアウトや画像を変えたいときした事をメモしておきます。 レイアウト res/layout-sw600dp※参考タブレットとスマートフォンで処理やレイアウトを切り替えるdevlog.au.kddi.com画像 res/drawable-xlarge-mdpi/ (10インチ) res/dr…

SwitchPreferenceでenable、disableを設定したときに文字色を変更する方法

SwitchPreference使用時にenable、disableでtitleの色を変更したくなり、調べてみました。 まず、drawableフォルダにテキストカラーのmycolor.xmlを作成 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android:color="#868686" /> </item></selector>

API 4+ (Android 1.6+)でAsyncTaskのexecuteメソッドを使用しても並列処理にならない現象

動画をダウンロード出来るアプリ開発時に、AsyncTaskを使用して並列処理をしようと思ったのですが、HoneyCombo(API 11)以上の端末では2つめ以降のtaskが開始されないという現象が起きました。 問題は、executeメソッドで、HoneyCombo ( API 11 )以上はexecut…

NetworkImageView使用時のreload方法

NetworkImageViewを使用しているときに、通信エラーなどで画像が表示されなかった場合、Error画像を出すように実装していたのですが、リロードをしても、Error画像が消えずに残ってしまう現象が起きました。 setImageUrl(url, mImageLoader)メソッドを呼ぶだ…

Androidのスクリーンショットを撮るシェルスクリプト

キャプチャーを撮るのはAndroidStudioでも簡単に出来るのですが、シェルスクリプトでキャプチャーを撮るほうが楽な場合もあったのでメモ。 #!/bin/bash DATE=`date +"%Y-%m-%d-%H-%M-%S"` FILENAME="s-${DATE}.png" echo "capturing ${FILENAME}..." adb she…

adb logcatでint logctl_get(): open '/dev/hwlog_switch' fail -1, 13. Permission deniedが出る問題

HUAWEI MT7-J1でログを出力しようと思ったときにlogctl_get()がPermission deniedで出力が出来ない問題が発生しました。 問題解決は簡単で、 1:電話を起動 2:[ *#*#2846579#*#* ]をダイアル 3:メニューが出てくるので、"ProjectMenu" -> "Background Sett…

AndroidでMapをソートしたくなったので作成したクラス

Listのソートは分かったのですが、Mapクラスのソートがしたくなったので、stackoverflowを参考に作成しました。 そのときのメモ import java.util.Collections; import java.util.Comparator; import java.util.LinkedHashMap; import java.util.LinkedList;…

ListViewと、ScrollView使用時にスクロールの移動距離を取得する方法

下にスクロール時にヘッダーメニューを隠して、上にスクロール時にヘッダーメニューを表示する機能を実装する必要があったのですが、ListViewで移動距離を取得する方法が分からなくて調べてみました。 ScrollViewのほうも作ってみたので、まずはScrollViewの…

ViewPagerを使用するときにwrap_contentを適応する方法

ViewPagerを使用しているとき、高さを画像に合わせようと思ったのですが、実際に使用してみると画像が小さくなってしまいます。 なので、高さを(120dp)などとして固定で使用していたのですが、やはりwrap_contentを使いたい。という事で調べてみたところ、…

コード上で高さを数値で設定するときに、デバイス毎に高さが変わってしまう問題

コード上で動的に高さを変更する必要が出てきたのですが、以下のように設定しても、デバイス毎に高さが変わってしまいます。 final ScrollView scrollView = (ScrollView) view.findViewById(R.id.scroll_view); RelativeLayout.LayoutParams lp = new Relat…

Gsonでjsonをパースするときに出るExpected begin_array but was begin_objectエラー

サーバー:PHP フロント:Android 使用ライブラリ:Gson上記環境で、APIの取得をしたとき、Gsonでパースエラーが出て何とか解決したのでメモしておきます。 PHP側から取得するJSON { "event":true, "data":{ "rankings":[ { "title":"SampleTitle", "image_u…

Android Studioでファイルを作成したときに表示されるCreated Byを変更する

クラスを作成したときに自動生成されるHeader部分の「Created by...」以降を任意の名前になるように変更したのでメモしておきます。 Navigation部分から、 Android Studio > Preferences... > File and Code Templates > Includes > File Headerここまでいく…

Eclipse使用時に、Android Support Libraryをダウングレードする方法

Android SDK ManagerでAndroid Support Libraryを21.0.3から、22に上げたとき、 MediaRouteControllerDialogのsetVolumeControlEnabledがundefinedになる問題が発生しました。 あと、Chromecastのダイアログ表示が若干変わってしまったという事もあり、21.0.…

git diffでvimdiffを使用しているときに、途中で終了する方法

git

以前、git diffでvimdiffを使用する方法を書きました。 git diffをvimdiffで見れるように設定する - 備忘録 〜プログラミング〜 git diffをvimdiffで見れるように設定する - 備忘録 〜プログラミング〜 ファイル数が少ない場合は、この方法で問題なかったの…

AndroidプロジェクトをRepoでリポジトリ管理するときに作成する、マニフェストファイルについて

repoの詳しい使い方は、こちらを参考にさせてもらいました。git管理ツールRepoを入れてみよう - Qiita このrepoを使用するときにマニフェストファイルを作成する事になるのですが、 どのように作成すれば良いか分からず色々調べてみたので、詳細をメモしてお…

AndroidStudioでRunしたときもSignedAPKを使いたい

先日、Android開発環境をeclipseからAndroidStudioに変更しました。 移行は何とか無事に完了したのですが、リリース済みのアプリをインストールした実機でRunをすると、 Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]このようなエラーが出て一…

gitでremoteにあるtag一覧を確認する

git

アプリをリリースするとき、アプリのバージョン毎に、tagをつけて管理しています。 いつものように $ git tag release_1_3_1 $ git push —tagsこのようにタグをつけて、リモートにプッシュしていたのですが、ふとローカルにあるtag一覧はどうやって確認する…

Android Studioでjniで使用するsoファイルが見つからず、UnsatisfiedLinkErrorが出る問題

ライブラリプロジェクト内で.soを使用していたのですが、android studioではうまくロードが出来ずに、 java.lang.UnsatisfiedLinkError: Couldn't load PQAMakerJNI from loader dalvik.system.PathClassLoader: findLibrary returned null at java.lang.Run…

DialogFragment表示時に出た、java.lang.IllegalStateException

DialogFragmentを継承した独自クラスを作成し、ボタンをタップしたときにshowメソッドでdialogを表示させる実装をしていたのですが、ボタンをタップしてすぐにViewの切り替えを行ったとき、 Error Can not perform this action after onSaveInstanceStateこ…

AndroidStudioに移行したとき、アプリアイコンの@drawable/iconでエラーが出る

AndroidStudioに移行したとき、アプリのアイコンを設定している場所で以下のようなエラーが出ました。 Manifest merger failed with multiple errors こちら、回避するためには、AndroidManifestのapplicationタグに tools:replace="android:icon,android:th…

Android Studioでライブラリプロジェクトを管理する方法

EclipseからAndroid Studioに移行する事になったのですが、ライブラリプロジェクトをどう管理するのか分からなかったので、調べてみました。 1:Androidプロジェクトを作成する(例としてHelloWorldプロジェクトを作成) 2:以下がオリジナルプロジェクト…

Toastが重複して出てしまう問題

Click時にToastを出すなどの処理をしていたとき、何度もClickすると、押した分だけToastが出てしまいます。 なので、Click時にToastが出ているかを確認して、出ていればCancel処理を追加。 こんな感じ private static Toast mToast; public void showToast()…

ListViewに透過pngを設定したImageButtonを配置したときの問題

表題の通り、ListViewに透過pngを設定したImageButtonを配置したとき一つ問題が出たのでメモ。 普通に配置した上では、何の問題もないのですが、 タップ時に色が変わったとき、その透過部分の色が変わらない問題が出ます。 これを回避するためには、このよう…

adb devicesでデバイスの検出がされない

android端末、LGL24で検証をしようと思い、いつものように開発者モードにしてUSBでmacに接続したのですが、デバイスが検出されませんでした。 色々調べて、たどり着いたstack overflow。 いつもなら、開発者モードをオンにするだけで検出されるんですけど、…

ScrollView内にListViewを設定すると高さが、一行分の高さになってしまう問題

ScrollViewの中にListViewを入れたとき、ListViewの高さを内容により変えたいときに実装した方法をメモしておきます。 普通に実装すると、一行分の高さにしかならないのですが、全ての行の高さを取得して、その高さをListViewに設定してやります。 こんな感…

LinearLayoutのOrientationをコード上で変更する

簡単な事なのですが、忘れがちなのでメモ。 xml上では、こちら。 android:orientation="horizontal" コード上では、こちら。 LinearLayout sample = new LinearLayout(this); sample.setOrientation(LinearLayout.HORIZONTAL); LinearLayout.LayoutParamを使…