SwipeRefreshLayoutのsetRefreshing(true)が効かない場合の対処

Posted on Sat 14 November 2015 in Android • Tagged with Android

SwipeRefreshLayoutのsetRefreshing(true)は、onMeasure()が呼ばれるまでは有効にならないみたいです。

参考:https://code.google.com/p/android/issues/detail?id=77712

このような場合、SwipeRefreshLayoutを継承して下記のようにsetRefreshingが呼ばれた時の引数の値を覚えておいて、onMesure()のタイミングでsetRefreshing()をもう一回読んであげると良いようです。

// MySwipeRefreshLayout.java  
public class MySwipeRefreshLayout extends SwipeRefreshLayout {  
  private boolean mMeasured = false;
  private boolean mPreMeasureRefreshing = false;

  public MySwipeRefreshLayout(Context context) {  
    super(context);  
  }

  public MySwipeRefreshLayout(Context context, AttributeSet attrs) {  
    super(context …

Continue reading

Android Studioで作成したプロジェクトをJenkinsでビルドする

Posted on Sat 18 May 2013 in Android

AndroidStudioのプロジェクトはgradleベースなので簡単にJenkinsでビルドすることができます。
以下、ビルドするために行った手順です。

Android SDKをインストールする

[Jenkinsの管理]->[システムの設定]で環境変数$ANDROID_HOEMを追加して、値にAndroid SDKをインストールしたディレクトリへのパスを入力する

Android Studioで作成したプロジェクトをgit等に追加する

Jenkinsの設定

[Jenkinsの管理]->[プラグインの管理]からJenkins Gradle pluginをインストールする。
[Jenkinsの管理]->[システムの設定]->[Gradle]
Gradle追加ボタンを押して、下記のように選択する

  • name : Gradle 1.6
  • 自動インストール : チェックあり
  • インストーラの追加:Install from Gradle.org
  • バージョン : Gradle 1.6

Jenkins ジョブの作成

ジョブの設定から[ビルド]->[ビルド手順の追加]を押してInvoke Gradlescriptを選択する。
Invoke …


Continue reading

Androidアプリを複数のプロジェクトに分割して開発する時の設定

Posted on Mon 01 October 2012 in Android

eclipseのプロジェクトのプロパティから「Java Build Path」や「Project References」を設定してみたら、ビルドは通るが実行時にClassNotFoundExceptionが出て上手くいかなかった。

正しくは、プロジェクトのプロパティの「Android」を選んでLibraryの設定をするようだ。

  • 呼び出される側のプロジェクトはIs Libraryにチェックを入れる。
  • 呼び出す側のプロジェクトはAddから呼び出すプロジェクトを選択する。

また、AndroidManifest.xmlに呼び出す側のActivityなりServiceなりを下記のように書いておく必要がある。

・・・
<service android:name="key0note.GoogleReaderWidget.GoogleReaderWidgetDataService" />
・・・

参考リンク

http://tmpla.info/archives/1211


TI-Android-Froyo-DevKit-V2.2のビルドでinternal_install_SDK.expが見つからないとエラーが出るときの対処

Posted on Mon 06 June 2011 in Android

./internal_install_SDK.exp: コマンドが見つかりませんでした

とエラーがでる場合は次のようにして、expectパッケージをインストールする。

sudo apt-get install expect