GitHub から AndroidStudio にプロジェクトインポートする手順

 

GitHubアカウントは使わず、forkとかなし。
facebook-android-sdk のサンプルを稼働させるまで。

facebook_facebook-android-sdk

facebook/facebook-android-sdk

 

手順

1. ソースを取得、展開
2. local.properties の作成
3. settings.gradle の作成
4. build.gradle の作成
5. プロジェクトインポート
6. できあがり

順番にやっていく。

続きを読む >>


API11(Honeycomb) 以降で Fragment Transaction#commit() のタイミングが変わる件

 

クラッシュと_ANR_-Play_Developer_Console
Honycomb(API11) 以降で問題のスタックトレース。

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1341)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1352)
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574)

 

なぜExceptionが?

Activity が保存された状態でコミットされて、それのステートの損失が確認された結果です。
onSaveInstanceState()が呼び出されたときに何が起きているのかを見てみましょう。

続きを読む >>


AndroidStudio で 'com.android.tools.build:gradle:0.6.1' の人は「+」にしていいよ

以前、問題があった
「com.android.tools.build:gradle:0.6.2」

やむなく、以下のように記述していましたが。

android studio 0.3.0

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.1'
    }
}

 

「+」な記述にもどしてよいよと。

しれっとアナウンスしています。
続きを読む >>


今どきのUIライブラリサンプルの実装 その2 - ViewPagerIndicator

横スワイプでスライドするページャーに合わせて、下の方で、全ページに対しての現在ページの位置を「横棒」などで示してくれます。

サンプルアプリを公開しています。

ViewPagerIndicator Sample - Google Play の Android アプリ

既存のアイコンやタブ形式など、さまざまなページャーに対して実装が可能になってます。

そんなライブラリです。

screens

JakeWharton/Android-ViewPagerIndicator JakeWharton/Android-ViewPagerIndicator

実装方法は、かんたんです。

続きを読む >>


今どきのUIライブラリサンプルの実装 その1 -「Pull to Refresh」

最近の流行りな「引っ張って更新」。

今どきのUIサンプルライブラリの実装_その1_-「Pull_to_Refresh」

ライブラリはこれを使ってみた。
chrisbanes/ActionBar-PullToRefresh

よくありそうな Activity + ListView の場合でざっくり流れをつかむ。

 

0. implements する

public class ListViewWithEmptyActivity extends Activity
        implements PullToRefreshAttacher.OnRefreshListener {

    private PullToRefreshAttacher mPullToRefreshAttacher;
    ...

 

1. Attacher を取得

mPullToRefreshAttacher = PullToRefreshAttacher.get(this);

 

2. Layout にセット

PullToRefreshLayout ptrLayout = (PullToRefreshLayout) findViewById(R.id.ptr_layout);
ptrLayout.setPullToRefreshAttacher(mPullToRefreshAttacher, this);

 

3. 更新開始処理

@Override
public void onRefreshStarted(View view) {
    ...

 

4. 更新完了処理

mPullToRefreshAttacher.setRefreshComplete();

 

便利。簡単に実装できる。

ざっくりのまま、まとめる。

続きを読む >>